diff options
author | Patrick Boettcher <pb@linuxtv.org> | 2005-07-07 17:57:49 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-07 18:23:56 -0700 |
commit | 64221be7b9006338e4a45228f013e467ee4bf045 (patch) | |
tree | acf137799c31c966f6d8083aee39c27f331905ab /drivers/media/dvb/b2c2/flexcop_ibi_value_be.h | |
parent | 2819639b5630cd26d399ee0481be9a752280cf4d (diff) | |
download | op-kernel-dev-64221be7b9006338e4a45228f013e467ee4bf045.zip op-kernel-dev-64221be7b9006338e4a45228f013e467ee4bf045.tar.gz |
[PATCH] dvb: flexcop: woraround irq stop problem
The flexcop chip often stops generating interrupts after some hours of
operation. Apparently this can be fixed by resetting register block 0x300 at
each channel change (this is not detailed in the flexcop data books).
This patch also restructures DMA handling and adds a bit of debug code for the
irq problem in case it still happens for someone.
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/media/dvb/b2c2/flexcop_ibi_value_be.h')
-rw-r--r-- | drivers/media/dvb/b2c2/flexcop_ibi_value_be.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/dvb/b2c2/flexcop_ibi_value_be.h b/drivers/media/dvb/b2c2/flexcop_ibi_value_be.h index bf3cb5a..ed9a675 100644 --- a/drivers/media/dvb/b2c2/flexcop_ibi_value_be.h +++ b/drivers/media/dvb/b2c2/flexcop_ibi_value_be.h @@ -152,7 +152,14 @@ typedef union { struct { u32 Special_controls :16; u32 Block_reset_enable : 8; - u32 reset_blocks : 8; + u32 reset_block_700 : 1; + u32 reset_block_600 : 1; + u32 reset_block_500 : 1; + u32 reset_block_400 : 1; + u32 reset_block_300 : 1; + u32 reset_block_200 : 1; + u32 reset_block_100 : 1; + u32 reset_block_000 : 1; } sw_reset_210; struct { |