diff options
author | Ben Widawsky <ben@bwidawsk.net> | 2011-04-25 14:25:20 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-05-10 16:56:47 -0400 |
commit | 4912d04193733a825216b926ffd290fada88ab07 (patch) | |
tree | 28f299240c04955f9cca7a7fad794ece744da4bb /drivers/gpu/drm/i915/i915_reg.h | |
parent | d1ebd816e6d7967c764f0cfa7d718f7c5cc7a8e4 (diff) |
drm/i915: move gen6 rps handling to workqueue
The render P-state handling code requires reading from a GT register.
This means that FORCEWAKE must be written to, a resource which is shared
and should be protected by struct_mutex. Hence we can not manipulate
that register from within the interrupt handling and so must delegate
the task to a workqueue.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index f39ac3a0fa93..289adaa9c928 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -3386,7 +3386,7 @@ | |||
3386 | #define GEN6_PMINTRMSK 0xA168 | 3386 | #define GEN6_PMINTRMSK 0xA168 |
3387 | 3387 | ||
3388 | #define GEN6_PMISR 0x44020 | 3388 | #define GEN6_PMISR 0x44020 |
3389 | #define GEN6_PMIMR 0x44024 | 3389 | #define GEN6_PMIMR 0x44024 /* rps_lock */ |
3390 | #define GEN6_PMIIR 0x44028 | 3390 | #define GEN6_PMIIR 0x44028 |
3391 | #define GEN6_PMIER 0x4402C | 3391 | #define GEN6_PMIER 0x4402C |
3392 | #define GEN6_PM_MBOX_EVENT (1<<25) | 3392 | #define GEN6_PM_MBOX_EVENT (1<<25) |
@@ -3396,6 +3396,9 @@ | |||
3396 | #define GEN6_PM_RP_DOWN_THRESHOLD (1<<4) | 3396 | #define GEN6_PM_RP_DOWN_THRESHOLD (1<<4) |
3397 | #define GEN6_PM_RP_UP_EI_EXPIRED (1<<2) | 3397 | #define GEN6_PM_RP_UP_EI_EXPIRED (1<<2) |
3398 | #define GEN6_PM_RP_DOWN_EI_EXPIRED (1<<1) | 3398 | #define GEN6_PM_RP_DOWN_EI_EXPIRED (1<<1) |
3399 | #define GEN6_PM_DEFERRED_EVENTS (GEN6_PM_RP_UP_THRESHOLD | \ | ||
3400 | GEN6_PM_RP_DOWN_THRESHOLD | \ | ||
3401 | GEN6_PM_RP_DOWN_TIMEOUT) | ||
3399 | 3402 | ||
3400 | #define GEN6_PCODE_MAILBOX 0x138124 | 3403 | #define GEN6_PCODE_MAILBOX 0x138124 |
3401 | #define GEN6_PCODE_READY (1<<31) | 3404 | #define GEN6_PCODE_READY (1<<31) |