@@ -330,7 +330,7 @@ struct csi_state {
struct mutex lock; /* Protect csis_fmt, format_mbus and state */
const struct csis_pix_format *csis_fmt;
- struct v4l2_mbus_framefmt format_mbus;
+ struct v4l2_mbus_framefmt format_mbus[CSIS_PADS_NUM];
u32 state;
spinlock_t slock; /* Protect events */
@@ -535,7 +535,7 @@ static void mipi_csis_system_enable(struct csi_state *state, int on)
/* Called with the state.lock mutex held */
static void __mipi_csis_set_format(struct csi_state *state)
{
- struct v4l2_mbus_framefmt *mf = &state->format_mbus;
+ struct v4l2_mbus_framefmt *mf = &state->format_mbus[CSIS_PAD_SINK];
u32 val;
/* Color format */
@@ -967,7 +967,7 @@ mipi_csis_get_format(struct csi_state *state,
if (which == V4L2_SUBDEV_FORMAT_TRY)
return v4l2_subdev_get_try_format(&state->sd, sd_state, pad);
- return &state->format_mbus;
+ return &state->format_mbus[pad];
}
static int mipi_csis_init_cfg(struct v4l2_subdev *sd,
As the formats on the sink and source pad might be different store them separately. The pad format is used to configure the image width and height in mipi_csis_system_enable(). As the csis cannot downscale, using the sink or the source one isn't relevant. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- Hans, this comes as a late fix for pull request [GIT PULL FOR v5.18] De-stage imx7-mipi-csis & some fixes I'm sorry if this arrives a bit late, but I only realized when I exercized RGB24 today. Can this be collected together with the above pull request ? Thanks j --- drivers/media/platform/imx/imx-mipi-csis.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.35.0