drm/mipi-dsi: pass DSC data through the struct mipi_dsi_device
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Mon, 11 Jul 2022 09:43:17 +0000 (12:43 +0300)
committerRob Clark <robdclark@chromium.org>
Sun, 18 Sep 2022 16:38:06 +0000 (09:38 -0700)
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 DSC
support is not limited to the DSI panels. MIPI DSI bridges can also
consume DSC command streams. Thus add struct drm_dsc_config pointer to
the struct mipi_dsi_device.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/493306/
Link: https://lore.kernel.org/r/20220711094320.368062-2-dmitry.baryshkov@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
include/drm/drm_mipi_dsi.h

index 91a164b..bb20bc2 100644 (file)
@@ -179,6 +179,7 @@ struct mipi_dsi_device_info {
  * @lp_rate: maximum lane frequency for low power mode in hertz, this should
  * be set to the real limits of the hardware, zero is only accepted for
  * legacy drivers
+ * @dsc: panel/bridge DSC pps payload to be sent
  */
 struct mipi_dsi_device {
        struct mipi_dsi_host *host;
@@ -191,6 +192,7 @@ struct mipi_dsi_device {
        unsigned long mode_flags;
        unsigned long hs_rate;
        unsigned long lp_rate;
+       struct drm_dsc_config *dsc;
 };
 
 #define MIPI_DSI_MODULE_PREFIX "mipi-dsi:"