drm/i915/bxt: fix panel fitter setup in crtc disable/enable
authorJesse Barnes <jbarnes@virtuousgeek.org>
Thu, 22 Jan 2015 01:19:54 +0000 (17:19 -0800)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 16 Apr 2015 09:29:06 +0000 (11:29 +0200)
Broxton has the same panel fitter registers as Skylake.

v2:
- add MISSING_CASE for future platforms (daniel)

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Sagar Kamble <sagar.a.kamble@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 783d6008fdeda30c3754c5097801f5f6734d562c..3322e5a12e8e6df69f18342e5f754391b759fbd2 100644 (file)
@@ -4881,10 +4881,12 @@ static void haswell_crtc_enable(struct drm_crtc *crtc)
 
        intel_ddi_enable_pipe_clock(intel_crtc);
 
-       if (IS_SKYLAKE(dev))
+       if (INTEL_INFO(dev)->gen == 9)
                skylake_pfit_update(intel_crtc, 1);
-       else
+       else if (INTEL_INFO(dev)->gen < 9)
                ironlake_pfit_enable(intel_crtc);
+       else
+               MISSING_CASE(INTEL_INFO(dev)->gen);
 
        /*
         * On ILK+ LUT must be loaded before the pipe is running but with
@@ -5029,10 +5031,12 @@ static void haswell_crtc_disable(struct drm_crtc *crtc)
 
        intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder);
 
-       if (IS_SKYLAKE(dev))
+       if (INTEL_INFO(dev)->gen == 9)
                skylake_pfit_update(intel_crtc, 0);
-       else
+       else if (INTEL_INFO(dev)->gen < 9)
                ironlake_pfit_disable(intel_crtc);
+       else
+               MISSING_CASE(INTEL_INFO(dev)->gen);
 
        intel_ddi_disable_pipe_clock(intel_crtc);
 
@@ -9191,10 +9195,13 @@ static bool haswell_get_pipe_config(struct intel_crtc *crtc,
 
        pfit_domain = POWER_DOMAIN_PIPE_PANEL_FITTER(crtc->pipe);
        if (intel_display_power_is_enabled(dev_priv, pfit_domain)) {
-               if (IS_SKYLAKE(dev))
+               if (INTEL_INFO(dev)->gen == 9)
                        skylake_get_pfit_config(crtc, pipe_config);
-               else
+               else if (INTEL_INFO(dev)->gen < 9)
                        ironlake_get_pfit_config(crtc, pipe_config);
+               else
+                       MISSING_CASE(INTEL_INFO(dev)->gen);
+
        } else {
                pipe_config->scaler_state.scaler_id = -1;
                pipe_config->scaler_state.scaler_users &= ~(1 << SKL_CRTC_INDEX);