All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.