summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_drv.h
diff options
context:
space:
mode:
authorChris Wilson2016-06-21 10:16:54 +0200
committerChris Wilson2016-06-21 10:36:33 +0200
commit43cee314345ac9e34e744f8c335150a17ff9a6fb (patch)
tree62f0ddd113a9463c31997dd0f1cd09cf82ea7365 /drivers/gpu/drm/i915/intel_drv.h
parentdrm/i915/fbdev: Perform async fbdev initialisation much later (diff)
downloadkernel-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.h1
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;
};