drm/msm/dp: call drm_dp_cec_irq handler appropriately
DP CEC_IRQ handler is independent of DP Link's power
status. Call drm_dp_cec_irq handler if hpd_irq is set.
Change-Id: I58d989e469ae1939b3375eb14ef984a064cb6b7a
Signed-off-by: Narender Ankam <nankam@codeaurora.org>
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 77ab3d9..eed9eff 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -780,6 +780,9 @@
return -ENODEV;
}
+ if (dp->usbpd->hpd_high && dp->usbpd->hpd_irq)
+ drm_dp_cec_irq(dp->aux->drm_aux);
+
if (dp->usbpd->hpd_irq && dp->usbpd->hpd_high &&
dp->power_on) {
dp->link->process_request(dp->link);
diff --git a/drivers/gpu/drm/msm/dp/dp_link.c b/drivers/gpu/drm/msm/dp/dp_link.c
index a188cfa..410e075 100644
--- a/drivers/gpu/drm/msm/dp/dp_link.c
+++ b/drivers/gpu/drm/msm/dp/dp_link.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2018, 2020, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2018,2020-2021, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -790,8 +790,6 @@
pr_debug("device service irq vector = 0x%x\n", data);
- drm_dp_cec_irq(link->aux->drm_aux);
-
if (!(data & DP_AUTOMATED_TEST_REQUEST)) {
pr_debug("no test requested\n");
return 0;