mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 05:39:54 -04:00
Merge "disp: msm: dp: fix to handle host ready failues"
This commit is contained in:
commit
6059d12a04
1 changed files with 22 additions and 7 deletions
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
|
|
@ -1053,16 +1053,21 @@ error_ctrl:
|
|||
return rc;
|
||||
}
|
||||
|
||||
static void dp_display_host_ready(struct dp_display_private *dp)
|
||||
static int dp_display_host_ready(struct dp_display_private *dp)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
if (!dp_display_state_is(DP_STATE_INITIALIZED)) {
|
||||
dp_display_state_show("[not initialized]");
|
||||
return;
|
||||
rc = dp_display_host_init(dp);
|
||||
if (rc) {
|
||||
dp_display_state_show("[not initialized]");
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
||||
if (dp_display_state_is(DP_STATE_READY)) {
|
||||
dp_display_state_log("[already ready]");
|
||||
return;
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -1090,6 +1095,7 @@ static void dp_display_host_ready(struct dp_display_private *dp)
|
|||
dp_display_state_add(DP_STATE_READY);
|
||||
/* log this as it results from user action of cable connection */
|
||||
DP_INFO("[OK]\n");
|
||||
return rc;
|
||||
}
|
||||
|
||||
static void dp_display_host_unready(struct dp_display_private *dp)
|
||||
|
|
@ -1192,7 +1198,11 @@ static int dp_display_process_hpd_high(struct dp_display_private *dp)
|
|||
dp_display_state_remove(DP_STATE_SRC_PWRDN);
|
||||
}
|
||||
|
||||
dp_display_host_ready(dp);
|
||||
rc = dp_display_host_ready(dp);
|
||||
if (rc) {
|
||||
dp_display_state_show("[ready failed]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
dp->link->psm_config(dp->link, &dp->panel->link_info, false);
|
||||
dp->debug->psm_enabled = false;
|
||||
|
|
@ -2209,7 +2219,12 @@ static int dp_display_prepare(struct dp_display *dp_display, void *panel)
|
|||
}
|
||||
|
||||
/* For supporting DP_PANEL_SRC_INITIATED_POWER_DOWN case */
|
||||
dp_display_host_ready(dp);
|
||||
rc = dp_display_host_ready(dp);
|
||||
|
||||
if (rc) {
|
||||
dp_display_state_show("[ready failed]");
|
||||
goto end;
|
||||
}
|
||||
|
||||
if (dp->debug->psm_enabled) {
|
||||
dp->link->psm_config(dp->link, &dp->panel->link_info, false);
|
||||
|
|
|
|||
Loading…
Reference in a new issue