diff options
author | Marko Ristola <marko.ristola@kolumbus.fi> | 2010-08-07 07:16:15 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-09-25 07:43:06 -0400 |
commit | 79d06d4dff733ee472e1f8933a33317a18195c0c (patch) | |
tree | dfede2845ccd5d1505e5fd5f60a0ad92be4e64a2 /drivers/media/dvb/mantis/mantis_cards.c | |
parent | fa0d11873943b29d6c8f57a7d54f77d0439acfd9 (diff) |
[media] Refactor Mantis DMA transfer to deliver 16Kb TS data per interrupt
With VDR streaming HDTV into network, generating an interrupt once per 16kb,
implemented in this patch, seems to support more robust throughput with HDTV.
Fix leaking almost 64kb data from the previous TS after changing the TS.
One effect of the old version was, that the DMA transfer and driver's
DMA buffer access might happen at the same time - a race condition.
Signed-off-by: Marko M. Ristola <marko.ristola@kolumbus.fi>
Reviewed-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/mantis/mantis_cards.c')
-rw-r--r-- | drivers/media/dvb/mantis/mantis_cards.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/dvb/mantis/mantis_cards.c b/drivers/media/dvb/mantis/mantis_cards.c index e6c8368782e0..c2bb90b3e529 100644 --- a/drivers/media/dvb/mantis/mantis_cards.c +++ b/drivers/media/dvb/mantis/mantis_cards.c | |||
@@ -134,7 +134,7 @@ static irqreturn_t mantis_irq_handler(int irq, void *dev_id) | |||
134 | } | 134 | } |
135 | if (stat & MANTIS_INT_RISCI) { | 135 | if (stat & MANTIS_INT_RISCI) { |
136 | dprintk(MANTIS_DEBUG, 0, "<%s>", label[8]); | 136 | dprintk(MANTIS_DEBUG, 0, "<%s>", label[8]); |
137 | mantis->finished_block = (stat & MANTIS_INT_RISCSTAT) >> 28; | 137 | mantis->busy_block = (stat & MANTIS_INT_RISCSTAT) >> 28; |
138 | tasklet_schedule(&mantis->tasklet); | 138 | tasklet_schedule(&mantis->tasklet); |
139 | } | 139 | } |
140 | if (stat & MANTIS_INT_I2CDONE) { | 140 | if (stat & MANTIS_INT_I2CDONE) { |