[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211201105210.24970-1-angelogioacchino.delregno@collabora.com>
Date: Wed, 1 Dec 2021 11:52:08 +0100
From: AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>
To: robdclark@...il.com
Cc: dmitry.baryshkov@...aro.org, sean@...rly.run, airlied@...ux.ie,
daniel@...ll.ch, maxime@...no.tech, linux-arm-msm@...r.kernel.org,
dri-devel@...ts.freedesktop.org, freedreno@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, kernel@...labora.com,
konrad.dybcio@...ainline.org, marijn.suijten@...ainline.org,
jami.kettunen@...ainline.org, martin.botka@...ainline.org,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>
Subject: [PATCH v3 0/2] drm/msm: Fix dsi/bridge probe
Context, from patch 2/2:
Since commit 8f59ee9a570c ("drm/msm/dsi: Adjust probe order"), the
DSI host gets initialized earlier, but this caused unability to probe
the entire stack of components because they all depend on interrupts
coming from the main `mdss` node (mdp5, or dpu1).
Changes in v3:
- Removed a forgotten (and wrong) kfree() call.
Series v2:
After a very nice conversation with Dmitry, it turned out that my first
approach to solve this issue wasn't great: even though it appeared to
actually work, it was introducing a number of issues, one of which was
critical as it was not removing down the DRM device when it's supposed to.
Instead of actually fixing that patch, I went for "simplifying" the
approach by not initializing the entire MDSS, but just the interrupt
controller, which still untangles the infinite probe deferrals, but
actually doesn't even touch most of the already present logic in place.
AngeloGioacchino Del Regno (2):
drm/msm: Allocate msm_drm_private early and pass it as driver data
drm/msm: Initialize MDSS irq domain at probe time
drivers/gpu/drm/msm/adreno/adreno_device.c | 16 ++---
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 4 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c | 50 ++++++++++------
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 3 +-
drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c | 58 ++++++++++++------
drivers/gpu/drm/msm/dp/dp_display.c | 10 +---
drivers/gpu/drm/msm/dsi/dsi.c | 6 +-
drivers/gpu/drm/msm/edp/edp.c | 6 +-
drivers/gpu/drm/msm/hdmi/hdmi.c | 7 +--
drivers/gpu/drm/msm/msm_drv.c | 68 +++++++++++++---------
drivers/gpu/drm/msm/msm_kms.h | 3 +
11 files changed, 133 insertions(+), 98 deletions(-)
--
2.33.1
Powered by blists - more mailing lists