diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2013-10-31 12:55:49 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-11-06 11:56:28 -0500 |
commit | 752aa88a1e784c22d514db3b440e49427b58259e (patch) | |
tree | 755926ad23793496c41b601a9cbb42950a57416e /drivers/gpu/drm/i915/intel_display.c | |
parent | 91a60f20712179e56b7a6c3d332a5f6f9a54aa11 (diff) |
drm/i915: make backlight functions take a connector
On VLV/BYT, backlight controls a per-pipe, so when adjusting the
backlight we need to pass the correct info. So make the externally
visible backlight functions take a connector argument, which can be used
internally to figure out the pipe backlight to adjust.
v2: make connector pipe lookup check for NULL crtc (Jani)
fixup connector check in ASLE code (Jani)
v3: make sure we take the mode config lock around lookups (Daniel)
v4: fix double unlock in panel_get_brightness (Daniel)
v5: push ASLE work into a work queue (Daniel)
v6: separate ASLE work to a prep patch, rebase (Jani)
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
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/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index e31a740e1663..73f036bddb6f 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -9874,6 +9874,18 @@ static void intel_crtc_init(struct drm_device *dev, int pipe) | |||
9874 | drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs); | 9874 | drm_crtc_helper_add(&intel_crtc->base, &intel_helper_funcs); |
9875 | } | 9875 | } |
9876 | 9876 | ||
9877 | enum pipe intel_get_pipe_from_connector(struct intel_connector *connector) | ||
9878 | { | ||
9879 | struct drm_encoder *encoder = connector->base.encoder; | ||
9880 | |||
9881 | WARN_ON(!mutex_is_locked(&connector->base.dev->mode_config.mutex)); | ||
9882 | |||
9883 | if (!encoder) | ||
9884 | return INVALID_PIPE; | ||
9885 | |||
9886 | return to_intel_crtc(encoder->crtc)->pipe; | ||
9887 | } | ||
9888 | |||
9877 | int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, | 9889 | int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, |
9878 | struct drm_file *file) | 9890 | struct drm_file *file) |
9879 | { | 9891 | { |