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>
此提交包含在:
@@ -422,6 +422,14 @@ struct sde_connector_ops {
|
||||
*/
|
||||
void (*set_submode_info)(struct drm_connector *conn,
|
||||
void *info, void *display, struct drm_display_mode *drm_mode);
|
||||
|
||||
/*
|
||||
* get_num_lm_from_mode - Get LM count from topology for this drm mode
|
||||
* @display: Pointer to private display structure
|
||||
* @mode: Pointer to drm mode info structure
|
||||
*/
|
||||
int (*get_num_lm_from_mode)(void *display, const struct drm_display_mode *mode);
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1063,6 +1071,15 @@ int sde_connector_helper_reset_custom_properties(
|
||||
int sde_connector_state_get_mode_info(struct drm_connector_state *conn_state,
|
||||
struct msm_mode_info *mode_info);
|
||||
|
||||
/**
|
||||
* sde_connector_get_lm_cnt_from_topology - retrieves the topology info
|
||||
* from the panel mode and returns the lm count.
|
||||
* conn: Pointer to DRM connector object
|
||||
* drm_mode: Pointer to the drm mode structure
|
||||
*/
|
||||
int sde_connector_get_lm_cnt_from_topology(struct drm_connector *conn,
|
||||
const struct drm_display_mode *drm_mode);
|
||||
|
||||
/**
|
||||
* sde_connector_state_get_topology - get topology from given connector state
|
||||
* conn_state: Pointer to the DRM connector state object
|
||||
|
新增問題並參考
封鎖使用者