[PATCH 10/10] drm/i915: make GEN11 intel GPU series configurable

Andi Shyti andi.shyti at intel.com
Wed Sep 12 13:18:21 UTC 2018


GEN11 cosists of

  Ice Lake

GPU.

Signed-off-by: Andi Shyti <andi.shyti at intel.com>
---
 drivers/gpu/drm/i915/Kconfig.sel | 11 ++++++++++-
 drivers/gpu/drm/i915/i915_drv.h  |  4 ++--
 drivers/gpu/drm/i915/i915_pci.c  |  6 ++++++
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/Kconfig.sel b/drivers/gpu/drm/i915/Kconfig.sel
index 9b44e4becec9..4f82affd285d 100644
--- a/drivers/gpu/drm/i915/Kconfig.sel
+++ b/drivers/gpu/drm/i915/Kconfig.sel
@@ -270,7 +270,16 @@ config DRM_INTEL_CANNONLAKE
 	help
 	  Choose this option if you have a Cannon Lake gpu
 
+comment "Intel GEN11"
+
 config DRM_INTEL_GEN11
 	bool
-	default y
 	select DRM_INTEL_GEN10
+
+config DRM_INTEL_ICELAKE
+	bool "Intel Ice Lake GPU"
+	default y
+	depends on DRM_I915
+	select DRM_INTEL_GEN11
+	help
+	  Choose this option if you have an Ice Lake gpu
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 10485fbb4600..87819384203a 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2409,7 +2409,7 @@ intel_info(const struct drm_i915_private *dev_priv)
 #define IS_GEMINILAKE(dev_priv)	IS_SELECTED_PLATFORM(dev_priv, INTEL_GEMINILAKE)
 #define IS_COFFEELAKE(dev_priv)	IS_SELECTED_PLATFORM(dev_priv, INTEL_COFFEELAKE)
 #define IS_CANNONLAKE(dev_priv)	IS_SELECTED_PLATFORM(dev_priv, INTEL_CANNONLAKE)
-#define IS_ICELAKE(dev_priv)	IS_PLATFORM(dev_priv, INTEL_ICELAKE)
+#define IS_ICELAKE(dev_priv)	IS_SELECTED_PLATFORM(dev_priv, INTEL_ICELAKE)
 #define IS_MOBILE(dev_priv)	((dev_priv)->info.is_mobile)
 #define IS_HSW_EARLY_SDV(dev_priv) (IS_HASWELL(dev_priv) && \
 				    (INTEL_DEVID(dev_priv) & 0xFF00) == 0x0C00)
@@ -2523,7 +2523,6 @@ intel_info(const struct drm_i915_private *dev_priv)
  * have their own (e.g. HAS_PCH_SPLIT for ILK+ display, IS_foo for particular
  * chips, etc.).
  */
-#define IS_GEN11(dev_priv)	(!!((dev_priv)->info.gen_mask & BIT(10)))
 #define __IS_GEN_X(N, dev_priv)	__and(IS_ENABLED(CONFIG_DRIM_I915_GEN##N), \
 				!!((dev_priv)->info.gen_mask & BIT(N-1)))
 
@@ -2536,6 +2535,7 @@ intel_info(const struct drm_i915_private *dev_priv)
 #define IS_GEN8(dev_priv)	__IS_GEN_X(8, dev_priv)
 #define IS_GEN9(dev_priv)	__IS_GEN_X(9, dev_priv)
 #define IS_GEN10(dev_priv)	__IS_GEN_X(10, dev_priv)
+#define IS_GEN11(dev_priv)	__IS_GEN_X(11, dev_priv)
 
 #define IS_LP(dev_priv)	(INTEL_INFO(dev_priv)->is_lp)
 #define IS_GEN9_LP(dev_priv)	(IS_GEN9(dev_priv) && IS_LP(dev_priv))
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index ce6008719869..730b016cdeb5 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -670,18 +670,22 @@ static const struct intel_device_info intel_cannonlake_info = {
 };
 #endif
 
+#ifdef CONFIG_DRM_INTEL_GEN11
 #define GEN11_FEATURES \
 	GEN10_FEATURES, \
 	GEN(11), \
 	.ddb_size = 2048, \
 	.has_logical_ring_elsq = 1
+#endif
 
+#ifdef CONFIG_DRM_INTEL_ICELAKE
 static const struct intel_device_info intel_icelake_11_info = {
 	GEN11_FEATURES,
 	PLATFORM(INTEL_ICELAKE),
 	.is_alpha_support = 1,
 	.ring_mask = RENDER_RING | BLT_RING | VEBOX_RING | BSD_RING | BSD3_RING,
 };
+#endif
 
 #undef GEN
 #undef PLATFORM
@@ -801,7 +805,9 @@ static const struct pci_device_id pciidlist[] = {
 #ifdef CONFIG_DRM_INTEL_CANNONLAKE
 	INTEL_CNL_IDS(&intel_cannonlake_info),
 #endif
+#ifdef CONFIG_DRM_INTEL_ICELAKE
 	INTEL_ICL_11_IDS(&intel_icelake_11_info),
+#endif
 	{0, 0, 0}
 };
 MODULE_DEVICE_TABLE(pci, pciidlist);
-- 
2.19.0



More information about the Intel-gfx-trybot mailing list