diff mbox series

[RESEND] npu2-opencapi: Enable presence detection on ZZ

Message ID 20181015073634.27893-1-fbarrat@linux.ibm.com
State Accepted
Headers show
Series [RESEND] npu2-opencapi: Enable presence detection on ZZ | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success master/apply_patch Successfully applied
snowpatch_ozlabs/make_check success Test make_check on branch master

Commit Message

Frederic Barrat Oct. 15, 2018, 7:36 a.m. UTC
Presence detection for opencapi adapters was broken for ZZ planars v3
and below. All ZZ systems currently used in the lab have had their
planar upgraded, so we can now remove the override we had to force
presence and activate presence detection. Which should improve boot
time.

Considering the state of opal support on ZZ, this is really only for
lab usage on BML. The opencapi enablement team has okay'd the
change. In the unlikely case somebody tries opencapi on an old ZZ, the
presence detection through i2c will show that no adapter is present
and skiboot won't try to access or train the link.

Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
---

Resending as the problems seen when the patch was sent the first time
had nothing to do with the patch.

 core/platform.c        | 6 ------
 hw/npu2-common.c       | 3 +--
 include/platform.h     | 1 -
 platforms/ibm-fsp/zz.c | 5 -----
 4 files changed, 1 insertion(+), 14 deletions(-)

Comments

Andrew Donnellan Oct. 15, 2018, 11:08 p.m. UTC | #1
On 15/10/18 6:36 pm, Frederic Barrat wrote:
> Presence detection for opencapi adapters was broken for ZZ planars v3
> and below. All ZZ systems currently used in the lab have had their
> planar upgraded, so we can now remove the override we had to force
> presence and activate presence detection. Which should improve boot
> time.
> 
> Considering the state of opal support on ZZ, this is really only for
> lab usage on BML. The opencapi enablement team has okay'd the
> change. In the unlikely case somebody tries opencapi on an old ZZ, the
> presence detection through i2c will show that no adapter is present
> and skiboot won't try to access or train the link.
> 
> Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>

As with last time

Acked-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>


