summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_guc.h
diff options
context:
space:
mode:
authorDave Gordon2017-10-26 16:17:37 +0200
committerChris Wilson2017-10-26 22:35:21 +0200
commite12ab16907252ebc3ec956932eb40ed88105346b (patch)
treeb7b5efafad04397ecb8ace7878b55dc3c4a7acbc /drivers/gpu/drm/i915/intel_guc.h
parentdrm/i915/guc: Add preemption action to GuC firmware interface (diff)
downloadkernel-qcow2-linux-e12ab16907252ebc3ec956932eb40ed88105346b.tar.gz
kernel-qcow2-linux-e12ab16907252ebc3ec956932eb40ed88105346b.tar.xz
kernel-qcow2-linux-e12ab16907252ebc3ec956932eb40ed88105346b.zip
drm/i915/guc: Add a second client, to be used for preemption
This second client is created with priority KMD_HIGH, and marked as preemptive. This will allow us to request preemption using GuC actions. v2: Extract clients creation into a helper, debugfs fixups. (Michał) Recreate doorbell on init. (Daniele) Move clients into an array. v3: And move clients back from an array, to get rid of the enum (Michał) v4: Use is_high_priority, move DRM_ERROR into __create_doorbell, move GEM_BUG_ON inside guc_clients_create (Michał) v5: Split the BUG_ON (Michał) v6: Cleanup after error during doorbell reinit (Michał) Signed-off-by: Dave Gordon <david.s.gordon@intel.com> Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Jeff McGee <jeff.mcgee@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Oscar Mateo <oscar.mateo@intel.com> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20171026141737.31656-1-michal.winiarski@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_guc.h')
-rw-r--r--drivers/gpu/drm/i915/intel_guc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_guc.h b/drivers/gpu/drm/i915/intel_guc.h
index aa1583167b0a..6ca55c5bed3c 100644
--- a/drivers/gpu/drm/i915/intel_guc.h
+++ b/drivers/gpu/drm/i915/intel_guc.h
@@ -58,6 +58,7 @@ struct intel_guc {
void *shared_data_vaddr;
struct i915_guc_client *execbuf_client;
+ struct i915_guc_client *preempt_client;
DECLARE_BITMAP(doorbell_bitmap, GUC_NUM_DOORBELLS);
/* Cyclic counter mod pagesize */