Searched hist:"9270388 e184fddb83e3b69c6b7f5b523c070e53d" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/gpu/drm/i915/ |
H A D | i915_irq.c | diff 9270388e184fddb83e3b69c6b7f5b523c070e53d Thu Aug 09 09:46:01 CDT 2012 Daniel Vetter <daniel.vetter@ffwll.ch> drm/i915: fix up ilk drps/ips locking
We change the drps/ips sw/hw state from different callers: Our own irq handler, the external intel-ips module and from process context. Most of these callers don't take any lock at all.
Protect everything by making the mchdev_lock irqsave and grabbing it in all relevant callsites. Note that we have to convert a few sleeps in the drps enable/disable code to delays, but alas, I'm not volunteering to restructure the code around a few work items.
For paranoia add a spin_locked assert to ironlake_set_drps, too.
v2: Move one access inside the lock protection. Caught by the dev_priv->ips mass-rename ...
v3: Resolve rebase conflict.
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|