The LG SW43408 panel is used on Google Pixel3 devices. For a long time we could not submit the driver, as the panel was not coming up from the reset. The panel seems to be picky about some of the delays during init and it also uses non-standard payload for MIPI_DSI_COMPRESSION_MODE. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- Changes in v3: - Fixed return type of MIPI DSC functions - Replaced mipi_dsi_compression_mode_raw() with mipi_dsi_compression_mode_ext() (Marijn) - Link to v2: https://lore.kernel.org/r/20240330-lg-sw43408-panel-v2-0-293a58717b38@xxxxxxxxxx Changes in v2: - Removed formatting char from schema (Krzysztof) - Moved additionalProperties after required (Krzysztof) - Added example to the schema (Krzysztof) - Removed obsolete comment in the commit message (Marijn) - Moved DSC params to the panel struct (Marijn) - Changed dsc_en to be an array (Marijn) - Added comment regiarding slice_width and slice_count (Marijn) - Link to v1: https://lore.kernel.org/r/20240330-lg-sw43408-panel-v1-0-f5580fc9f2da@xxxxxxxxxx --- Dmitry Baryshkov (2): drm/mipi-dsi: use correct return type for the DSC functions drm/mipi-dsi: add mipi_dsi_compression_mode_ext() Sumit Semwal (2): dt-bindings: panel: Add LG SW43408 MIPI-DSI panel drm: panel: Add LG sw43408 panel driver .../bindings/display/panel/lg,sw43408.yaml | 62 ++++ MAINTAINERS | 8 + drivers/gpu/drm/drm_mipi_dsi.c | 37 ++- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-lg-sw43408.c | 326 +++++++++++++++++++++ include/drm/drm_mipi_dsi.h | 15 +- 7 files changed, 449 insertions(+), 11 deletions(-) --- base-commit: a6bd6c9333397f5a0e2667d4d82fef8c970108f2 change-id: 20240330-lg-sw43408-panel-b552f411c53e Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>