> ---
> 
> Resending as the problems seen when the patch was sent the first time
> had nothing to do with the patch.
> 
>   core/platform.c        | 6 ------
>   hw/npu2-common.c       | 3 +--
>   include/platform.h     | 1 -
>   platforms/ibm-fsp/zz.c | 5 -----
>   4 files changed, 1 insertion(+), 14 deletions(-)
> 
> diff --git a/core/platform.c b/core/platform.c
> index 7985ce56..570a4309 100644
> --- a/core/platform.c
> +++ b/core/platform.c
> @@ -184,12 +184,6 @@ const struct platform_ocapi generic_ocapi = {
>   	.i2c_presence_brick3 = (1 << 7), /* top connector */
>   	.i2c_presence_brick4 = 0, /* unused */
>   	.i2c_presence_brick5 = 0, /* unused */
> -	/*
> -	 * The ZZs we typically use for BML/generic platform tend to
> -	 * have old planars and presence detection is broken there, so
> -	 * force presence.
> -	 */
> -	.force_presence      = true,
>   	.odl_phy_swap        = true,
>   };
>   
> diff --git a/hw/npu2-common.c b/hw/npu2-common.c
> index 9e392b87..6e6b12f0 100644
> --- a/hw/npu2-common.c
> +++ b/hw/npu2-common.c
> @@ -144,8 +144,7 @@ void npu2_i2c_presence_detect(struct npu2 *npu)
>   	assert(platform.ocapi);
>   	for (int i = 0; i < npu->total_devices; i++) {
>   		dev = &npu->devices[i];
> -		if (platform.ocapi->force_presence ||
> -		    _i2c_presence_detect(dev))
> +		if (_i2c_presence_detect(dev))
>   			dev->type = NPU2_DEV_TYPE_OPENCAPI;
>   		else
>   			dev->type = NPU2_DEV_TYPE_UNKNOWN;
> diff --git a/include/platform.h b/include/platform.h
> index fee5a76c..7a132908 100644
> --- a/include/platform.h
> +++ b/include/platform.h
> @@ -59,7 +59,6 @@ struct platform_ocapi {
>   	uint8_t i2c_presence_brick3;	/* I2C pin to read for presence on brick 3 */
>   	uint8_t i2c_presence_brick4;	/* I2C pin to read for presence on brick 4 */
>   	uint8_t i2c_presence_brick5;	/* I2C pin to read for presence on brick 5 */
> -	bool force_presence;            /* don't use i2c detection */
>   	bool odl_phy_swap;		/* Swap ODL1 to use brick 2 rather than
>   					 * brick 1 lanes */
>   };
> diff --git a/platforms/ibm-fsp/zz.c b/platforms/ibm-fsp/zz.c
> index e5447269..040eca1d 100644
> --- a/platforms/ibm-fsp/zz.c
> +++ b/platforms/ibm-fsp/zz.c
> @@ -42,11 +42,6 @@ const struct platform_ocapi zz_ocapi = {
>   	.i2c_presence_brick3 = (1 << 7), /* top connector */
>   	.i2c_presence_brick4 = 0, /* unused */
>   	.i2c_presence_brick5 = 0, /* unused */
> -	/*
> -	 * i2c presence detection is broken on ZZ planar < v4 so we
> -	 * force the presence until all our systems are upgraded
> -	 */
> -	.force_presence      = true,
>   	.odl_phy_swap        = true,
>   };
>   
>
Stewart Smith Oct. 25, 2018, 11:22 p.m. UTC | #2
Frederic Barrat <fbarrat@linux.ibm.com> writes:
> Presence detection for opencapi adapters was broken for ZZ planars v3
> and below. All ZZ systems currently used in the lab have had their
> planar upgraded, so we can now remove the override we had to force
> presence and activate presence detection. Which should improve boot
> time.
>
> Considering the state of opal support on ZZ, this is really only for
> lab usage on BML. The opencapi enablement team has okay'd the
> change. In the unlikely case somebody tries opencapi on an old ZZ, the
> presence detection through i2c will show that no adapter is present
> and skiboot won't try to access or train the link.
>
> Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
> ---
>
> Resending as the problems seen when the patch was sent the first time
> had nothing to do with the patch.
>
>  core/platform.c        | 6 ------
>  hw/npu2-common.c       | 3 +--
>  include/platform.h     | 1 -
>  platforms/ibm-fsp/zz.c | 5 -----
>  4 files changed, 1 insertion(+), 14 deletions(-)

Thanks, merged to master as of a92f432eae5b51d3b5a4b635b459ad84b2ab2240
diff mbox series

Patch

diff --git a/core/platform.c b/core/platform.c
index 7985ce56..570a4309 100644
--- a/core/platform.c
+++ b/core/platform.c
@@ -184,12 +184,6 @@  const struct platform_ocapi generic_ocapi = {
 	.i2c_presence_brick3 = (1 << 7), /* top connector */
 	.i2c_presence_brick4 = 0, /* unused */
 	.i2c_presence_brick5 = 0, /* unused */
-	/*
-	 * The ZZs we typically use for BML/generic platform tend to
-	 * have old planars and presence detection is broken there, so
-	 * force presence.
-	 */
-	.force_presence      = true,
 	.odl_phy_swap        = true,
 };
 
diff --git a/hw/npu2-common.c b/hw/npu2-common.c
index 9e392b87..6e6b12f0 100644
--- a/hw/npu2-common.c
+++ b/hw/npu2-common.c
@@ -144,8 +144,7 @@  void npu2_i2c_presence_detect(struct npu2 *npu)
 	assert(platform.ocapi);
 	for (int i = 0; i < npu->total_devices; i++) {
 		dev = &npu->devices[i];
-		if (platform.ocapi->force_presence ||
-		    _i2c_presence_detect(dev))
+		if (_i2c_presence_detect(dev))
 			dev->type = NPU2_DEV_TYPE_OPENCAPI;
 		else
 			dev->type = NPU2_DEV_TYPE_UNKNOWN;
diff --git a/include/platform.h b/include/platform.h
index fee5a76c..7a132908 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -59,7 +59,6 @@  struct platform_ocapi {
 	uint8_t i2c_presence_brick3;	/* I2C pin to read for presence on brick 3 */
 	uint8_t i2c_presence_brick4;	/* I2C pin to read for presence on brick 4 */
 	uint8_t i2c_presence_brick5;	/* I2C pin to read for presence on brick 5 */
-	bool force_presence;            /* don't use i2c detection */
 	bool odl_phy_swap;		/* Swap ODL1 to use brick 2 rather than
 					 * brick 1 lanes */
 };
diff --git a/platforms/ibm-fsp/zz.c b/platforms/ibm-fsp/zz.c
index e5447269..040eca1d 100644
--- a/platforms/ibm-fsp/zz.c
+++ b/platforms/ibm-fsp/zz.c
@@ -42,11 +42,6 @@  const struct platform_ocapi zz_ocapi = {
 	.i2c_presence_brick3 = (1 << 7), /* top connector */
 	.i2c_presence_brick4 = 0, /* unused */
 	.i2c_presence_brick5 = 0, /* unused */
-	/*
-	 * i2c presence detection is broken on ZZ planar < v4 so we
-	 * force the presence until all our systems are upgraded
-	 */
-	.force_presence      = true,
 	.odl_phy_swap        = true,
 };