diff options
author | Rob Clark <robdclark@gmail.com> | 2015-05-07 15:20:13 -0400 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2015-05-14 11:50:39 -0400 |
commit | 13f15565f7887a028b3442bbd763ff6d07b48479 (patch) | |
tree | 4a8ccfa0bd1d593d507ee22f6785cc1fb4d3dbe7 /drivers/gpu | |
parent | ff431fa4d96fc34568454aae4cc264a7760636a8 (diff) |
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>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 72f2b962efd4..cc6485ef2949 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c | |||
@@ -285,10 +285,6 @@ static int msm_load(struct drm_device *dev, unsigned long flags) | |||
285 | 285 | ||
286 | drm_mode_config_init(dev); | 286 | drm_mode_config_init(dev); |
287 | 287 | ||
288 | ret = msm_init_vram(dev); | ||
289 | if (ret) | ||
290 | goto fail; | ||
291 | |||
292 | platform_set_drvdata(pdev, dev); | 288 | platform_set_drvdata(pdev, dev); |
293 | 289 | ||
294 | /* Bind all our sub-components: */ | 290 | /* Bind all our sub-components: */ |
@@ -296,6 +292,10 @@ static int msm_load(struct drm_device *dev, unsigned long flags) | |||
296 | if (ret) | 292 | if (ret) |
297 | return ret; | 293 | return ret; |
298 | 294 | ||
295 | ret = msm_init_vram(dev); | ||
296 | if (ret) | ||
297 | goto fail; | ||
298 | |||
299 | switch (get_mdp_ver(pdev)) { | 299 | switch (get_mdp_ver(pdev)) { |
300 | case 4: | 300 | case 4: |
301 | kms = mdp4_kms_init(dev); | 301 | kms = mdp4_kms_init(dev); |