瀏覽代碼

drm/msm: setup vram after component_bind_all()

First of all, we don't want -EPROBE_DEFER when trying to bind children
to cause us to forget to free our vram.  And second we don't want vram
allocation fail to trigger _unbind_all() before _bind_all().

Signed-off-by: Rob Clark <robdclark@gmail.com>
Rob Clark 10 年之前
父節點
當前提交
13f15565f7
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. 4 4
      drivers/gpu/drm/msm/msm_drv.c

+ 4 - 4
drivers/gpu/drm/msm/msm_drv.c

@@ -285,10 +285,6 @@ static int msm_load(struct drm_device *dev, unsigned long flags)
 
 
 	drm_mode_config_init(dev);
 	drm_mode_config_init(dev);
 
 
-	ret = msm_init_vram(dev);
-	if (ret)
-		goto fail;
-
 	platform_set_drvdata(pdev, dev);
 	platform_set_drvdata(pdev, dev);
 
 
 	/* Bind all our sub-components: */
 	/* Bind all our sub-components: */
@@ -296,6 +292,10 @@ static int msm_load(struct drm_device *dev, unsigned long flags)
 	if (ret)
 	if (ret)
 		return ret;
 		return ret;
 
 
+	ret = msm_init_vram(dev);
+	if (ret)
+		goto fail;
+
 	switch (get_mdp_ver(pdev)) {
 	switch (get_mdp_ver(pdev)) {
 	case 4:
 	case 4:
 		kms = mdp4_kms_init(dev);
 		kms = mdp4_kms_init(dev);