diff options
author | Chris Wilson | 2016-06-21 10:16:54 +0200 |
---|---|---|
committer | Chris Wilson | 2016-06-21 10:36:33 +0200 |
commit | 43cee314345ac9e34e744f8c335150a17ff9a6fb (patch) | |
tree | 62f0ddd113a9463c31997dd0f1cd09cf82ea7365 /drivers/gpu/drm/i915/intel_drv.h | |
parent | drm/i915/fbdev: Perform async fbdev initialisation much later (diff) | |
download | kernel-qcow2-linux-43cee314345ac9e34e744f8c335150a17ff9a6fb.tar.gz kernel-qcow2-linux-43cee314345ac9e34e744f8c335150a17ff9a6fb.tar.xz kernel-qcow2-linux-43cee314345ac9e34e744f8c335150a17ff9a6fb.zip |
drm/i915/fbdev: Limit the global async-domain synchronization
During cleanup we have to synchronise with the async task we are using
to initialise and register our fbdev. Currently, we are using a full
synchronisation on the global domain, but we can restrict this to just
synchronising up to our task if we remember our cookie.
Whilst there, streamline the function parameters.
v2: async_synchronize_cookie() takes an exclusive upper bound, to
synchronize with our task we have to pass in the next cookie.
v3: Drop premature disregarding of the active cookie (we need to wait
until the task is complete before continuing in the teardown).
v4: Refactor waiting on async to incorporate a comment explaining why we
need the +1.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lukas Wunner <lukas@wunner.de>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1466497015-8509-2-git-send-email-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 9257f08aa677..06fa25db3d32 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -159,6 +159,7 @@ struct intel_framebuffer { struct intel_fbdev { struct drm_fb_helper helper; struct intel_framebuffer *fb; + async_cookie_t cookie; int preferred_bpp; }; |