diff options
author | qctecmdr <qctecmdr@localhost> | 2020-02-10 05:12:08 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2020-02-10 05:12:08 -0800 |
commit | 8e80cfe9505ca6bc331fc6a02ee55ed0e2ac2435 (patch) | |
tree | 64a2d997b712476ffe93534c922ba83317d9bbc2 | |
parent | aca3175c2a42b61097582e3119e4528010017584 (diff) | |
parent | df40834e00c4933b8bd8f8fb0e476d53aaa66beb (diff) | |
download | display-drivers-8e80cfe9505ca6bc331fc6a02ee55ed0e2ac2435.tar.gz |
Merge "disp: msm: dp: send dp hpd notification from attention_work"
-rw-r--r-- | msm/dp/dp_display.c | 26 |
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); |