Skip to content

Commit

Permalink
drm/i915/bxt: fix panel fitter setup in crtc disable/enable
Browse files Browse the repository at this point in the history
Broxton has the same panel fitter registers as Skylake.

v2:
- add MISSING_CASE for future platforms (daniel)

Signed-off-by: Jesse Barnes <[email protected]>
Signed-off-by: Imre Deak <[email protected]>
Reviewed-by: Sagar Kamble <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>
  • Loading branch information
jbarnes993 authored and danvet committed Apr 16, 2015
1 parent 1ab2338 commit ff6d9f5
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions drivers/gpu/drm/i915/intel_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);

Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit ff6d9f5

Please sign in to comment.