On Thu, Nov 3, 2022 at 9:56 PM Marek Vasut <marex@xxxxxxx> wrote: > > On 11/3/22 10:39, Jagan Teki wrote: > > On Sun, Oct 16, 2022 at 3:31 AM Marek Vasut <marex@xxxxxxx> wrote: > >> > >> On 10/5/22 17:13, Jagan Teki wrote: > >> > >> [...] > >> > >>> @@ -1321,6 +1322,32 @@ static void samsung_dsim_atomic_post_disable(struct drm_bridge *bridge, > >>> pm_runtime_put_sync(dsi->dev); > >>> } > >>> > >>> +#define MAX_INPUT_SEL_FORMATS 1 > >>> + > >>> +static u32 * > >>> +samsung_dsim_atomic_get_input_bus_fmts(struct drm_bridge *bridge, > >>> + struct drm_bridge_state *bridge_state, > >>> + struct drm_crtc_state *crtc_state, > >>> + struct drm_connector_state *conn_state, > >>> + u32 output_fmt, > >>> + unsigned int *num_input_fmts) > >>> +{ > >>> + u32 *input_fmts; > >>> + > >>> + *num_input_fmts = 0; > >>> + > >>> + input_fmts = kcalloc(MAX_INPUT_SEL_FORMATS, sizeof(*input_fmts), > >>> + GFP_KERNEL); > >>> + if (!input_fmts) > >>> + return NULL; > >>> + > >>> + /* This is the DSI-end bus format */ > >>> + input_fmts[0] = MEDIA_BUS_FMT_RGB888_1X24; > >>> + *num_input_fmts = 1; > >> > >> Is this the only supported format ? NXP AN13573 lists the following: > >> > >> i.MX 8/RT MIPI DSI/CSI-2, Rev. 0, 21 March 2022 > >> 3.7.4 Pixel formats > >> Table 14. DSI pixel packing formats > >> > >> Loosely Packed Pixel Stream, 20-bit YCbCr, 4:2:2 > >> Packed Pixel Stream, 24-bit YCbCr, 4:2:2 > >> Packed Pixel Stream, 16-bit YCbCr, 4:2:2 > > > > Look like these are unsupported in media-bus-format.h list. > > Aren't those: > > MEDIA_BUS_FMT_UYVY12_1X24 Why is UYVY12 - YCbCr, 4:2:2 is 4+2+2 = 8 then it has UYVY8 ? > MEDIA_BUS_FMT_UYVY8_1X16 If YCbCr is UYVY (I still don't get this notation, sorry) then Packed Pixel Stream, 24-bit YCbCr, 4:2:2 with 2 Pixels per packet from Table 14 can be MEDIA_BUS_FMT_UYVY8_2X24 (YCbCr 4:2:2 is UYVY8) " based on a reference example from media bus format doc 4.13.3.4.1.1.3. Packed YUV Formats, For instance, a format where pixels are encoded as 8-bit YUV values downsampled to 4:2:2 and transferred as 2 8-bit bus samples per pixel in the U, Y, V, Y order will be named MEDIA_BUS_FMT_UYVY8_2X8." https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/subdev-formats.html _2X24 here 2 Pixels per packet is the exact packets to consider or we can consider 1 Pixel per packet also. If later is true then _1X24 from your notation is correct. Thanks, Jagan.