diff options
author | Matthew Brost <matthew.brost@intel.com> | 2021-06-17 18:06:34 -0700 |
---|---|---|
committer | Matt Roper <matthew.d.roper@intel.com> | 2021-06-18 15:13:33 -0700 |
commit | 349a2bc5aae45f54bce1c6fd54d8d3ac2ae26611 (patch) | |
tree | a93ad9e0bc0d8f5b2065a834569fabfd3a7743fd /drivers/gpu/drm/i915/i915_scheduler_types.h | |
parent | drm/i915: Reset sched_engine.no_priolist immediately after dequeue (diff) | |
download | linux-dev-349a2bc5aae45f54bce1c6fd54d8d3ac2ae26611.tar.xz linux-dev-349a2bc5aae45f54bce1c6fd54d8d3ac2ae26611.zip |
drm/i915: Move active tracking to i915_sched_engine
Move active request tracking and its lock to i915_sched_engine. This
lock is also the submission lock so having it in the i915_sched_engine
is the correct place.
v3:
(Jason Ekstrand)
Add kernel doc
v6:
Rebase
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.comk>
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210618010638.98941-5-matthew.brost@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/i915_scheduler_types.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_scheduler_types.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_scheduler_types.h b/drivers/gpu/drm/i915/i915_scheduler_types.h index 4a7c9f06b40b..74e3bb2b2a65 100644 --- a/drivers/gpu/drm/i915/i915_scheduler_types.h +++ b/drivers/gpu/drm/i915/i915_scheduler_types.h @@ -109,6 +109,22 @@ struct i915_sched_engine { struct kref ref; /** + * @lock: protects requests in priority lists, requests, hold and + * tasklet while running + */ + spinlock_t lock; + + /** + * @requests: list of requests inflight on this schedule engine + */ + struct list_head requests; + + /** + * @hold: list of ready requests, but on hold + */ + struct list_head hold; + + /** * @default_priolist: priority list for I915_PRIORITY_NORMAL */ struct i915_priolist default_priolist; |