Hi Kieran, Thanks for your feedback. On 2021-11-24 22:45:17 +0000, Kieran Bingham wrote: > Quoting Niklas Söderlund (2021-11-23 15:54:43) > > Before reading which slot was captured to by examining the module status > > (VnMS) register, make sure something was captured at all by examining > > the interrupt status register (VnINTS). > > > > Failing this a buffer maybe completed before it was captured too. > > > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > > --- > > drivers/media/platform/rcar-vin/rcar-dma.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/drivers/media/platform/rcar-vin/rcar-dma.c b/drivers/media/platform/rcar-vin/rcar-dma.c > > index 25ead9333d0046e7..87ccbdc3d11a0f2d 100644 > > --- a/drivers/media/platform/rcar-vin/rcar-dma.c > > +++ b/drivers/media/platform/rcar-vin/rcar-dma.c > > @@ -111,6 +111,9 @@ > > #define VNIE_FIE (1 << 4) > > #define VNIE_EFE (1 << 1) > > > > +/* Video n Interrupt Status Register bits */ > > +#define VNINTS_FIS (1 << 4) > > + > > /* Video n Data Mode Register bits */ > > #define VNDMR_A8BIT(n) (((n) & 0xff) << 24) > > #define VNDMR_A8BIT_MASK (0xff << 24) > > @@ -1005,6 +1008,10 @@ static irqreturn_t rvin_irq(int irq, void *data) > > rvin_ack_interrupt(vin); > > handled = 1; > > > > + /* Nothing to do if nothing was captured. */ > > + if (!(int_status & VNINTS_FIS)) > > Does this deserve a warning or debug print? It sounds like it may be > somewhat spurious or unexpected if it occurs? I don't think so. One can enable more interrupts then the ones we do today, for example during debugging capture issues. This check just make sure we don't try to process a capture if the interrupt is not related to capture ;-) > > -- > Kieran > > > > + goto done; > > + > > /* Nothing to do if capture status is 'STOPPED' */ > > if (vin->state == STOPPED) { > > vin_dbg(vin, "IRQ while state stopped\n"); > > -- > > 2.34.0 > > -- Kind Regards, Niklas Söderlund