msm: mdss: dp: fix display port crash caused by unclocked register access
Display port main link control clock is enabled during UNBLANK ioctl call. Due to some error reasons, UNBLANK ioctl call may early return without enabling DP control clock. Later if any ioctl is called and tries to access unclocked DP link registers, it will cause noc error. Add a check to handle these ioctls only if DP is fully powered on. Change-Id: Ie5a5707f708a0e39d21bf06b8e479b7b95249566 Signed-off-by: Narender Ankam <nankam@codeaurora.org>
This commit is contained in:
parent
7d78f564eb
commit
accf510c82
1 changed files with 8 additions and 0 deletions
|
@ -3045,6 +3045,10 @@ static int mdss_dp_event_handler(struct mdss_panel_data *pdata,
|
|||
rc = mdss_dp_on(pdata);
|
||||
break;
|
||||
case MDSS_EVENT_PANEL_ON:
|
||||
if (!dp->power_on) {
|
||||
pr_err("DP Controller not powered on\n");
|
||||
break;
|
||||
}
|
||||
mdss_dp_update_hdcp_info(dp);
|
||||
|
||||
if (dp_is_hdcp_enabled(dp)) {
|
||||
|
@ -3065,6 +3069,10 @@ static int mdss_dp_event_handler(struct mdss_panel_data *pdata,
|
|||
complete_all(&dp->notification_comp);
|
||||
break;
|
||||
case MDSS_EVENT_BLANK:
|
||||
if (!dp->power_on) {
|
||||
pr_err("DP Controller not powered on\n");
|
||||
break;
|
||||
}
|
||||
if (dp_is_hdcp_enabled(dp)) {
|
||||
dp->hdcp_status = HDCP_STATE_INACTIVE;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue