[Freedreno] [PATCH v1 2/3] drm/msm/dpu: retrieve DSI DSC struct at atomic_check()

Kuogee Hsieh quic_khsieh at quicinc.com
Fri Jun 2 17:00:28 UTC 2023



>> There is one option which is keep current
>>
>> 1) keep struct drm_dsc_config *msm_dsi_get_dsc_config(struct msm_dsi
>> *msm_dsi) at dsi.c
>>
>> 2) use  struct msm_display_info *disp_info saved at dpu_enc to locate
>> struct msm_dsi from priv->dsi[] list (see item #3)
>>
>> 3)  info.dsc = msm_dsi_get_dsc_config(priv->dsi[info.h_tile_instance[0]]);
>>
>> 4) ballistically, keep original code but move  info.dsc =
>> msm_dsi_get_dsc_config(priv->dsi[i]); to other place sush as
>> atomic_check() and atomic_enable().
>>
> 5) leave drm_dsc_config handling as is, update the dsc config from the
> DP driver as suitable. If DSC is not supported, set
> dsc->dsc_version_major = 0 and dsc->dsc_version_minor = 0 on the DP
> side. In DPU driver verify that dsc->dsc_version_major/_minor != 0.

I am confusing with item 5)

Currently, msm_dsi_get_dsc_config() of dsi side return dsc pointer if 
dsc enabled and NULL if dsc not enabled.

Should checking dsc == NULL is good enough to differentiate between dsc 
is supported and not supported?

Why need to set both dsc->dsc_version_major = 0 and 
dsc->dsc_version_minor = 0 for dsc is not supported?




More information about the Freedreno mailing list