disp: msm: dp: handle link maintenance failures
Audio off is done before handling link maintenance requests from sink or receiver. After handling the link maintenance, audio is enabled without verifying the success condition of the link maintenance. If the link maintenance fails, then the DP link will not be established and source will not send video data. So, there is no need to enable audio. This change will skip the audio enable portion of the code whenever the link maintenance fails. The sink may eventually issue another irq_hpd to retry the link training. Change-Id: I1e9aab07d6465ab1b5e6f92717ef7288dc85068f Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org>
Цей коміт міститься в:

зафіксовано
Gerrit - the friendly Code Review server

джерело
348e9b397c
коміт
0386ae3a6b
@@ -1604,6 +1604,7 @@ static void dp_display_attention_work(struct work_struct *work)
|
||||
{
|
||||
struct dp_display_private *dp = container_of(work,
|
||||
struct dp_display_private, attention_work);
|
||||
int rc = 0;
|
||||
|
||||
SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_ENTRY, dp->state);
|
||||
mutex_lock(&dp->session_lock);
|
||||
@@ -1673,16 +1674,20 @@ static void dp_display_attention_work(struct work_struct *work)
|
||||
if (dp->link->sink_request & DP_TEST_LINK_TRAINING) {
|
||||
SDE_EVT32_EXTERNAL(dp->state, DP_TEST_LINK_TRAINING);
|
||||
dp->link->send_test_response(dp->link);
|
||||
dp->ctrl->link_maintenance(dp->ctrl);
|
||||
rc = dp->ctrl->link_maintenance(dp->ctrl);
|
||||
}
|
||||
|
||||
if (dp->link->sink_request & DP_LINK_STATUS_UPDATED) {
|
||||
SDE_EVT32_EXTERNAL(dp->state, DP_LINK_STATUS_UPDATED);
|
||||
dp->ctrl->link_maintenance(dp->ctrl);
|
||||
rc = dp->ctrl->link_maintenance(dp->ctrl);
|
||||
}
|
||||
|
||||
dp_audio_enable(dp, true);
|
||||
if (!rc)
|
||||
dp_audio_enable(dp, true);
|
||||
|
||||
mutex_unlock(&dp->session_lock);
|
||||
if (rc)
|
||||
goto exit;
|
||||
|
||||
if (dp->link->sink_request & (DP_TEST_LINK_PHY_TEST_PATTERN |
|
||||
DP_TEST_LINK_TRAINING))
|
||||
|
Посилання в новій задачі
Заблокувати користувача