Re: [PATCH 06/11] media: exynos4-is: Properly set JPEG options when not using CSIS

From: Tomasz Figa
Date: Tue Jul 07 2020 - 14:23:28 EST


Hi Jonathan,

On Sat, Apr 25, 2020 at 07:26:45PM -0700, Jonathan Bakker wrote:
> Commit ee7160e57c98 ("[media] s5p-fimc: Add support for JPEG capture")
> added support for JPEG capture, but missed setting a register when the
> CSIS device wasn't in use.

nit: Since this isn't really about using the CSIS device or not, but
rather about the interface that the sensor is connected with, could we
instead say "when a parallel interface is used"?

>
> Signed-off-by: Jonathan Bakker <xc-racer2@xxxxxxx>
> ---
> drivers/media/platform/exynos4-is/fimc-reg.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/media/platform/exynos4-is/fimc-reg.c b/drivers/media/platform/exynos4-is/fimc-reg.c
> index 5ce2bdebd424..269a98fca1e8 100644
> --- a/drivers/media/platform/exynos4-is/fimc-reg.c
> +++ b/drivers/media/platform/exynos4-is/fimc-reg.c
> @@ -606,6 +606,11 @@ int fimc_hw_set_camera_source(struct fimc_dev *fimc,
> switch (source->fimc_bus_type) {
> case FIMC_BUS_TYPE_ITU_601:
> case FIMC_BUS_TYPE_ITU_656:
> + if (fimc_fmt_is_user_defined(f->fmt->color)) {
> + cfg |= FIMC_REG_CISRCFMT_ITU601_8BIT;
> + break;
> + }
> +
> for (i = 0; i < ARRAY_SIZE(pix_desc); i++) {
> if (vc->ci_fmt.code == pix_desc[i].pixelcode) {
> cfg = pix_desc[i].cisrcfmt;
> @@ -707,6 +712,8 @@ int fimc_hw_set_camera_type(struct fimc_dev *fimc,
> case FIMC_BUS_TYPE_ITU_601...FIMC_BUS_TYPE_ITU_656:
> if (source->mux_id == 0) /* ITU-A, ITU-B: 0, 1 */
> cfg |= FIMC_REG_CIGCTRL_SELCAM_ITU_A;
> + if (vid_cap->ci_fmt.code == MEDIA_BUS_FMT_JPEG_1X8)
> + cfg |= FIMC_REG_CIGCTRL_CAM_JPEG;

Should we also handle MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8 as in the CSI
case? The S5C73M3 sensor supports the parallel interface as well.

Best regards,
Tomasz