aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/intel_fbdev.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
index b8af35187d22..ea96682568e8 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -697,10 +697,8 @@ static void intel_fbdev_initial_config(void *data, async_cookie_t cookie)
697 697
698 /* Due to peculiar init order wrt to hpd handling this is separate. */ 698 /* Due to peculiar init order wrt to hpd handling this is separate. */
699 if (drm_fb_helper_initial_config(&ifbdev->helper, 699 if (drm_fb_helper_initial_config(&ifbdev->helper,
700 ifbdev->preferred_bpp)) { 700 ifbdev->preferred_bpp))
701 intel_fbdev_unregister(to_i915(ifbdev->helper.dev)); 701 intel_fbdev_unregister(to_i915(ifbdev->helper.dev));
702 intel_fbdev_fini(to_i915(ifbdev->helper.dev));
703 }
704} 702}
705 703
706void intel_fbdev_initial_config_async(struct drm_device *dev) 704void intel_fbdev_initial_config_async(struct drm_device *dev)
@@ -800,7 +798,11 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
800{ 798{
801 struct intel_fbdev *ifbdev = to_i915(dev)->fbdev; 799 struct intel_fbdev *ifbdev = to_i915(dev)->fbdev;
802 800
803 if (ifbdev) 801 if (!ifbdev)
802 return;
803
804 intel_fbdev_sync(ifbdev);
805 if (ifbdev->vma)
804 drm_fb_helper_hotplug_event(&ifbdev->helper); 806 drm_fb_helper_hotplug_event(&ifbdev->helper);
805} 807}
806 808