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 v5: - Mention 60 Hz in the commit message (Marijn) - Fix the comment regarding the panel being DSC-only (Marijn) - Link to v4: https://lore.kernel.org/r/20240403-lg-sw43408-panel-v4-0-a386d5d3b0c6@xxxxxxxxxx Changes in v4: - Fix order of mipi_dsi_compression_mode_ext() args (Marijn) - Expanded kerneldoc coments for this function (Marijn) - And added arguments validation (Marijn) - In the panel driver send the COMPRESSION_MODE in LPM mode like it was done originally - Expanded the .clock maths to show the reason behind the value (Marijn) - Moved the mode out of the match data (Marijn) - Link to v3: https://lore.kernel.org/r/20240402-lg-sw43408-panel-v3-0-144f17a11a56@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 | 45 ++- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-lg-sw43408.c | 323 +++++++++++++++++++++ include/drm/drm_mipi_dsi.h | 15 +- 7 files changed, 453 insertions(+), 12 deletions(-) --- base-commit: a6bd6c9333397f5a0e2667d4d82fef8c970108f2 change-id: 20240330-lg-sw43408-panel-b552f411c53e Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>