Thank you,
tried your proposed solution, works for me (also seems better).
Sending another patch.
Best regards
David Heidelberg
On Wed, Jul 7 2021 at 02:17:14 +0300, Dmitry Baryshkov
<dmitry.baryshkov@xxxxxxxxxx> wrote:
On 06/07/2021 02:36, David Heidelberg wrote:
Without this patch boot ends at NULL ptr exception at
msm_dsi_manager_setup_encoder
on devices like Nexus 7 with MDP4 version 4.4.
Fixes: 03436e3ec69c ("drm/msm/dsi: Move setup_encoder to
modeset_init")
Signed-off-by: David Heidelberg <david@xxxxxxx>
Being not an expert in the mdp4 sources, I suspect that the fix is
not quite correct. I'd suggest setting priv->kms in the
mdp4_kms_init() before calling modeset_init().
---
v2: typo in Fixes commit reference
drivers/gpu/drm/msm/dsi/dsi_manager.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c
b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 4ebfedc4a9ac..8114612b34b0 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -230,7 +230,7 @@ void msm_dsi_manager_setup_encoder(int id)
struct msm_kms *kms = priv->kms;
struct drm_encoder *encoder = msm_dsi_get_encoder(msm_dsi);
- if (encoder && kms->funcs->set_encoder_mode)
+ if (encoder && kms && kms->funcs->set_encoder_mode)
kms->funcs->set_encoder_mode(kms, encoder,
dsi_mgr_is_cmd_mode(msm_dsi));
}
--
With best wishes
Dmitry