]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
drm/msm: Call msm_init_vram before binding the gpu
authorCraig Tatlor <ctatlor97@gmail.com>
Wed, 30 Dec 2020 15:29:42 +0000 (17:29 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Fri, 19 Feb 2021 15:44:52 +0000 (16:44 +0100)
BugLink: https://bugs.launchpad.net/bugs/1914654
[ Upstream commit d863f0c7b536288e2bd40cbc01c10465dd226b11 ]

vram.size is needed when binding a gpu without an iommu and is defined
in msm_init_vram(), so run that before binding it.

Signed-off-by: Craig Tatlor <ctatlor97@gmail.com>
Reviewed-by: Brian Masney <masneyb@onstation.org>
Tested-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: William Breathitt Gray <william.gray@canonical.com>
drivers/gpu/drm/msm/msm_drv.c

index 108632a1f2438a14f9c4162a567c03278829bc20..8d9d86c76a4e970a42d8407094eb58b46e235530 100644 (file)
@@ -432,14 +432,14 @@ static int msm_drm_init(struct device *dev, struct drm_driver *drv)
 
        drm_mode_config_init(ddev);
 
-       /* Bind all our sub-components: */
-       ret = component_bind_all(dev, ddev);
+       ret = msm_init_vram(ddev);
        if (ret)
                goto err_destroy_mdss;
 
-       ret = msm_init_vram(ddev);
+       /* Bind all our sub-components: */
+       ret = component_bind_all(dev, ddev);
        if (ret)
-               goto err_msm_uninit;
+               goto err_destroy_mdss;
 
        if (!dev->dma_parms) {
                dev->dma_parms = devm_kzalloc(dev, sizeof(*dev->dma_parms),