* [PATCH 1/2] drm/i915: reduce indent in pch detection
@ 2018-01-26 14:48 Jani Nikula
2018-01-26 14:48 ` [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful " Jani Nikula
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Jani Nikula @ 2018-01-26 14:48 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Save some horizontal space.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 189 ++++++++++++++++++++--------------------
1 file changed, 96 insertions(+), 93 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 1ec12add34b2..3e8664de025d 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -176,100 +176,103 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
* of only checking the first one.
*/
while ((pch = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, pch))) {
- if (pch->vendor == PCI_VENDOR_ID_INTEL) {
- unsigned short 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 ||
- id == INTEL_PCH_P3X_DEVICE_ID_TYPE ||
- (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE &&
- pch->subsystem_vendor ==
- PCI_SUBVENDOR_ID_REDHAT_QUMRANET &&
- pch->subsystem_device ==
- PCI_SUBDEVICE_ID_QEMU)) {
- dev_priv->pch_type =
- intel_virt_detect_pch(dev_priv);
- } else
- continue;
-
- break;
+ unsigned short id;
+
+ if (pch->vendor != PCI_VENDOR_ID_INTEL)
+ continue;
+
+ 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 ||
+ id == INTEL_PCH_P3X_DEVICE_ID_TYPE ||
+ (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE &&
+ pch->subsystem_vendor ==
+ PCI_SUBVENDOR_ID_REDHAT_QUMRANET &&
+ pch->subsystem_device ==
+ PCI_SUBDEVICE_ID_QEMU)) {
+ dev_priv->pch_type = intel_virt_detect_pch(dev_priv);
+ } else {
+ continue;
}
+
+ break;
}
if (!pch)
DRM_DEBUG_KMS("No PCH found.\n");
--
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] 7+ messages in thread
* [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful pch detection
2018-01-26 14:48 [PATCH 1/2] drm/i915: reduce indent in pch detection Jani Nikula
@ 2018-01-26 14:48 ` Jani Nikula
2018-01-26 15:53 ` David Weinehall
2018-01-26 15:03 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: reduce indent in " Patchwork
2018-01-26 15:53 ` [PATCH 1/2] " David Weinehall
2 siblings, 1 reply; 7+ messages in thread
From: Jani Nikula @ 2018-01-26 14:48 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
Currently pch_id gets assigned also when there's no pch. It doesn't look
like it makes a difference, but do the right thing anyway.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 3e8664de025d..0332e315650c 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -183,8 +183,6 @@ 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");
@@ -272,6 +270,8 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
continue;
}
+ dev_priv->pch_id = id;
+
break;
}
if (!pch)
--
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] 7+ messages in thread
* ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: reduce indent in pch detection
2018-01-26 14:48 [PATCH 1/2] drm/i915: reduce indent in pch detection Jani Nikula
2018-01-26 14:48 ` [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful " Jani Nikula
@ 2018-01-26 15:03 ` Patchwork
2018-01-26 15:53 ` [PATCH 1/2] " David Weinehall
2 siblings, 0 replies; 7+ messages in thread
From: Patchwork @ 2018-01-26 15:03 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: reduce indent in pch detection
URL : https://patchwork.freedesktop.org/series/37180/
State : warning
== Summary ==
Series 37180v1 series starting with [1/2] drm/i915: reduce indent in pch detection
https://patchwork.freedesktop.org/api/1.0/series/37180/revisions/1/mbox/
Test debugfs_test:
Subgroup read_all_entries:
dmesg-fail -> DMESG-WARN (fi-elk-e7500) fdo#103989
pass -> INCOMPLETE (fi-snb-2520m) fdo#103713
Test gem_exec_suspend:
Subgroup basic-s3:
pass -> DMESG-WARN (fi-bdw-gvtdvm) fdo#103938
Subgroup basic-s4-devices:
pass -> DMESG-WARN (fi-bdw-gvtdvm)
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-a:
pass -> DMESG-WARN (fi-bdw-gvtdvm)
Subgroup suspend-read-crc-pipe-b:
pass -> DMESG-WARN (fi-bdw-gvtdvm)
Subgroup suspend-read-crc-pipe-c:
pass -> DMESG-WARN (fi-bdw-gvtdvm)
Test drv_module_reload:
Subgroup basic-reload:
pass -> DMESG-WARN (fi-bdw-gvtdvm)
Subgroup basic-no-display:
pass -> DMESG-WARN (fi-bdw-gvtdvm)
Subgroup basic-reload-inject:
pass -> DMESG-WARN (fi-bdw-gvtdvm)
fdo#103989 https://bugs.freedesktop.org/show_bug.cgi?id=103989
fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
fdo#103938 https://bugs.freedesktop.org/show_bug.cgi?id=103938
fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:422s
fi-bdw-gvtdvm total:288 pass:256 dwarn:8 dfail:0 fail:0 skip:24 time:426s
fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:378s
fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:485s
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:484s
fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:487s
fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:465s
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-cnl-y2 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:528s
fi-elk-e7500 total:224 pass:168 dwarn:10 dfail:0 fail:0 skip:45
fi-gdg-551 total:288 pass:179 dwarn:0 dfail:0 fail:1 skip:108 time:279s
fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:512s
fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:391s
fi-hsw-4770r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:400s
fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:409s
fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:447s
fi-ivb-3770 total:288 pass:255 dwarn:0 dfail:0 fail:0 skip:33 time:417s
fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:461s
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:459s
fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:501s
fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:580s
fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:432s
fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:511s
fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:529s
fi-skl-6700k2 total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:492s
fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:482s
fi-skl-guc total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:417s
fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:432s
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:396s
Blacklisted hosts:
fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:472s
59275f1cec1d31adab39ddb6ab948519ac8ddffb drm-tip: 2018y-01m-26d-13h-05m-14s UTC integration manifest
c4473bd127ee drm/i915: only assign dev_priv->pch_id on successful pch detection
25346b4e1a35 drm/i915: reduce indent in pch detection
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7790/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] drm/i915: reduce indent in pch detection
2018-01-26 14:48 [PATCH 1/2] drm/i915: reduce indent in pch detection Jani Nikula
2018-01-26 14:48 ` [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful " Jani Nikula
2018-01-26 15:03 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: reduce indent in " Patchwork
@ 2018-01-26 15:53 ` David Weinehall
2 siblings, 0 replies; 7+ messages in thread
From: David Weinehall @ 2018-01-26 15:53 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Fri, Jan 26, 2018 at 04:48:04PM +0200, Jani Nikula wrote:
> Save some horizontal space.
Yes, please!
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 189 ++++++++++++++++++++--------------------
> 1 file changed, 96 insertions(+), 93 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 1ec12add34b2..3e8664de025d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -176,100 +176,103 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
> * of only checking the first one.
> */
> while ((pch = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, pch))) {
> - if (pch->vendor == PCI_VENDOR_ID_INTEL) {
> - unsigned short 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 ||
> - id == INTEL_PCH_P3X_DEVICE_ID_TYPE ||
> - (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE &&
> - pch->subsystem_vendor ==
> - PCI_SUBVENDOR_ID_REDHAT_QUMRANET &&
> - pch->subsystem_device ==
> - PCI_SUBDEVICE_ID_QEMU)) {
> - dev_priv->pch_type =
> - intel_virt_detect_pch(dev_priv);
> - } else
> - continue;
> -
> - break;
> + unsigned short id;
> +
> + if (pch->vendor != PCI_VENDOR_ID_INTEL)
> + continue;
> +
> + 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 ||
> + id == INTEL_PCH_P3X_DEVICE_ID_TYPE ||
> + (id == INTEL_PCH_QEMU_DEVICE_ID_TYPE &&
> + pch->subsystem_vendor ==
> + PCI_SUBVENDOR_ID_REDHAT_QUMRANET &&
> + pch->subsystem_device ==
> + PCI_SUBDEVICE_ID_QEMU)) {
> + dev_priv->pch_type = intel_virt_detect_pch(dev_priv);
> + } else {
> + continue;
> }
> +
> + break;
> }
> if (!pch)
> DRM_DEBUG_KMS("No PCH found.\n");
> --
> 2.11.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful pch detection
2018-01-26 14:48 ` [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful " Jani Nikula
@ 2018-01-26 15:53 ` David Weinehall
2018-01-26 21:32 ` Chris Wilson
0 siblings, 1 reply; 7+ messages in thread
From: David Weinehall @ 2018-01-26 15:53 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
On Fri, Jan 26, 2018 at 04:48:05PM +0200, Jani Nikula wrote:
> Currently pch_id gets assigned also when there's no pch. It doesn't look
> like it makes a difference, but do the right thing anyway.
Makes sense.
Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 3e8664de025d..0332e315650c 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -183,8 +183,6 @@ 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");
> @@ -272,6 +270,8 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
> continue;
> }
>
> + dev_priv->pch_id = id;
> +
> break;
> }
> if (!pch)
> --
> 2.11.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful pch detection
2018-01-26 15:53 ` David Weinehall
@ 2018-01-26 21:32 ` Chris Wilson
2018-01-27 9:22 ` Jani Nikula
0 siblings, 1 reply; 7+ messages in thread
From: Chris Wilson @ 2018-01-26 21:32 UTC (permalink / raw)
To: David Weinehall, Jani Nikula; +Cc: intel-gfx
Quoting David Weinehall (2018-01-26 15:53:53)
> On Fri, Jan 26, 2018 at 04:48:05PM +0200, Jani Nikula wrote:
> > Currently pch_id gets assigned also when there's no pch. It doesn't look
> > like it makes a difference, but do the right thing anyway.
>
> Makes sense.
>
> Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
I suspect this is the one that upset gvt.
> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_drv.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> > index 3e8664de025d..0332e315650c 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -183,8 +183,6 @@ 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");
> > @@ -272,6 +270,8 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
> > continue;
> > }
> >
> > + dev_priv->pch_id = id;
> > +
> > break;
> > }
> > if (!pch)
> > --
> > 2.11.0
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful pch detection
2018-01-26 21:32 ` Chris Wilson
@ 2018-01-27 9:22 ` Jani Nikula
0 siblings, 0 replies; 7+ messages in thread
From: Jani Nikula @ 2018-01-27 9:22 UTC (permalink / raw)
To: Chris Wilson, David Weinehall; +Cc: intel-gfx
On Fri, 26 Jan 2018, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Quoting David Weinehall (2018-01-26 15:53:53)
>> On Fri, Jan 26, 2018 at 04:48:05PM +0200, Jani Nikula wrote:
>> > Currently pch_id gets assigned also when there's no pch. It doesn't look
>> > like it makes a difference, but do the right thing anyway.
>>
>> Makes sense.
>>
>> Reviewed-by: David Weinehall <david.weinehall@linux.intel.com>
>
> I suspect this is the one that upset gvt.
Oh, right. I failed to notice intel_virt_detect_pch() also sets pch_id
so this patch clobbers the information.
What a crap interface for a function. Either you return stuff to be set
by the caller, or you set stuff within, but you don't split the
responsibility between layers. And you certainly don't do that only in
some cases. Ugh.
BR,
Jani.
>
>> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> > ---
>> > drivers/gpu/drm/i915/i915_drv.c | 4 ++--
>> > 1 file changed, 2 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
>> > index 3e8664de025d..0332e315650c 100644
>> > --- a/drivers/gpu/drm/i915/i915_drv.c
>> > +++ b/drivers/gpu/drm/i915/i915_drv.c
>> > @@ -183,8 +183,6 @@ 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");
>> > @@ -272,6 +270,8 @@ static void intel_detect_pch(struct drm_i915_private *dev_priv)
>> > continue;
>> > }
>> >
>> > + dev_priv->pch_id = id;
>> > +
>> > break;
>> > }
>> > if (!pch)
>> > --
>> > 2.11.0
>> >
>> > _______________________________________________
>> > Intel-gfx mailing list
>> > Intel-gfx@lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
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] 7+ messages in thread
end of thread, other threads:[~2018-01-27 9:22 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-26 14:48 [PATCH 1/2] drm/i915: reduce indent in pch detection Jani Nikula
2018-01-26 14:48 ` [PATCH 2/2] drm/i915: only assign dev_priv->pch_id on successful " Jani Nikula
2018-01-26 15:53 ` David Weinehall
2018-01-26 21:32 ` Chris Wilson
2018-01-27 9:22 ` Jani Nikula
2018-01-26 15:03 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: reduce indent in " Patchwork
2018-01-26 15:53 ` [PATCH 1/2] " David Weinehall
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.