drm/i915/display: Remove FBC capability from fused off pipes
authorClint Taylor <clinton.a.taylor@intel.com>
Tue, 19 Sep 2023 19:21:10 +0000 (12:21 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 21 Sep 2023 14:39:47 +0000 (07:39 -0700)
If a particular pipe is disabled by fuse also remove the FBC for that
pipe.

Bspec: 69464
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230919192128.2045154-4-lucas.demarchi@intel.com
drivers/gpu/drm/i915/display/intel_display_device.c

index 5f14f9e8ca88137229063bf680aeac0297613e3c..a6a18eae7ae861d87a80b77a7ee17873d56cc7df 100644 (file)
@@ -1033,16 +1033,19 @@ void intel_display_device_info_runtime_init(struct drm_i915_private *i915)
                if (dfsm & SKL_DFSM_PIPE_B_DISABLE) {
                        display_runtime->pipe_mask &= ~BIT(PIPE_B);
                        display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_B);
+                       display_runtime->fbc_mask &= ~BIT(INTEL_FBC_B);
                }
                if (dfsm & SKL_DFSM_PIPE_C_DISABLE) {
                        display_runtime->pipe_mask &= ~BIT(PIPE_C);
                        display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_C);
+                       display_runtime->fbc_mask &= ~BIT(INTEL_FBC_C);
                }
 
                if (DISPLAY_VER(i915) >= 12 &&
                    (dfsm & TGL_DFSM_PIPE_D_DISABLE)) {
                        display_runtime->pipe_mask &= ~BIT(PIPE_D);
                        display_runtime->cpu_transcoder_mask &= ~BIT(TRANSCODER_D);
+                       display_runtime->fbc_mask &= ~BIT(INTEL_FBC_D);
                }
 
                if (!display_runtime->pipe_mask)