[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1648656179-10347-6-git-send-email-quic_sbillaka@quicinc.com>
Date: Wed, 30 Mar 2022 21:32:56 +0530
From: Sankeerth Billakanti <quic_sbillaka@...cinc.com>
To: <dri-devel@...ts.freedesktop.org>, <linux-arm-msm@...r.kernel.org>,
<freedreno@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>,
<devicetree@...r.kernel.org>
CC: Sankeerth Billakanti <quic_sbillaka@...cinc.com>,
<robdclark@...il.com>, <seanpaul@...omium.org>,
<swboyd@...omium.org>, <quic_kalyant@...cinc.com>,
<quic_abhinavk@...cinc.com>, <dianders@...omium.org>,
<quic_khsieh@...cinc.com>, <bjorn.andersson@...aro.org>,
<sean@...rly.run>, <airlied@...ux.ie>, <daniel@...ll.ch>,
<dmitry.baryshkov@...aro.org>, <quic_vproddut@...cinc.com>,
<quic_aravindh@...cinc.com>
Subject: [PATCH v6 5/8] drm/msm/dp: prevent multiple votes for dp resources
The aux_bus support with the dp_display driver will enable the dp
resources during msm_dp_modeset_init. The host_init has to return early
if the core is already initialized to prevent putting an additional vote
for the dp controller resources.
Signed-off-by: Sankeerth Billakanti <quic_sbillaka@...cinc.com>
---
drivers/gpu/drm/msm/dp/dp_display.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index 888ff03..798b30b 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -420,6 +420,11 @@ static void dp_display_host_init(struct dp_display_private *dp)
dp->dp_display.connector_type, dp->core_initialized,
dp->phy_initialized);
+ if (dp->core_initialized) {
+ DRM_DEBUG_DP("DP core already initialized\n");
+ return;
+ }
+
dp_power_init(dp->power, false);
dp_ctrl_reset_irq_ctrl(dp->ctrl, true);
dp_aux_init(dp->aux);
@@ -432,6 +437,11 @@ static void dp_display_host_deinit(struct dp_display_private *dp)
dp->dp_display.connector_type, dp->core_initialized,
dp->phy_initialized);
+ if (!dp->core_initialized) {
+ DRM_DEBUG_DP("DP core not initialized\n");
+ return;
+ }
+
dp_ctrl_reset_irq_ctrl(dp->ctrl, false);
dp_aux_deinit(dp->aux);
dp_power_deinit(dp->power);
--
2.7.4
Powered by blists - more mailing lists