disp: msm: dp: optimize sim function handling in dp_debug
Remove edid/dpcd simulation function from dp_debug and calls to sim bridge instead to simplify dp_debug module. Also add mst edid support and mst hpd simulation from aux level. Move selected mode from dp_debug module to dp_panel module to simplify mst handling and decouple dp_debug from main dp driver. Remove custom edid/dpcd mode from dp_panel and dp_aux module. Remove mst connector list handling from dp_display module. Change-Id: Ife1d2deb0e353f0a9695b7b90e5bf3459e1c81f7 Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org> Signed-off-by: Karim Henain <khenain@codeaurora.org> Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
此提交包含在:
@@ -654,10 +654,11 @@ enum drm_mode_status dp_connector_mode_valid(struct drm_connector *connector,
|
||||
struct drm_display_mode *mode, void *display,
|
||||
const struct msm_resource_caps_info *avail_res)
|
||||
{
|
||||
int rc = 0;
|
||||
int rc = 0, vrefresh;
|
||||
struct dp_display *dp_disp;
|
||||
struct sde_connector *sde_conn;
|
||||
struct msm_resource_caps_info avail_dp_res;
|
||||
struct dp_panel *dp_panel;
|
||||
|
||||
if (!mode || !display || !connector) {
|
||||
DP_ERR("invalid params\n");
|
||||
@@ -671,6 +672,9 @@ enum drm_mode_status dp_connector_mode_valid(struct drm_connector *connector,
|
||||
}
|
||||
|
||||
dp_disp = display;
|
||||
dp_panel = sde_conn->drv_panel;
|
||||
|
||||
vrefresh = drm_mode_vrefresh(mode);
|
||||
|
||||
rc = dp_disp->get_available_dp_resources(dp_disp, avail_res,
|
||||
&avail_dp_res);
|
||||
@@ -679,6 +683,12 @@ enum drm_mode_status dp_connector_mode_valid(struct drm_connector *connector,
|
||||
return MODE_ERROR;
|
||||
}
|
||||
|
||||
if (dp_panel->mode_override && (mode->hdisplay != dp_panel->hdisplay ||
|
||||
mode->vdisplay != dp_panel->vdisplay ||
|
||||
vrefresh != dp_panel->vrefresh ||
|
||||
mode->picture_aspect_ratio != dp_panel->aspect_ratio))
|
||||
return MODE_BAD;
|
||||
|
||||
return dp_disp->validate_mode(dp_disp, sde_conn->drv_panel,
|
||||
mode, &avail_dp_res);
|
||||
}
|
||||
|
新增問題並參考
封鎖使用者