Sophie

Sophie

distrib > Mageia > 8 > armv7hl > media > core-backports-src > by-pkgid > 411054bc5efa06c6c893f1d9f23414eb > files > 68

kernel-5.17.11-1.mga8.src.rpm

From eaff17985c4c59640de0b06756f1c14fc0fe7f9d Mon Sep 17 00:00:00 2001
From: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Date: Tue, 30 Nov 2021 16:36:07 +0530
Subject: [PATCH] drm/i915/adl-n: Enable ADL-N platform

Adding PCI device ids and enabling ADL-N platform.
ADL-N from i915 point of view is subplatform of ADL-P.

BSpec: 68397

Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
---
 arch/x86/kernel/early-quirks.c           |    1 +
 drivers/gpu/drm/i915/i915_drv.h          |    2 ++
 drivers/gpu/drm/i915/i915_pci.c          |    1 +
 drivers/gpu/drm/i915/intel_device_info.c |    7 +++++++
 drivers/gpu/drm/i915/intel_device_info.h |    3 +++
 include/drm/i915_pciids.h                |    5 +++++
 6 files changed, 19 insertions(+)

diff -Nurp linux-5.15.orig/arch/x86/kernel/early-quirks.c linux-5.15/arch/x86/kernel/early-quirks.c
--- linux-5.15.orig/arch/x86/kernel/early-quirks.c	2021-12-10 22:05:09.320552918 +0200
+++ linux-5.15/arch/x86/kernel/early-quirks.c	2021-12-10 22:05:50.013460768 +0200
@@ -554,6 +554,7 @@ static const struct pci_device_id intel_
 	INTEL_RKL_IDS(&gen11_early_ops),
 	INTEL_ADLS_IDS(&gen11_early_ops),
 	INTEL_ADLP_IDS(&gen11_early_ops),
+	INTEL_ADLN_IDS(&gen11_early_ops),
 	INTEL_RPLS_IDS(&gen11_early_ops),
 };
 
diff -Nurp linux-5.15.orig/drivers/gpu/drm/i915/i915_drv.h linux-5.15/drivers/gpu/drm/i915/i915_drv.h
--- linux-5.15.orig/drivers/gpu/drm/i915/i915_drv.h	2021-12-10 22:05:09.320552918 +0200
+++ linux-5.15/drivers/gpu/drm/i915/i915_drv.h	2021-12-10 22:05:50.014460815 +0200
@@ -1442,6 +1442,8 @@ IS_SUBPLATFORM(const struct drm_i915_pri
 #define IS_DG1(dev_priv)        IS_PLATFORM(dev_priv, INTEL_DG1)
 #define IS_ALDERLAKE_S(dev_priv) IS_PLATFORM(dev_priv, INTEL_ALDERLAKE_S)
 #define IS_ALDERLAKE_P(dev_priv) IS_PLATFORM(dev_priv, INTEL_ALDERLAKE_P)
+#define IS_ALDERLAKE_N(dev_priv) \
+	IS_SUBPLATFORM(dev_priv, INTEL_ALDERLAKE_P, INTEL_SUBPLATFORM_N)
 #define IS_XEHPSDV(dev_priv) IS_PLATFORM(dev_priv, INTEL_XEHPSDV)
 #define IS_DG2(dev_priv)	IS_PLATFORM(dev_priv, INTEL_DG2)
 #define IS_DG2_G10(dev_priv) \
diff -Nurp linux-5.15.orig/drivers/gpu/drm/i915/i915_pci.c linux-5.15/drivers/gpu/drm/i915/i915_pci.c
--- linux-5.15.orig/drivers/gpu/drm/i915/i915_pci.c	2021-12-10 22:05:09.320552918 +0200
+++ linux-5.15/drivers/gpu/drm/i915/i915_pci.c	2021-12-10 22:05:50.014460815 +0200
@@ -1114,6 +1114,7 @@ static const struct pci_device_id pciidl
 	INTEL_RKL_IDS(&rkl_info),
 	INTEL_ADLS_IDS(&adl_s_info),
 	INTEL_ADLP_IDS(&adl_p_info),
+	INTEL_ADLN_IDS(&adl_p_info),
 	INTEL_DG1_IDS(&dg1_info),
 	INTEL_RPLS_IDS(&adl_s_info),
 	{0, 0, 0}
diff -Nurp linux-5.15.orig/drivers/gpu/drm/i915/intel_device_info.c linux-5.15/drivers/gpu/drm/i915/intel_device_info.c
--- linux-5.15.orig/drivers/gpu/drm/i915/intel_device_info.c	2021-12-10 22:05:09.320552918 +0200
+++ linux-5.15/drivers/gpu/drm/i915/intel_device_info.c	2021-12-10 22:07:03.521907029 +0200
@@ -181,6 +181,10 @@ static const u16 subplatform_rpls_ids[]
 	INTEL_RPLS_IDS(0),
 };
 
+static const u16 subplatform_n_ids[] = {
+	INTEL_ADLN_IDS(0),
+};
+
 static bool find_devid(u16 id, const u16 *p, unsigned int num)
 {
 	for (; num; num--, p++) {
@@ -217,6 +221,9 @@ void intel_device_info_subplatform_init(
 	} else if (find_devid(devid, subplatform_portf_ids,
 			      ARRAY_SIZE(subplatform_portf_ids))) {
 		mask = BIT(INTEL_SUBPLATFORM_PORTF);
+	} else if (find_devid(devid, subplatform_n_ids,
+			      ARRAY_SIZE(subplatform_n_ids))) {
+		mask = BIT(INTEL_SUBPLATFORM_N);
 	} else if (find_devid(devid, subplatform_rpls_ids,
 			      ARRAY_SIZE(subplatform_rpls_ids))) {
 		mask = BIT(INTEL_SUBPLATFORM_RPL_S);
diff -Nurp linux-5.15.orig/drivers/gpu/drm/i915/intel_device_info.h linux-5.15/drivers/gpu/drm/i915/intel_device_info.h
--- linux-5.15.orig/drivers/gpu/drm/i915/intel_device_info.h	2021-12-10 22:05:09.320552918 +0200
+++ linux-5.15/drivers/gpu/drm/i915/intel_device_info.h	2021-12-10 22:05:50.014460815 +0200
@@ -113,6 +113,9 @@ enum intel_platform {
 /* ADL-S */
 #define INTEL_SUBPLATFORM_RPL_S	0
 
+/* ADL */
+#define INTEL_SUBPLATFORM_N	0
+
 enum intel_ppgtt_type {
 	INTEL_PPGTT_NONE = I915_GEM_PPGTT_NONE,
 	INTEL_PPGTT_ALIASING = I915_GEM_PPGTT_ALIASING,
diff -Nurp linux-5.15.orig/include/drm/i915_pciids.h linux-5.15/include/drm/i915_pciids.h
--- linux-5.15.orig/include/drm/i915_pciids.h	2021-12-10 22:05:09.320552918 +0200
+++ linux-5.15/include/drm/i915_pciids.h	2021-12-10 22:05:50.014460815 +0200
@@ -677,4 +677,9 @@
 	INTEL_VGA_DEVICE(0xA788, info), \
 	INTEL_VGA_DEVICE(0xA789, info)
 
+/* ADL-N */
+#define INTEL_ADLN_IDS(info) \
+	INTEL_VGA_DEVICE(0x46D0, info), \
+	INTEL_VGA_DEVICE(0x46D1, info), \
+	INTEL_VGA_DEVICE(0x46D2, info)
 #endif /* _I915_PCIIDS_H */