Message ID | 20230211205534.493789-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE | expand |
Hi Hans, Gentle ping on this patch. On 2023-02-11 21:55:34 +0100, Niklas Söderlund wrote: > When adding proper support for V4L2_FIELD_ALTERNATE it was missed that > this field format should trigger an interrupt for each field, not just > for the whole frame. Fix this by marking it as progressive in the > capture setup, which will then select the correct interrupt mode. > > Tested on both Gen2 and Gen3 with the result of a doubling of the frame > rate for V4L2_FIELD_ALTERNATE. From a PAL video source the frame rate is > now 50, which is expected for alternate field capture. > > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> > --- > drivers/media/platform/renesas/rcar-vin/rcar-dma.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c > index 23598e22adc7..2a77353f10b5 100644 > --- a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c > +++ b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c > @@ -728,12 +728,10 @@ static int rvin_setup(struct rvin_dev *vin) > case V4L2_FIELD_SEQ_TB: > case V4L2_FIELD_SEQ_BT: > case V4L2_FIELD_NONE: > + case V4L2_FIELD_ALTERNATE: > vnmc = VNMC_IM_ODD_EVEN; > progressive = true; > break; > - case V4L2_FIELD_ALTERNATE: > - vnmc = VNMC_IM_ODD_EVEN; > - break; > default: > vnmc = VNMC_IM_ODD; > break; > -- > 2.39.1 >
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c index 23598e22adc7..2a77353f10b5 100644 --- a/drivers/media/platform/renesas/rcar-vin/rcar-dma.c +++ b/drivers/media/platform/renesas/rcar-vin/rcar-dma.c @@ -728,12 +728,10 @@ static int rvin_setup(struct rvin_dev *vin) case V4L2_FIELD_SEQ_TB: case V4L2_FIELD_SEQ_BT: case V4L2_FIELD_NONE: + case V4L2_FIELD_ALTERNATE: vnmc = VNMC_IM_ODD_EVEN; progressive = true; break; - case V4L2_FIELD_ALTERNATE: - vnmc = VNMC_IM_ODD_EVEN; - break; default: vnmc = VNMC_IM_ODD; break;
When adding proper support for V4L2_FIELD_ALTERNATE it was missed that this field format should trigger an interrupt for each field, not just for the whole frame. Fix this by marking it as progressive in the capture setup, which will then select the correct interrupt mode. Tested on both Gen2 and Gen3 with the result of a doubling of the frame rate for V4L2_FIELD_ALTERNATE. From a PAL video source the frame rate is now 50, which is expected for alternate field capture. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> --- drivers/media/platform/renesas/rcar-vin/rcar-dma.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)