diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-08-18 14:48:42 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:05:37 -0400 |
commit | e17a06badaedba89fad989eed409661c89a22e04 (patch) | |
tree | f24043bfa94678b8b0d09aa906ecab1974c365d0 /drivers/media/video/ivtv/ivtv-streams.c | |
parent | 51a99c0428cc6d3a442eef1c9046099c9383d72b (diff) |
V4L/DVB (6050): ivtv: retry/timer improvements
- Give up frame after three retries.
- When the last capture/decode ends, make sure to delete the dma_timer.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-streams.c')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-streams.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/video/ivtv/ivtv-streams.c b/drivers/media/video/ivtv/ivtv-streams.c index 4272fbc0bc8b..2e632014c90d 100644 --- a/drivers/media/video/ivtv/ivtv-streams.c +++ b/drivers/media/video/ivtv/ivtv-streams.c | |||
@@ -816,6 +816,7 @@ int ivtv_stop_v4l2_encode_stream(struct ivtv_stream *s, int gop_end) | |||
816 | 816 | ||
817 | /* Set the following Interrupt mask bits for capture */ | 817 | /* Set the following Interrupt mask bits for capture */ |
818 | ivtv_set_irq_mask(itv, IVTV_IRQ_MASK_CAPTURE); | 818 | ivtv_set_irq_mask(itv, IVTV_IRQ_MASK_CAPTURE); |
819 | del_timer(&itv->dma_timer); | ||
819 | 820 | ||
820 | /* event notification (off) */ | 821 | /* event notification (off) */ |
821 | if (test_and_clear_bit(IVTV_F_I_DIG_RST, &itv->i_flags)) { | 822 | if (test_and_clear_bit(IVTV_F_I_DIG_RST, &itv->i_flags)) { |
@@ -873,6 +874,7 @@ int ivtv_stop_v4l2_decode_stream(struct ivtv_stream *s, int flags, u64 pts) | |||
873 | ivtv_vapi(itv, CX2341X_DEC_SET_EVENT_NOTIFICATION, 4, 0, 0, IVTV_IRQ_DEC_AUD_MODE_CHG, -1); | 874 | ivtv_vapi(itv, CX2341X_DEC_SET_EVENT_NOTIFICATION, 4, 0, 0, IVTV_IRQ_DEC_AUD_MODE_CHG, -1); |
874 | 875 | ||
875 | ivtv_set_irq_mask(itv, IVTV_IRQ_MASK_DECODE); | 876 | ivtv_set_irq_mask(itv, IVTV_IRQ_MASK_DECODE); |
877 | del_timer(&itv->dma_timer); | ||
876 | 878 | ||
877 | clear_bit(IVTV_F_S_NEEDS_DATA, &s->s_flags); | 879 | clear_bit(IVTV_F_S_NEEDS_DATA, &s->s_flags); |
878 | clear_bit(IVTV_F_S_STREAMING, &s->s_flags); | 880 | clear_bit(IVTV_F_S_STREAMING, &s->s_flags); |