[Intel-gfx] [PATCH] drm/i915: disable DMC idle states for Intel UHD Graphics 620

Steven 'Steve' Kendall skend at chromium.org
Fri Nov 11 22:49:30 UTC 2022


Some machines with Intel UHD Graphics 620 (8086:5917) such as Dell
Latitude 7490 are unable to wake from sleep. Disable DMC for
Intel UHD Graphics 620.

Link: https://gitlab.freedesktop.org/drm/intel/-/issues/7339
Signed-off-by: Steven 'Steve' Kendall <skend at google.com>
---
 drivers/gpu/drm/i915/i915_pci.c | 14 ++++++++++++++
 include/drm/i915_pciids.h       |  6 +++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index cd4487a1d3be..ea148be46b14 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -697,6 +697,10 @@ static const struct intel_device_info skl_gt4_info = {
 	.gt = 4,
 };
 
+#define GEN9_DMCLESS_FEATURES \
+	GEN9_FEATURES, \
+	.__runtime.has_dmc = 0
+
 #define GEN9_LP_FEATURES \
 	GEN(9), \
 	.is_lp = 1, \
@@ -753,6 +757,10 @@ static const struct intel_device_info glk_info = {
 	GEN9_FEATURES, \
 	PLATFORM(INTEL_KABYLAKE)
 
+#define KBL_DMCLESS_PLATFORM \
+	GEN9_DMCLESS_FEATURES, \
+	PLATFORM(INTEL_KABYLAKE)
+
 static const struct intel_device_info kbl_gt1_info = {
 	KBL_PLATFORM,
 	.gt = 1,
@@ -763,6 +771,11 @@ static const struct intel_device_info kbl_gt2_info = {
 	.gt = 2,
 };
 
+static const struct intel_device_info dmcless_kbl_gt2_info = {
+	KBL_DMCLESS_PLATFORM,
+	.gt = 2,
+};
+
 static const struct intel_device_info kbl_gt3_info = {
 	KBL_PLATFORM,
 	.gt = 3,
@@ -1202,6 +1215,7 @@ static const struct pci_device_id pciidlist[] = {
 	INTEL_GLK_IDS(&glk_info),
 	INTEL_KBL_GT1_IDS(&kbl_gt1_info),
 	INTEL_KBL_GT2_IDS(&kbl_gt2_info),
+	DMCLESS_INTEL_KBL_GT2_IDS(&dmcless_kbl_gt2_info),
 	INTEL_KBL_GT3_IDS(&kbl_gt3_info),
 	INTEL_KBL_GT4_IDS(&kbl_gt3_info),
 	INTEL_AML_KBL_GT2_IDS(&kbl_gt2_info),
diff --git a/include/drm/i915_pciids.h b/include/drm/i915_pciids.h
index 4a4c190f7698..93bea60772ff 100644
--- a/include/drm/i915_pciids.h
+++ b/include/drm/i915_pciids.h
@@ -420,11 +420,15 @@
 	INTEL_KBL_ULT_GT2_IDS(info), \
 	INTEL_KBL_ULX_GT2_IDS(info), \
 	INTEL_VGA_DEVICE(0x5912, info), /* DT  GT2 */ \
-	INTEL_VGA_DEVICE(0x5917, info), /* Mobile GT2 */ \
 	INTEL_VGA_DEVICE(0x591A, info), /* SRV GT2 */ \
 	INTEL_VGA_DEVICE(0x591B, info), /* Halo GT2 */ \
 	INTEL_VGA_DEVICE(0x591D, info) /* WKS GT2 */
 
+#define DMCLESS_INTEL_KBL_GT2_IDS(info) \
+	INTEL_KBL_ULT_GT2_IDS(info), \
+	INTEL_KBL_ULX_GT2_IDS(info), \
+	INTEL_VGA_DEVICE(0x5917, info) /* Mobile GT2 */
+
 #define INTEL_KBL_ULT_GT3_IDS(info) \
 	INTEL_VGA_DEVICE(0x5926, info) /* ULT GT3 */
 
-- 
2.38.1.431.g37b22c650d-goog



More information about the Intel-gfx mailing list