summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2020-02-10 05:12:08 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2020-02-10 05:12:08 -0800
commit8e80cfe9505ca6bc331fc6a02ee55ed0e2ac2435 (patch)
tree64a2d997b712476ffe93534c922ba83317d9bbc2
parentaca3175c2a42b61097582e3119e4528010017584 (diff)
parentdf40834e00c4933b8bd8f8fb0e476d53aaa66beb (diff)
downloaddisplay-drivers-8e80cfe9505ca6bc331fc6a02ee55ed0e2ac2435.tar.gz
Merge "disp: msm: dp: send dp hpd notification from attention_work"
-rw-r--r--msm/dp/dp_display.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/msm/dp/dp_display.c b/msm/dp/dp_display.c
index 187ae528..33ba7b0b 100644
--- a/msm/dp/dp_display.c
+++ b/msm/dp/dp_display.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
- * Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
*/
#include <linux/module.h>
@@ -1365,23 +1365,25 @@ static void dp_display_attention_work(struct work_struct *work)
mutex_unlock(&dp->session_lock);
if (dp->link->sink_request & (DP_TEST_LINK_PHY_TEST_PATTERN |
- DP_TEST_LINK_TRAINING)) {
+ DP_TEST_LINK_TRAINING))
goto mst_attention;
- } else {
- /*
- * It is possible that the connect_work skipped sending
- * the HPD notification if the attention message was
- * already pending. Send the notification here to
- * account for that. This is not needed if this
- * attention work was handling a test request
- */
- dp_display_send_hpd_notification(dp);
- }
}
cp_irq:
if (dp_display_is_hdcp_enabled(dp) && dp->hdcp.ops->cp_irq)
dp->hdcp.ops->cp_irq(dp->hdcp.data);
+
+ if (!dp->mst.mst_active) {
+ /*
+ * It is possible that the connect_work skipped sending
+ * the HPD notification if the attention message was
+ * already pending. Send the notification here to
+ * account for that. This is not needed if this
+ * attention work was handling a test request
+ */
+ dp_display_send_hpd_notification(dp);
+ }
+
mst_attention:
dp_display_mst_attention(dp);
SDE_EVT32_EXTERNAL(SDE_EVTLOG_FUNC_EXIT, dp->state);