diff options
author | Jani Nikula | 2013-04-12 14:18:37 +0200 |
---|---|---|
committer | Daniel Vetter | 2013-04-25 14:10:10 +0200 |
commit | 8ba2d18520ce380cf572e9902d9b3b91ece6c2c0 (patch) | |
tree | eb1ecb47ee2f713bc2980e97db7a0b566334ff90 /drivers/gpu/drm/i915/i915_drv.h | |
parent | drm/i915: keep max backlight internal to intel_panel.c (diff) | |
download | kernel-qcow2-linux-8ba2d18520ce380cf572e9902d9b3b91ece6c2c0.tar.gz kernel-qcow2-linux-8ba2d18520ce380cf572e9902d9b3b91ece6c2c0.tar.xz kernel-qcow2-linux-8ba2d18520ce380cf572e9902d9b3b91ece6c2c0.zip |
drm/i915: protect backlight registers and data with a spinlock
Backlight data and registers are fiddled through LVDS/eDP modeset
enable/disable hooks, backlight sysfs files, asle interrupts, and register
save/restore. Protect the backlight related registers and driver private
fields using a spinlock.
The locking in register save/restore covers a little more than is strictly
necessary, including non-modeset case, for simplicity.
v2: Cover register access, save/restore, i915_read_blc_pwm_ctl() and code
paths leading there.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 95a3cc367d50..f6f4839484d1 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -960,6 +960,7 @@ typedef struct drm_i915_private { struct { int level; bool enabled; + spinlock_t lock; /* bl registers and the above bl fields */ struct backlight_device *device; } backlight; |