disp: msm: sde: correct num_datapath during PM resume with CWB

In PM resume with CWB concurrency usecase, crtc pointer in
conn->state is NULL since drm_mode_config_reset operation is
performed on pm_resume. This change relies on conn_mask in
new_crtc_state for primary connector retrieval and also adds
get_num_lm_from_mode callback to DSI for LM count retrieval
from dsi panel topology. Existing get_mode_info api cannot
retrieve the topology info because mode->priv_info is NULL.
This occurs as WB encoder is added in the drm encoder_list
before primary encoder, introduced as part of commit d28ebf05f4
("disp: msm: sde: populate WB display encoder list before dsi").

Change-Id: I55358fd88ab778bd81475cf3628be13335de1cb5
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
Signed-off-by: Samantha Tran <samtran@codeaurora.org>
Этот коммит содержится в:
Jayaprakash Madisetty
2021-04-01 18:04:32 +05:30
коммит произвёл Samantha Tran
родитель 6a01182c1e
Коммит a29369e224
8 изменённых файлов: 95 добавлений и 13 удалений

Просмотреть файл

@@ -1003,9 +1003,10 @@ void sde_crtc_static_cache_read_kickoff(struct drm_crtc *crtc);
* of primary connector
* @crtc: Pointer to DRM crtc object
* @connector: Pointer to DRM connector object of WB in CWB case
* @crtc_state: Pointer to DRM crtc state
*/
int sde_crtc_get_num_datapath(struct drm_crtc *crtc,
struct drm_connector *connector);
struct drm_connector *connector, struct drm_crtc_state *crtc_state);
/**
* sde_crtc_reset_sw_state - reset dirty proerties on crtc and