[Intel-gfx] [PATCH v3 00/21] drm/i915: Organize most GPU features by platform

Carlos Santa carlos.santa at intel.com
Tue Aug 9 18:45:06 UTC 2016


 - organize most GPU features so that they are easy to group by platforms.
   It seems some of the ground work was already done for Gen7 features.

 - make most of these GPU features now a device_info flag also based on
   previous work done by others. The idea is here is to have a central place where
   to add new features, now it should also be possible to see what the supported 
   features are for a given platform by dumping of the struct definitions.
   The list of the features that were converted to a device_info flag include: PSR,
   RUNTIME_PM, CORE_RING_FREQ, CSR, GUC, RESOURCE_STREAMER, RC6,
   RC6p, DP_MST, GMBUS_IRQ, FW_BLC, HW_CONTEXTS, LOGICAL_RING_CONTEXTS, L3_DPF,
   HWS_NEEDS_PHYSICAL and GMCH_DISPLAY.

- Changes since v2, thanks to Rodrigo, Ville, Jani and others for the comments

  - Kill off the approach of inheriting GPU features from platform to platform, even though there's some code consolidation there's added complexity when going through the code to find out what feature is supported where, specifically for features supported across several generations.

- Patch 2: "drm/i915: Remove .is_mobile from platform struct"
  -  Kill off the distintion between desktop vs. mobile for HWS+ and VLV while still keeping it for ILK-IVB.

- Patch 4: "drm/i915: Move HAS_RUNTIME_PM definition to platform"
  - Remove runtime PM support for SNB as it breaks hotplut support.

- Patch 5: "drm/i915: Get rid of HAS_CORE_RING_FREQ"
  - No need for this flag anymore as this flag == .has_llc.

- Patch 20: "drm/i915: Make HWS_NEEDS_PHYSICAL the exception"
  - .hws_needs_physical should the exception, invert the logic so now older GPU h/w enables that since they are fewer to support. Remove support of .need_gfx_hws for newer GPU hardware revisions. 

Carlos Santa (21):
  drm/i915: Move HAS_PSR definition to platform struct definition
  drm/i915: Remove .is_mobile field from platform struct
  drm/i915: Introduce GEN6_FEATURES for device info
  drm/i915: Move HAS_RUNTIME_PM definition to platform
  drm/i915: Get rid of HAS_CORE_RING_FREQ
  drm/i915 Move HAS_CSR definition to platform definition
  drm/i915: Move HAS_RESOURCE_STREAMER definition to platform definition
  drm/i915: Move HAS_RC6 definition to platform definition
  drm/i915: Move HAS_RC6p definition to platform definition
  drm/i915: Move HAS_DP_MST definition to platform definition
  drm/i915: Introduce GEN5_FEATURES for device info
  drm/i915: Move HAS_GMBUS_IRQ definition to platform definition
  drm/i915: Introduce GEN4_FEATURES for device info
  drm/i915: Introduce GEN3_FEATURES for device info
  drm/i915: Introduce GEN2_FEATURES for device info
  drm/i915: Move HAS_HW_CONTEXTS definition to platform
  drm/i915: Move HAS_LOGICAL_RING_CONTEXTS definition to platform
  drm/i915: Move HAS_L3_DPF definition to platform definition
  drm/i915: Move HAS_GMCH_DISPLAY definition to platform
  drm/i915: Make HWS_NEEDS_PHYSICAL the exception
  drm/i915: Move HAS_GUC definition to platform definition

 arch/x86/kernel/early-quirks.c          |   9 +-
 drivers/gpu/drm/i915/i915_debugfs.c     |   3 +-
 drivers/gpu/drm/i915/i915_drv.h         |  57 +++----
 drivers/gpu/drm/i915/i915_gpu_error.c   |   2 +-
 drivers/gpu/drm/i915/i915_pci.c         | 275 +++++++++++++++++---------------
 drivers/gpu/drm/i915/intel_ringbuffer.c |  20 +--
 include/drm/i915_pciids.h               |  38 ++---
 7 files changed, 207 insertions(+), 197 deletions(-)

-- 
1.9.1



More information about the Intel-gfx mailing list