OSDN Git Service

drm/i915/tgl: Check if pipe D is fused
authorJosé Roberto de Souza <jose.souza@intel.com>
Thu, 11 Jul 2019 17:31:00 +0000 (10:31 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 11 Jul 2019 23:31:03 +0000 (16:31 -0700)
On Tiger Lake there is one more pipe - check if it's fused.

Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190711173115.28296-7-lucas.demarchi@intel.com
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_device_info.c

index 6fe3d74..94e76fa 100644 (file)
@@ -7633,6 +7633,7 @@ enum {
 #define SKL_DFSM_PIPE_A_DISABLE                (1 << 30)
 #define SKL_DFSM_PIPE_B_DISABLE                (1 << 21)
 #define SKL_DFSM_PIPE_C_DISABLE                (1 << 28)
+#define TGL_DFSM_PIPE_D_DISABLE                (1 << 22)
 
 #define SKL_DSSM                               _MMIO(0x51004)
 #define CNL_DSSM_CDCLK_PLL_REFCLK_24MHz                (1 << 31)
index e0d9a7a..f99c9fd 100644 (file)
@@ -938,6 +938,9 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
                        enabled_mask &= ~BIT(PIPE_B);
                if (dfsm & SKL_DFSM_PIPE_C_DISABLE)
                        enabled_mask &= ~BIT(PIPE_C);
+               if (INTEL_GEN(dev_priv) >= 12 &&
+                   (dfsm & TGL_DFSM_PIPE_D_DISABLE))
+                       enabled_mask &= ~BIT(PIPE_D);
 
                /*
                 * At least one pipe should be enabled and if there are