Skip to content

Commit 5d3a618

Browse files
lucasdemarchirodrigovivi
authored andcommitted
drm/i915: fix not reading DSC disable fuse in GLK
We were using GRAPHICS_VER() to handle SKL_DFSM register, which means we were not handling GLK correctly since that has GRAPHICS_VER == 9, but DISPLAY_VER == 10. Switch the entire branch to check DISPLAY_VER which makes it more in line with Bspec. Even though the Bspec has an exception for RKL in TGL_DFSM_PIPE_D_DISABLE, we don't have to do anything as the bit has disable semantic and RKL doesn't have pipe D. Bspec: 50075, 7548 Fixes: 2b5a456 ("drm/i915/display: Simplify GLK display version tests") Cc: Matt Roper <[email protected]> Signed-off-by: Lucas De Marchi <[email protected]> Reviewed-by: Matt Roper <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 4fd1772) Signed-off-by: Rodrigo Vivi <[email protected]>
1 parent d7f237d commit 5d3a618

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

drivers/gpu/drm/i915/intel_device_info.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
325325
info->pipe_mask &= ~BIT(PIPE_C);
326326
info->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
327327
}
328-
} else if (HAS_DISPLAY(dev_priv) && GRAPHICS_VER(dev_priv) >= 9) {
328+
} else if (HAS_DISPLAY(dev_priv) && DISPLAY_VER(dev_priv) >= 9) {
329329
u32 dfsm = intel_de_read(dev_priv, SKL_DFSM);
330330

331331
if (dfsm & SKL_DFSM_PIPE_A_DISABLE) {
@@ -340,7 +340,8 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
340340
info->pipe_mask &= ~BIT(PIPE_C);
341341
info->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
342342
}
343-
if (GRAPHICS_VER(dev_priv) >= 12 &&
343+
344+
if (DISPLAY_VER(dev_priv) >= 12 &&
344345
(dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
345346
info->pipe_mask &= ~BIT(PIPE_D);
346347
info->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
@@ -352,10 +353,10 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
352353
if (dfsm & SKL_DFSM_DISPLAY_PM_DISABLE)
353354
info->display.has_fbc = 0;
354355

355-
if (GRAPHICS_VER(dev_priv) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
356+
if (DISPLAY_VER(dev_priv) >= 11 && (dfsm & ICL_DFSM_DMC_DISABLE))
356357
info->display.has_dmc = 0;
357358

358-
if (GRAPHICS_VER(dev_priv) >= 10 &&
359+
if (DISPLAY_VER(dev_priv) >= 10 &&
359360
(dfsm & CNL_DFSM_DISPLAY_DSC_DISABLE))
360361
info->display.has_dsc = 0;
361362
}

0 commit comments

Comments
 (0)