Browse Source

drm/i915: Move HAS_L3_DPF definition to platform definition

Moving all GPU features to the platform definition allows for
        - standard place when adding new features from new platforms
        - possible to see supported features when dumping struct
          definitions

Signed-off-by: Carlos Santa <carlos.santa@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Carlos Santa 9 years ago
parent
commit
ca9c452388
2 changed files with 6 additions and 1 deletions
  1. 2 1
      drivers/gpu/drm/i915/i915_drv.h
  2. 4 0
      drivers/gpu/drm/i915/i915_pci.c

+ 2 - 1
drivers/gpu/drm/i915/i915_drv.h

@@ -664,6 +664,7 @@ struct intel_csr {
 	func(has_gmbus_irq) sep \
 	func(has_gmbus_irq) sep \
 	func(has_hw_contexts) sep \
 	func(has_hw_contexts) sep \
 	func(has_logical_ring_contexts) sep \
 	func(has_logical_ring_contexts) sep \
+	func(has_l3_dpf) sep \
 	func(has_pipe_cxsr) sep \
 	func(has_pipe_cxsr) sep \
 	func(has_hotplug) sep \
 	func(has_hotplug) sep \
 	func(cursor_needs_physical) sep \
 	func(cursor_needs_physical) sep \
@@ -2841,7 +2842,7 @@ struct drm_i915_cmd_table {
 			       IS_VALLEYVIEW(dev) || IS_CHERRYVIEW(dev))
 			       IS_VALLEYVIEW(dev) || IS_CHERRYVIEW(dev))
 
 
 /* DPF == dynamic parity feature */
 /* DPF == dynamic parity feature */
-#define HAS_L3_DPF(dev) (IS_IVYBRIDGE(dev) || IS_HASWELL(dev))
+#define HAS_L3_DPF(dev) (INTEL_INFO(dev)->has_l3_dpf)
 #define NUM_L3_SLICES(dev) (IS_HSW_GT3(dev) ? 2 : HAS_L3_DPF(dev))
 #define NUM_L3_SLICES(dev) (IS_HSW_GT3(dev) ? 2 : HAS_L3_DPF(dev))
 
 
 #define GT_FREQUENCY_MULTIPLIER 50
 #define GT_FREQUENCY_MULTIPLIER 50

+ 4 - 0
drivers/gpu/drm/i915/i915_pci.c

@@ -222,18 +222,21 @@ static const struct intel_device_info intel_sandybridge_m_info = {
 static const struct intel_device_info intel_ivybridge_d_info = {
 static const struct intel_device_info intel_ivybridge_d_info = {
 	GEN7_FEATURES,
 	GEN7_FEATURES,
 	.is_ivybridge = 1,
 	.is_ivybridge = 1,
+	.has_l3_dpf = 1,
 };
 };
 
 
 static const struct intel_device_info intel_ivybridge_m_info = {
 static const struct intel_device_info intel_ivybridge_m_info = {
 	GEN7_FEATURES,
 	GEN7_FEATURES,
 	.is_ivybridge = 1,
 	.is_ivybridge = 1,
 	.is_mobile = 1,
 	.is_mobile = 1,
+	.has_l3_dpf = 1,
 };
 };
 
 
 static const struct intel_device_info intel_ivybridge_q_info = {
 static const struct intel_device_info intel_ivybridge_q_info = {
 	GEN7_FEATURES,
 	GEN7_FEATURES,
 	.is_ivybridge = 1,
 	.is_ivybridge = 1,
 	.num_pipes = 0, /* legal, last one wins */
 	.num_pipes = 0, /* legal, last one wins */
+	.has_l3_dpf = 1,
 };
 };
 
 
 #define VLV_FEATURES  \
 #define VLV_FEATURES  \
@@ -268,6 +271,7 @@ static const struct intel_device_info intel_valleyview_info = {
 static const struct intel_device_info intel_haswell_info = {
 static const struct intel_device_info intel_haswell_info = {
 	HSW_FEATURES,
 	HSW_FEATURES,
 	.is_haswell = 1,
 	.is_haswell = 1,
+	.has_l3_dpf = 1,
 };
 };
 
 
 #define BDW_FEATURES \
 #define BDW_FEATURES \