diff options
| author | Changhuang Liang <changhuang.liang@starfivetech.com> | 2024-08-20 04:20:02 -0700 |
|---|---|---|
| committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2024-08-25 01:42:01 +0300 |
| commit | b5dec48c2b85e6150b50fa22b181e6396c769c76 (patch) | |
| tree | 31875220bd99f084b761ae341656c901f93ee8f5 /drivers/staging | |
| parent | 6c573f259ab35ccd078467b125287d2d72068f0b (diff) | |
staging: media: starfive: Add the dynamic resolution support
Add the dynamic resolution support for video "capture_raw" device.
Otherwise it will capture the wrong image data if the width is
not 1920.
Fixes: e080f339c80a ("media: staging: media: starfive: camss: Add capture driver")
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20240820112002.560432-1-changhuang.liang@starfivetech.com
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'drivers/staging')
| -rw-r--r-- | drivers/staging/media/starfive/camss/stf-capture.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/staging/media/starfive/camss/stf-capture.c b/drivers/staging/media/starfive/camss/stf-capture.c index ec5169e7b391..e15d2e97eb0b 100644 --- a/drivers/staging/media/starfive/camss/stf-capture.c +++ b/drivers/staging/media/starfive/camss/stf-capture.c @@ -180,6 +180,8 @@ static void stf_channel_set(struct stfcamss_video *video) u32 val; if (cap->type == STF_CAPTURE_RAW) { + const struct v4l2_pix_format *pix = &video->active_fmt.fmt.pix; + val = stf_syscon_reg_read(stfcamss, VIN_CHANNEL_SEL_EN); val &= ~U0_VIN_CHANNEL_SEL_MASK; val |= CHANNEL(0); @@ -193,7 +195,7 @@ static void stf_channel_set(struct stfcamss_video *video) val |= PIXEL_HEIGH_BIT_SEL(0); val &= ~U0_VIN_PIX_CNT_END_MASK; - val |= PIX_CNT_END(IMAGE_MAX_WIDTH / 4 - 1); + val |= PIX_CNT_END(pix->width / 4 - 1); stf_syscon_reg_write(stfcamss, VIN_INRT_PIX_CFG, val); } else if (cap->type == STF_CAPTURE_YUV) { |
