aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_panel.c
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2013-11-19 12:10:12 -0500
committerDave Airlie <airlied@redhat.com>2014-06-04 19:54:33 -0400
commit51fd371bbaf94018a1223b4e2cf20b9880fd92d4 (patch)
treee86e8ec3ace2fd61111105d39f5eb2d37378e9a8 /drivers/gpu/drm/i915/intel_panel.c
parent4f71d0cb76339a10fd445b0b281acc45c71b6271 (diff)
drm: convert crtc and connection_mutex to ww_mutex (v5)
For atomic, it will be quite necessary to not need to care so much about locking order. And 'state' gives us a convenient place to stash a ww_ctx for any sort of update that needs to grab multiple crtc locks. Because we will want to eventually make locking even more fine grained (giving locks to planes, connectors, etc), split out drm_modeset_lock and drm_modeset_acquire_ctx to track acquired locks. Atomic will use this to keep track of which locks have been acquired in a transaction. v1: original v2: remove a few things not needed until atomic, for now v3: update for v3 of connection_mutex patch.. v4: squash in docbook v5: doc tweaks/fixes Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_panel.c')
-rw-r--r--drivers/gpu/drm/i915/intel_panel.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index d4d415665475..2e1338a5d488 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -876,12 +876,12 @@ static int intel_backlight_device_update_status(struct backlight_device *bd)
876 struct intel_connector *connector = bl_get_data(bd); 876 struct intel_connector *connector = bl_get_data(bd);
877 struct drm_device *dev = connector->base.dev; 877 struct drm_device *dev = connector->base.dev;
878 878
879 mutex_lock(&dev->mode_config.connection_mutex); 879 drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
880 DRM_DEBUG_KMS("updating intel_backlight, brightness=%d/%d\n", 880 DRM_DEBUG_KMS("updating intel_backlight, brightness=%d/%d\n",
881 bd->props.brightness, bd->props.max_brightness); 881 bd->props.brightness, bd->props.max_brightness);
882 intel_panel_set_backlight(connector, bd->props.brightness, 882 intel_panel_set_backlight(connector, bd->props.brightness,
883 bd->props.max_brightness); 883 bd->props.max_brightness);
884 mutex_unlock(&dev->mode_config.connection_mutex); 884 drm_modeset_unlock(&dev->mode_config.connection_mutex);
885 return 0; 885 return 0;
886} 886}
887 887
@@ -893,9 +893,9 @@ static int intel_backlight_device_get_brightness(struct backlight_device *bd)
893 int ret; 893 int ret;
894 894
895 intel_runtime_pm_get(dev_priv); 895 intel_runtime_pm_get(dev_priv);
896 mutex_lock(&dev->mode_config.connection_mutex); 896 drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
897 ret = intel_panel_get_backlight(connector); 897 ret = intel_panel_get_backlight(connector);
898 mutex_unlock(&dev->mode_config.connection_mutex); 898 drm_modeset_unlock(&dev->mode_config.connection_mutex);
899 intel_runtime_pm_put(dev_priv); 899 intel_runtime_pm_put(dev_priv);
900 900
901 return ret; 901 return ret;