diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_fbdev.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_fbdev.c | 10 | 
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)  	/* Due to peculiar init order wrt to hpd handling this is separate. */  	if (drm_fb_helper_initial_config(&ifbdev->helper, -					 ifbdev->preferred_bpp)) { +					 ifbdev->preferred_bpp))  		intel_fbdev_unregister(to_i915(ifbdev->helper.dev)); -		intel_fbdev_fini(to_i915(ifbdev->helper.dev)); -	}  }  void intel_fbdev_initial_config_async(struct drm_device *dev) @@ -800,7 +798,11 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)  {  	struct intel_fbdev *ifbdev = to_i915(dev)->fbdev; -	if (ifbdev) +	if (!ifbdev) +		return; + +	intel_fbdev_sync(ifbdev); +	if (ifbdev->vma)  		drm_fb_helper_hotplug_event(&ifbdev->helper);  } |