[Intel-gfx] [PATCH v2] drm/i915: hsw backlight registers need transcoder instead of pipe
Imre Deak
imre.deak at intel.com
Thu Apr 25 16:07:55 CEST 2013
On Thu, 2013-04-25 at 16:49 +0300, Jani Nikula wrote:
> v2: Make TRANSCODER_EDP handling more explicit. (Imre)
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Looks ok, so still applies my r-b.
> --
> drivers/gpu/drm/i915/i915_reg.h | 4 ++++
> drivers/gpu/drm/i915/intel_panel.c | 7 ++++++-
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index 60e0e19..e79669f 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -2087,6 +2087,10 @@
> #define BLM_PIPE_A (0 << 29)
> #define BLM_PIPE_B (1 << 29)
> #define BLM_PIPE_C (2 << 29) /* ivb + */
> +#define BLM_TRANSCODER_A BLM_PIPE_A /* hsw */
> +#define BLM_TRANSCODER_B BLM_PIPE_B
> +#define BLM_TRANSCODER_C BLM_PIPE_C
> +#define BLM_TRANSCODER_EDP (3 << 29)
> #define BLM_PIPE(pipe) ((pipe) << 29)
> #define BLM_POLARITY_I965 (1 << 28) /* gen4 only */
> #define BLM_PHASE_IN_INTERUPT_STATUS (1 << 26)
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 5d3e9d7..7f6141d 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -344,6 +344,8 @@ void intel_panel_enable_backlight(struct drm_device *dev,
> enum pipe pipe)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
> + enum transcoder cpu_transcoder =
> + intel_pipe_to_cpu_transcoder(dev_priv, pipe);
> unsigned long flags;
>
> spin_lock_irqsave(&dev_priv->backlight.lock, flags);
> @@ -374,7 +376,10 @@ void intel_panel_enable_backlight(struct drm_device *dev,
> else
> tmp &= ~BLM_PIPE_SELECT;
>
> - tmp |= BLM_PIPE(pipe);
> + if (cpu_transcoder == TRANSCODER_EDP)
> + tmp |= BLM_TRANSCODER_EDP;
> + else
> + tmp |= BLM_PIPE(cpu_transcoder);
> tmp &= ~BLM_PWM_ENABLE;
>
> I915_WRITE(reg, tmp);
More information about the Intel-gfx
mailing list