* [RFC 0/3] drm/i915: nuke pch type :o @ 2018-02-02 20:00 Jani Nikula 2018-02-02 20:00 ` [RFC 1/3] drm/i915: introduce INTEL_PCH_ID() and use it Jani Nikula ` (4 more replies) 0 siblings, 5 replies; 8+ messages in thread From: Jani Nikula @ 2018-02-02 20:00 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula I was wondering how to clean up intel_virt_detect_pch(), also in a more future compatible manner, and came up with this idea. Is the text size increase in patch 3/3 too bad, that is the question. BR, Jani. Jani Nikula (3): drm/i915: introduce INTEL_PCH_ID() and use it drm/i915/debugfs: print PCH id instead of PCH type in i915 capabilities drm/i915: obliterate PCH types in favour of direct PCH id use drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/i915_drv.c | 46 +++++++---------------- drivers/gpu/drm/i915/i915_drv.h | 73 +++++++++++++++++++++---------------- 3 files changed, 57 insertions(+), 64 deletions(-) -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* [RFC 1/3] drm/i915: introduce INTEL_PCH_ID() and use it 2018-02-02 20:00 [RFC 0/3] drm/i915: nuke pch type :o Jani Nikula @ 2018-02-02 20:00 ` Jani Nikula 2018-02-02 20:00 ` [RFC 2/3] drm/i915/debugfs: print PCH id instead of PCH type in i915 capabilities Jani Nikula ` (3 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Jani Nikula @ 2018-02-02 20:00 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Prepare for more widespread use of PCH id. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/i915_drv.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 4e158aab36d6..a1454045629a 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -2861,19 +2861,20 @@ intel_info(const struct drm_i915_private *dev_priv) #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /* qemu q35 has 2918 */ #define INTEL_PCH_TYPE(dev_priv) ((dev_priv)->pch_type) +#define INTEL_PCH_ID(dev_priv) ((dev_priv)->pch_id) #define HAS_PCH_ICP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_ICP) #define HAS_PCH_CNP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_CNP) #define HAS_PCH_CNP_LP(dev_priv) \ - ((dev_priv)->pch_id == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE) + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE) #define HAS_PCH_KBP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_KBP) #define HAS_PCH_SPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_SPT) #define HAS_PCH_LPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_LPT) #define HAS_PCH_LPT_LP(dev_priv) \ - ((dev_priv)->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE || \ - (dev_priv)->pch_id == INTEL_PCH_WPT_LP_DEVICE_ID_TYPE) + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE || \ + INTEL_PCH_ID(dev_priv) == INTEL_PCH_WPT_LP_DEVICE_ID_TYPE) #define HAS_PCH_LPT_H(dev_priv) \ - ((dev_priv)->pch_id == INTEL_PCH_LPT_DEVICE_ID_TYPE || \ - (dev_priv)->pch_id == INTEL_PCH_WPT_DEVICE_ID_TYPE) + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_LPT_DEVICE_ID_TYPE || \ + INTEL_PCH_ID(dev_priv) == INTEL_PCH_WPT_DEVICE_ID_TYPE) #define HAS_PCH_CPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_CPT) #define HAS_PCH_IBX(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_IBX) #define HAS_PCH_NOP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_NOP) -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [RFC 2/3] drm/i915/debugfs: print PCH id instead of PCH type in i915 capabilities 2018-02-02 20:00 [RFC 0/3] drm/i915: nuke pch type :o Jani Nikula 2018-02-02 20:00 ` [RFC 1/3] drm/i915: introduce INTEL_PCH_ID() and use it Jani Nikula @ 2018-02-02 20:00 ` Jani Nikula 2018-02-02 20:01 ` [RFC 3/3] drm/i915: obliterate PCH types in favour of direct PCH id use Jani Nikula ` (2 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Jani Nikula @ 2018-02-02 20:00 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Preparation for future patches. Split this out to highlight the debugfs change. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 3849ded354e3..1bc7d9db0ddf 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -45,7 +45,7 @@ static int i915_capabilities(struct seq_file *m, void *data) seq_printf(m, "gen: %d\n", INTEL_GEN(dev_priv)); seq_printf(m, "platform: %s\n", intel_platform_name(info->platform)); - seq_printf(m, "pch: %d\n", INTEL_PCH_TYPE(dev_priv)); + seq_printf(m, "pch: %04x\n", INTEL_PCH_ID(dev_priv)); intel_device_info_dump_flags(info, &p); intel_device_info_dump_runtime(info, &p); -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [RFC 3/3] drm/i915: obliterate PCH types in favour of direct PCH id use 2018-02-02 20:00 [RFC 0/3] drm/i915: nuke pch type :o Jani Nikula 2018-02-02 20:00 ` [RFC 1/3] drm/i915: introduce INTEL_PCH_ID() and use it Jani Nikula 2018-02-02 20:00 ` [RFC 2/3] drm/i915/debugfs: print PCH id instead of PCH type in i915 capabilities Jani Nikula @ 2018-02-02 20:01 ` Jani Nikula 2018-02-02 22:24 ` Chris Wilson 2018-02-02 20:41 ` ✓ Fi.CI.BAT: success for drm/i915: nuke pch type :o Patchwork 2018-02-03 6:22 ` ✓ Fi.CI.IGT: " Patchwork 4 siblings, 1 reply; 8+ messages in thread From: Jani Nikula @ 2018-02-02 20:01 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula The PCH type is an unnecessary level of abstraction that's an extra maintenance burden. Switch to using PCH ids directly. This also simplifies the virtual PCH detection. The downside is code size increase for conditions that match several PCH ids: text data bss dec hex filename -1709581 68900 4612 1783093 1b3535 drivers/gpu/drm/i915/i915.ko +1710634 68900 4612 1784146 1b3952 drivers/gpu/drm/i915/i915.ko Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/i915_drv.c | 46 +++++++++------------------- drivers/gpu/drm/i915/i915_drv.h | 68 +++++++++++++++++++++++------------------ 2 files changed, 53 insertions(+), 61 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index e9f1daf258fe..a027d753fb6a 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -123,9 +123,9 @@ static bool i915_error_injected(struct drm_i915_private *dev_priv) fmt, ##__VA_ARGS__) -static enum intel_pch intel_virt_detect_pch(struct drm_i915_private *dev_priv) +static unsigned int intel_virt_detect_pch(struct drm_i915_private *dev_priv) { - enum intel_pch ret = PCH_NOP; + unsigned int id = INTEL_PCH_NOP; /* * In a virtualized passthrough environment we can be in a @@ -135,27 +135,26 @@ static enum intel_pch intel_virt_detect_pch(struct drm_i915_private *dev_priv) */ if (IS_GEN5(dev_priv)) { - ret = PCH_IBX; + id = INTEL_PCH_IBX_DEVICE_ID_TYPE; DRM_DEBUG_KMS("Assuming Ibex Peak PCH\n"); } else if (IS_GEN6(dev_priv) || IS_IVYBRIDGE(dev_priv)) { - ret = PCH_CPT; + id = INTEL_PCH_CPT_DEVICE_ID_TYPE; DRM_DEBUG_KMS("Assuming CougarPoint PCH\n"); + } else if (IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv)) { + id = INTEL_PCH_LPT_LP_DEVICE_ID_TYPE; + DRM_DEBUG_KMS("Assuming LynxPoint LP PCH\n"); } else if (IS_HASWELL(dev_priv) || IS_BROADWELL(dev_priv)) { - ret = PCH_LPT; - if (IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv)) - dev_priv->pch_id = INTEL_PCH_LPT_LP_DEVICE_ID_TYPE; - else - dev_priv->pch_id = INTEL_PCH_LPT_DEVICE_ID_TYPE; + id = INTEL_PCH_LPT_DEVICE_ID_TYPE; DRM_DEBUG_KMS("Assuming LynxPoint PCH\n"); } else if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv)) { - ret = PCH_SPT; + id = INTEL_PCH_SPT_DEVICE_ID_TYPE; DRM_DEBUG_KMS("Assuming SunrisePoint PCH\n"); } else if (IS_COFFEELAKE(dev_priv) || IS_CANNONLAKE(dev_priv)) { - ret = PCH_CNP; + id = INTEL_PCH_CNP_DEVICE_ID_TYPE; DRM_DEBUG_KMS("Assuming CannonPoint PCH\n"); } - return ret; + return id; } static void intel_detect_pch(struct drm_i915_private *dev_priv) @@ -166,7 +165,7 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv) * (which really amounts to a PCH but no South Display). */ if (INTEL_INFO(dev_priv)->num_pipes == 0) { - dev_priv->pch_type = PCH_NOP; + dev_priv->pch_id = INTEL_PCH_NOP; return; } @@ -189,81 +188,63 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv) id = pch->device & INTEL_PCH_DEVICE_ID_MASK; - dev_priv->pch_id = id; - if (id == INTEL_PCH_IBX_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_IBX; DRM_DEBUG_KMS("Found Ibex Peak PCH\n"); WARN_ON(!IS_GEN5(dev_priv)); } else if (id == INTEL_PCH_CPT_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_CPT; DRM_DEBUG_KMS("Found CougarPoint PCH\n"); WARN_ON(!IS_GEN6(dev_priv) && !IS_IVYBRIDGE(dev_priv)); } else if (id == INTEL_PCH_PPT_DEVICE_ID_TYPE) { - /* PantherPoint is CPT compatible */ - dev_priv->pch_type = PCH_CPT; DRM_DEBUG_KMS("Found PantherPoint PCH\n"); WARN_ON(!IS_GEN6(dev_priv) && !IS_IVYBRIDGE(dev_priv)); } else if (id == INTEL_PCH_LPT_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_LPT; DRM_DEBUG_KMS("Found LynxPoint PCH\n"); WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv)); WARN_ON(IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv)); } else if (id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_LPT; DRM_DEBUG_KMS("Found LynxPoint LP PCH\n"); WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv)); WARN_ON(!IS_HSW_ULT(dev_priv) && !IS_BDW_ULT(dev_priv)); } else if (id == INTEL_PCH_WPT_DEVICE_ID_TYPE) { - /* WildcatPoint is LPT compatible */ - dev_priv->pch_type = PCH_LPT; DRM_DEBUG_KMS("Found WildcatPoint PCH\n"); WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv)); WARN_ON(IS_HSW_ULT(dev_priv) || IS_BDW_ULT(dev_priv)); } else if (id == INTEL_PCH_WPT_LP_DEVICE_ID_TYPE) { - /* WildcatPoint is LPT compatible */ - dev_priv->pch_type = PCH_LPT; DRM_DEBUG_KMS("Found WildcatPoint LP PCH\n"); WARN_ON(!IS_HASWELL(dev_priv) && !IS_BROADWELL(dev_priv)); WARN_ON(!IS_HSW_ULT(dev_priv) && !IS_BDW_ULT(dev_priv)); } else if (id == INTEL_PCH_SPT_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_SPT; DRM_DEBUG_KMS("Found SunrisePoint PCH\n"); WARN_ON(!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv)); } else if (id == INTEL_PCH_SPT_LP_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_SPT; DRM_DEBUG_KMS("Found SunrisePoint LP PCH\n"); WARN_ON(!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv)); } else if (id == INTEL_PCH_KBP_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_KBP; DRM_DEBUG_KMS("Found Kaby Lake PCH (KBP)\n"); WARN_ON(!IS_SKYLAKE(dev_priv) && !IS_KABYLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv)); } else if (id == INTEL_PCH_CNP_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_CNP; DRM_DEBUG_KMS("Found Cannon Lake PCH (CNP)\n"); WARN_ON(!IS_CANNONLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv)); } else if (id == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_CNP; DRM_DEBUG_KMS("Found Cannon Lake LP PCH (CNP-LP)\n"); WARN_ON(!IS_CANNONLAKE(dev_priv) && !IS_COFFEELAKE(dev_priv)); } else if (id == INTEL_PCH_ICP_DEVICE_ID_TYPE) { - dev_priv->pch_type = PCH_ICP; DRM_DEBUG_KMS("Found Ice Lake PCH\n"); WARN_ON(!IS_ICELAKE(dev_priv)); } else if (id == INTEL_PCH_P2X_DEVICE_ID_TYPE || @@ -273,11 +254,12 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv) PCI_SUBVENDOR_ID_REDHAT_QUMRANET && pch->subsystem_device == PCI_SUBDEVICE_ID_QEMU)) { - dev_priv->pch_type = intel_virt_detect_pch(dev_priv); + id = intel_virt_detect_pch(dev_priv); } else { continue; } + dev_priv->pch_id = id; break; } if (!pch) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index a1454045629a..0e178735be47 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h @@ -778,18 +778,6 @@ struct i915_psr { void (*setup_vsc)(struct intel_dp *, const struct intel_crtc_state *); }; -enum intel_pch { - PCH_NONE = 0, /* No PCH present */ - PCH_IBX, /* Ibexpeak PCH */ - PCH_CPT, /* Cougarpoint/Pantherpoint PCH */ - PCH_LPT, /* Lynxpoint/Wildcatpoint PCH */ - PCH_SPT, /* Sunrisepoint PCH */ - PCH_KBP, /* Kaby Lake PCH */ - PCH_CNP, /* Cannon Lake PCH */ - PCH_ICP, /* Ice Lake PCH */ - PCH_NOP, -}; - enum intel_sbi_destination { SBI_ICLK, SBI_MPHY, @@ -1973,8 +1961,7 @@ struct drm_i915_private { /* Display functions */ struct drm_i915_display_funcs display; - /* PCH chipset type */ - enum intel_pch pch_type; + /* PCH chipset id */ unsigned short pch_id; unsigned long quirks; @@ -2842,6 +2829,9 @@ intel_info(const struct drm_i915_private *dev_priv) #define HAS_POOLED_EU(dev_priv) ((dev_priv)->info.has_pooled_eu) +#define INTEL_PCH_NONE 0x0000 +#define INTEL_PCH_NOP 0xffff + #define INTEL_PCH_DEVICE_ID_MASK 0xff80 #define INTEL_PCH_IBX_DEVICE_ID_TYPE 0x3b00 #define INTEL_PCH_CPT_DEVICE_ID_TYPE 0x1c00 @@ -2860,25 +2850,45 @@ intel_info(const struct drm_i915_private *dev_priv) #define INTEL_PCH_P3X_DEVICE_ID_TYPE 0x7000 #define INTEL_PCH_QEMU_DEVICE_ID_TYPE 0x2900 /* qemu q35 has 2918 */ -#define INTEL_PCH_TYPE(dev_priv) ((dev_priv)->pch_type) #define INTEL_PCH_ID(dev_priv) ((dev_priv)->pch_id) -#define HAS_PCH_ICP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_ICP) -#define HAS_PCH_CNP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_CNP) -#define HAS_PCH_CNP_LP(dev_priv) \ - (INTEL_PCH_ID(dev_priv) == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE) -#define HAS_PCH_KBP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_KBP) -#define HAS_PCH_SPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_SPT) -#define HAS_PCH_LPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_LPT) + +#define HAS_PCH_NOP(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_NOP) +#define HAS_PCH_SPLIT(dev_priv) \ + (INTEL_PCH_ID(dev_priv) != INTEL_PCH_NONE) + +/* IbexPeak PCH */ +#define HAS_PCH_IBX(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_IBX_DEVICE_ID_TYPE) +/* CougarPoint/PantherPoint PCH */ +#define HAS_PCH_CPT(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_CPT_DEVICE_ID_TYPE || \ + INTEL_PCH_ID(dev_priv) == INTEL_PCH_PPT_DEVICE_ID_TYPE) +/* LynxPoint/WildcatPoint PCH */ +#define HAS_PCH_LPT_H(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_LPT_DEVICE_ID_TYPE || \ + INTEL_PCH_ID(dev_priv) == INTEL_PCH_WPT_DEVICE_ID_TYPE) #define HAS_PCH_LPT_LP(dev_priv) \ (INTEL_PCH_ID(dev_priv) == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE || \ INTEL_PCH_ID(dev_priv) == INTEL_PCH_WPT_LP_DEVICE_ID_TYPE) -#define HAS_PCH_LPT_H(dev_priv) \ - (INTEL_PCH_ID(dev_priv) == INTEL_PCH_LPT_DEVICE_ID_TYPE || \ - INTEL_PCH_ID(dev_priv) == INTEL_PCH_WPT_DEVICE_ID_TYPE) -#define HAS_PCH_CPT(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_CPT) -#define HAS_PCH_IBX(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_IBX) -#define HAS_PCH_NOP(dev_priv) (INTEL_PCH_TYPE(dev_priv) == PCH_NOP) -#define HAS_PCH_SPLIT(dev_priv) (INTEL_PCH_TYPE(dev_priv) != PCH_NONE) +#define HAS_PCH_LPT(dev_priv) \ + (HAS_PCH_LPT_H(dev_priv) || HAS_PCH_LPT_LP(dev_priv)) +/* SunrisePoint PCH */ +#define HAS_PCH_SPT(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_SPT_DEVICE_ID_TYPE || \ + INTEL_PCH_ID(dev_priv) == INTEL_PCH_SPT_LP_DEVICE_ID_TYPE) +/* KabyLake PCH */ +#define HAS_PCH_KBP(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_KBP_DEVICE_ID_TYPE) +/* CannonLake PCH */ +#define HAS_PCH_CNP(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_CNP_DEVICE_ID_TYPE || \ + INTEL_PCH_ID(dev_priv) == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE) +#define HAS_PCH_CNP_LP(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_CNP_LP_DEVICE_ID_TYPE) +/* IceLake PCH */ +#define HAS_PCH_ICP(dev_priv) \ + (INTEL_PCH_ID(dev_priv) == INTEL_PCH_ICP_DEVICE_ID_TYPE) #define HAS_GMCH_DISPLAY(dev_priv) ((dev_priv)->info.has_gmch_display) -- 2.11.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [RFC 3/3] drm/i915: obliterate PCH types in favour of direct PCH id use 2018-02-02 20:01 ` [RFC 3/3] drm/i915: obliterate PCH types in favour of direct PCH id use Jani Nikula @ 2018-02-02 22:24 ` Chris Wilson 2018-02-05 9:49 ` Jani Nikula 0 siblings, 1 reply; 8+ messages in thread From: Chris Wilson @ 2018-02-02 22:24 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Quoting Jani Nikula (2018-02-02 20:01:00) > The PCH type is an unnecessary level of abstraction that's an extra > maintenance burden. Switch to using PCH ids directly. This also > simplifies the virtual PCH detection. But you are still using the PCH type, just computing it from the id inside the conditionals. Not sure if that's a good idea, remember the long chains of devid == X || devid == Y || ... we used to have? I guess a convincing argument that the abstraction is ill-conceived would be when it bloats the code, as that shows the abstraction's semantics do not match and are a hindrance to use. Maybe there's another transformation that improves usage? -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [RFC 3/3] drm/i915: obliterate PCH types in favour of direct PCH id use 2018-02-02 22:24 ` Chris Wilson @ 2018-02-05 9:49 ` Jani Nikula 0 siblings, 0 replies; 8+ messages in thread From: Jani Nikula @ 2018-02-05 9:49 UTC (permalink / raw) To: Chris Wilson, intel-gfx On Fri, 02 Feb 2018, Chris Wilson <chris@chris-wilson.co.uk> wrote: > Quoting Jani Nikula (2018-02-02 20:01:00) >> The PCH type is an unnecessary level of abstraction that's an extra >> maintenance burden. Switch to using PCH ids directly. This also >> simplifies the virtual PCH detection. > > But you are still using the PCH type, just computing it from the id > inside the conditionals. Not sure if that's a good idea, remember the > long chains of devid == X || devid == Y || ... we used to have? I've forgotten, maybe I didn't learn from history... but you're right I'm still using the "pch type". But the current code is using the devids in addition to the types too. > I guess a convincing argument that the abstraction is ill-conceived > would be when it bloats the code, as that shows the abstraction's > semantics do not match and are a hindrance to use. Maybe there's another > transformation that improves usage? To be honest, I wasn't happy with the end result either, but decided to post the patches as RFC as I had them written, to provoke discussion. BR, Jani. -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Fi.CI.BAT: success for drm/i915: nuke pch type :o 2018-02-02 20:00 [RFC 0/3] drm/i915: nuke pch type :o Jani Nikula ` (2 preceding siblings ...) 2018-02-02 20:01 ` [RFC 3/3] drm/i915: obliterate PCH types in favour of direct PCH id use Jani Nikula @ 2018-02-02 20:41 ` Patchwork 2018-02-03 6:22 ` ✓ Fi.CI.IGT: " Patchwork 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2018-02-02 20:41 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915: nuke pch type :o URL : https://patchwork.freedesktop.org/series/37581/ State : success == Summary == Series 37581v1 drm/i915: nuke pch type :o https://patchwork.freedesktop.org/api/1.0/series/37581/revisions/1/mbox/ Test debugfs_test: Subgroup read_all_entries: pass -> INCOMPLETE (fi-snb-2520m) fdo#103713 Test gem_exec_suspend: Subgroup basic-s4-devices: pass -> INCOMPLETE (fi-bdw-5557u) fdo#104162 Test gem_mmap_gtt: Subgroup basic-small-bo-tiledx: fail -> PASS (fi-gdg-551) fdo#102575 Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-a: fail -> PASS (fi-skl-guc) fdo#103191 fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713 fdo#104162 https://bugs.freedesktop.org/show_bug.cgi?id=104162 fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575 fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191 fi-bdw-5557u total:109 pass:105 dwarn:0 dfail:0 fail:0 skip:3 fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:423s fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:370s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:487s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:281s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:483s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:479s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:464s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:458s fi-cfl-s2 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:570s fi-elk-e7500 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:413s fi-gdg-551 total:288 pass:180 dwarn:0 dfail:0 fail:0 skip:108 time:280s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:508s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:393s fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:397s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:412s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:458s fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:413s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:459s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:496s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:452s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:499s fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:587s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:427s fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:507s fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:526s fi-skl-6700k2 total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:484s fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:487s fi-skl-guc total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:414s fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:428s fi-snb-2520m total:3 pass:2 dwarn:0 dfail:0 fail:0 skip:0 fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:391s Blacklisted hosts: fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:467s c051d09ed8f4b307b8d00076380e657759bd8eb5 drm-tip: 2018y-02m-02d-19h-34m-35s UTC integration manifest c9640917d438 drm/i915: obliterate PCH types in favour of direct PCH id use a42e9060d5a8 drm/i915/debugfs: print PCH id instead of PCH type in i915 capabilities 9d855e64b20d drm/i915: introduce INTEL_PCH_ID() and use it == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7869/issues.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Fi.CI.IGT: success for drm/i915: nuke pch type :o 2018-02-02 20:00 [RFC 0/3] drm/i915: nuke pch type :o Jani Nikula ` (3 preceding siblings ...) 2018-02-02 20:41 ` ✓ Fi.CI.BAT: success for drm/i915: nuke pch type :o Patchwork @ 2018-02-03 6:22 ` Patchwork 4 siblings, 0 replies; 8+ messages in thread From: Patchwork @ 2018-02-03 6:22 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915: nuke pch type :o URL : https://patchwork.freedesktop.org/series/37581/ State : success == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7869/shards.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-02-05 9:49 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-02-02 20:00 [RFC 0/3] drm/i915: nuke pch type :o Jani Nikula 2018-02-02 20:00 ` [RFC 1/3] drm/i915: introduce INTEL_PCH_ID() and use it Jani Nikula 2018-02-02 20:00 ` [RFC 2/3] drm/i915/debugfs: print PCH id instead of PCH type in i915 capabilities Jani Nikula 2018-02-02 20:01 ` [RFC 3/3] drm/i915: obliterate PCH types in favour of direct PCH id use Jani Nikula 2018-02-02 22:24 ` Chris Wilson 2018-02-05 9:49 ` Jani Nikula 2018-02-02 20:41 ` ✓ Fi.CI.BAT: success for drm/i915: nuke pch type :o Patchwork 2018-02-03 6:22 ` ✓ Fi.CI.IGT: " Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.