DSI 6G v2.5.x+ and DPU support a data-bus widen mode that allows DSI to send 48 bits of compressed data per pclk instead of 24. For all chipsets that support this mode, enable it whenever DSC is enabled as recommended by the hardware programming guide. Only enable this for command mode as we are currently unable to validate widebus for video mode. Depends on: "drm/msm/dpu: Drop encoder vsync_event" [1] Note: The dsi.xml.h changes were generated using the headergen2 script in envytools [2], but the changes to the copyright and rules-ng-ng source file paths were dropped. [1] https://patchwork.freedesktop.org/series/121742/ [2] https://github.com/freedreno/envytools/ -- Changes in v3: - Split commit into DPU, dsi.xml.h, and DSI changes (Dmitry) - Add DSC enabled check to DSI *_is_widebus_enabled() helper (Dmitry) - Dropped mention of DPU in cover letter title - Moved setting of dpu_enc->wide_bus_en to dpu_encoder_virt_atomic_enable() - Link to v2: https://lore.kernel.org/r/20230713-add-widebus-support-v2-1-ad0added17b6@xxxxxxxxxxx Changes in v2: - Rebased on top of "drm/msm/dpu: Re-introduce dpu core revision" - Squashed all commits to avoid breaking feature if the series is only partially applied - Moved DATABUS_WIDEN bit setting to dsi_ctr_enable() (Marijn) - Have DPU check if wide bus is requested by output driver (Dmitry) - Introduced bytes_per_pclk variable for dsi_timing_setup() hdisplay adjustment (Marijn) - Link to v1: https://lore.kernel.org/r/20230525-add-widebus-support-v1-0-c7069f2efca1@xxxxxxxxxxx --- Jessica Zhang (4): drm/msm/dpu: Move DPU encoder wide_bus_en setting drm/msm/dpu: Enable widebus for DSI INTF drm/msm/dsi: Add DATABUS_WIDEN MDP_CTRL2 bit drm/msm/dsi: Enable widebus for DSI drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 16 +++++++++--- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 4 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.c | 3 +++ drivers/gpu/drm/msm/disp/dpu1/dpu_hw_intf.h | 1 + drivers/gpu/drm/msm/dsi/dsi.c | 5 ++++ drivers/gpu/drm/msm/dsi/dsi.h | 1 + drivers/gpu/drm/msm/dsi/dsi.xml.h | 1 + drivers/gpu/drm/msm/dsi/dsi_host.c | 30 +++++++++++++++++++--- drivers/gpu/drm/msm/msm_drv.h | 6 ++++- 9 files changed, 57 insertions(+), 10 deletions(-) --- base-commit: e5046e719774f833d32e3e6064416bb792564c95 change-id: 20230525-add-widebus-support-f785546ee751 Best regards, -- Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>