This series superseeds two existing patch series ([1] and [2]) and merges them together in a single patchset to demonstrate necessity for the first three patches. The drm/msm/dsi driver has two separate code paths, one utilizing a chain of drm_bridges and another one for directly interfacing the drm_panel. We would have dropped the second path completely but for the DSI DSC pps data. To properly support DSI DSC the DSI sink driver (panel) has to pass DSC pps data to the source (DSI host). The commit 0f40ba48de3b ("drm/msm/dsi: Pass DSC params to drm_panel") added a pointer to the DSC data to the struct drm_panel. However this is not ideal. First, this keeps DSC-supporting DSI sink bridges out of the picture (like ANX7625 which support DSC decoding on the MIPI DSI inputs). Second, this does not play well with the panel_bridge. Drivers depending solely on the bridge chains will still have to lookup panel and fetch data from it. Last, but not least, the DSC data is not relevant for the wide variety of panels including DPI and LVDS panels. To solve all these problems, move struct drm_dsc_config pointer from struct drm_panel to struct mipi_host_device. This way MIPI DSI host driver receives DSC data during attach callback without additional lookups. The last commit drops the drm_panel code from msm/dsi driver, providing code simplification. Changes since v1 (of both patchsets): - Minor cleanups in the msm/dsi driver, dropping more now-unused code. [1] https://patchwork.freedesktop.org/series/103411/ [2] https://patchwork.freedesktop.org/series/105995/ Dmitry Baryshkov (4): drm/mipi-dsi: pass DSC data through the struct mipi_dsi_device drm/msm/dsi: fetch DSC pps payload from struct mipi_dsi_device drm/panel: drop DSC pps pointer drm/msm/dsi: switch to DRM_PANEL_BRIDGE drivers/gpu/drm/msm/dsi/dsi.c | 38 +--- drivers/gpu/drm/msm/dsi/dsi.h | 14 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 50 ++--- drivers/gpu/drm/msm/dsi/dsi_manager.c | 264 ++------------------------ include/drm/drm_mipi_dsi.h | 2 + include/drm/drm_panel.h | 7 - 6 files changed, 39 insertions(+), 336 deletions(-) -- 2.35.1