]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/msi/mdp4: populate priv->kms in mdp4_kms_init
authorDavid Heidelberg <david@ixit.cz>
Wed, 11 Aug 2021 17:06:31 +0000 (19:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 10:26:38 +0000 (12:26 +0200)
commit cb0927ab80d224c9074f53d1a55b087d12ec5a85 upstream.

Without this fix boot throws NULL ptr exception at msm_dsi_manager_setup_encoder
on devices like Nexus 7 2013 (MDP4 v4.4).

Fixes: b7ff342bf53c ("drm/msm/dsi: Move setup_encoder to modeset_init")
Cc: <stable@vger.kernel.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20210811170631.39296-1-david@ixit.cz
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c

index 5d50e93efe363b10788076fc98b1c8ad2581118f..4f0c6d58e06fa4044d5c7dbd0dccda1130f675b7 100644 (file)
@@ -405,6 +405,7 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev)
 {
        struct platform_device *pdev = to_platform_device(dev->dev);
        struct mdp4_platform_config *config = mdp4_get_config(pdev);
+       struct msm_drm_private *priv = dev->dev_private;
        struct mdp4_kms *mdp4_kms;
        struct msm_kms *kms = NULL;
        struct msm_gem_address_space *aspace;
@@ -419,7 +420,8 @@ struct msm_kms *mdp4_kms_init(struct drm_device *dev)
 
        mdp_kms_init(&mdp4_kms->base, &kms_funcs);
 
-       kms = &mdp4_kms->base.base;
+       priv->kms = &mdp4_kms->base.base;
+       kms = priv->kms;
 
        mdp4_kms->dev = dev;