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 */