drm/i915: Don't use intel_pipe_to_cpu_transcoder() when there's a pipe config around
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 29 Oct 2015 19:25:50 +0000 (21:25 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 10 Nov 2015 14:22:43 +0000 (16:22 +0200)
No point in doing the crtc->pipe->crtc->config->cpu_transcoder dance
when we can just do crtc->config->cpu_transcoder.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1446146763-31821-2-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/gpu/drm/i915/intel_display.c

index a007edcc065116a61526deccf438fffc7f10198b..f42d5d872feef30f322ef159e1cccca83b5633de 100644 (file)
@@ -2097,8 +2097,7 @@ static void intel_enable_pipe(struct intel_crtc *crtc)
        struct drm_device *dev = crtc->base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        enum pipe pipe = crtc->pipe;
-       enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
-                                                                     pipe);
+       enum transcoder cpu_transcoder = crtc->config->cpu_transcoder;
        enum pipe pch_transcoder;
        int reg;
        u32 val;
@@ -5174,13 +5173,11 @@ static unsigned long get_crtc_power_domains(struct drm_crtc *crtc)
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
        enum pipe pipe = intel_crtc->pipe;
        unsigned long mask;
-       enum transcoder transcoder;
+       enum transcoder transcoder = intel_crtc->config->cpu_transcoder;
 
        if (!crtc->state->active)
                return 0;
 
-       transcoder = intel_pipe_to_cpu_transcoder(dev->dev_private, pipe);
-
        mask = BIT(POWER_DOMAIN_PIPE(pipe));
        mask |= BIT(POWER_DOMAIN_TRANSCODER(transcoder));
        if (intel_crtc->config->pch_pfit.enabled ||