diff mbox series

phb5: Remove obsolete capp-related properties

Message ID 20210922141444.66577-1-fbarrat@linux.ibm.com
State Accepted
Headers show
Series phb5: Remove obsolete capp-related properties | expand

Commit Message

Frederic Barrat Sept. 22, 2021, 2:14 p.m. UTC
This patch removes the following properties from PHB entries in the
device tree on P10, since there's no CAPP any more and the properties
no longer make sense:
ibm,phb-indications
ibm,capp-timebase-sync
ibm,capi-flags

It has no effect on linux: some were already ignored and others won't
even be read since the cxl driver (the only consumer) already fails
early on P10.

Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
---
 hw/phb4.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

Comments

Andrew Donnellan Sept. 28, 2021, 5:23 a.m. UTC | #1
On 23/9/21 12:14 am, Frederic Barrat wrote:
> This patch removes the following properties from PHB entries in the
> device tree on P10, since there's no CAPP any more and the properties
> no longer make sense:
> ibm,phb-indications
> ibm,capp-timebase-sync
> ibm,capi-flags
> 
> It has no effect on linux: some were already ignored and others won't
> even be read since the cxl driver (the only consumer) already fails
> early on P10.
> 
> Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>

Makes sense - the cxl driver should fail early on P10 as any attempt to 
set CAPI mode will fail, and there are indeed no consumers in Linux 
outside the cxl driver.

Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>

> ---
>   hw/phb4.c | 17 ++++++++++-------
>   1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/hw/phb4.c b/hw/phb4.c
> index ddaa18f8..8bd3aa5f 100644
> --- a/hw/phb4.c
> +++ b/hw/phb4.c
> @@ -5827,12 +5827,14 @@ static void phb4_add_properties(struct phb4 *p)
>   	dt_add_property_cells(np, "ibm,phb-diag-data-size",
>   			      sizeof(struct OpalIoPhb4ErrorData));
>   
> -	/* Indicate to Linux that CAPP timebase sync is supported */
> -	dt_add_property_string(np, "ibm,capp-timebase-sync", NULL);
> +	if (is_phb4()) {
> +		/* Indicate to Linux that CAPP timebase sync is supported */
> +		dt_add_property_string(np, "ibm,capp-timebase-sync", NULL);
>   
> -	/* Tell Linux Compare/Mask indication values */
> -	dt_add_property_cells(np, "ibm,phb-indications", CAPIIND, ASNIND,
> -			      NBWIND);
> +		/* Tell Linux Compare/Mask indication values */
> +		dt_add_property_cells(np, "ibm,phb-indications", CAPIIND, ASNIND,
> +				      NBWIND);
> +	}
>   }
>   
>   static bool phb4_calculate_windows(struct phb4 *p)
> @@ -6346,8 +6348,9 @@ static void phb4_probe_stack(struct dt_node *stk_node, uint32_t pec_index,
>   		max_link_speed = dt_prop_get_u32(stk_node, "ibm,max-link-speed");
>   		dt_add_property_cells(np, "ibm,max-link-speed", max_link_speed);
>   	}
> -	dt_add_property_cells(np, "ibm,capi-flags",
> -			      OPAL_PHB_CAPI_FLAG_SNOOP_CONTROL);
> +	if (is_phb4())
> +		dt_add_property_cells(np, "ibm,capi-flags",
> +				      OPAL_PHB_CAPI_FLAG_SNOOP_CONTROL);
>   
>   	add_chip_dev_associativity(np);
>   }
>
Vasant Hegde Oct. 2, 2021, 5:15 a.m. UTC | #2
On 9/22/21 7:44 PM, Frederic Barrat wrote:
> This patch removes the following properties from PHB entries in the
> device tree on P10, since there's no CAPP any more and the properties
> no longer make sense:
> ibm,phb-indications
> ibm,capp-timebase-sync
> ibm,capi-flags
> 
> It has no effect on linux: some were already ignored and others won't
> even be read since the cxl driver (the only consumer) already fails
> early on P10.
> 
> Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>

Thanks! Merged to master as 7dbda0377d.

-Vasant
diff mbox series

Patch

diff --git a/hw/phb4.c b/hw/phb4.c
index ddaa18f8..8bd3aa5f 100644
--- a/hw/phb4.c
+++ b/hw/phb4.c
@@ -5827,12 +5827,14 @@  static void phb4_add_properties(struct phb4 *p)
 	dt_add_property_cells(np, "ibm,phb-diag-data-size",
 			      sizeof(struct OpalIoPhb4ErrorData));
 
-	/* Indicate to Linux that CAPP timebase sync is supported */
-	dt_add_property_string(np, "ibm,capp-timebase-sync", NULL);
+	if (is_phb4()) {
+		/* Indicate to Linux that CAPP timebase sync is supported */
+		dt_add_property_string(np, "ibm,capp-timebase-sync", NULL);
 
-	/* Tell Linux Compare/Mask indication values */
-	dt_add_property_cells(np, "ibm,phb-indications", CAPIIND, ASNIND,
-			      NBWIND);
+		/* Tell Linux Compare/Mask indication values */
+		dt_add_property_cells(np, "ibm,phb-indications", CAPIIND, ASNIND,
+				      NBWIND);
+	}
 }
 
 static bool phb4_calculate_windows(struct phb4 *p)
@@ -6346,8 +6348,9 @@  static void phb4_probe_stack(struct dt_node *stk_node, uint32_t pec_index,
 		max_link_speed = dt_prop_get_u32(stk_node, "ibm,max-link-speed");
 		dt_add_property_cells(np, "ibm,max-link-speed", max_link_speed);
 	}
-	dt_add_property_cells(np, "ibm,capi-flags",
-			      OPAL_PHB_CAPI_FLAG_SNOOP_CONTROL);
+	if (is_phb4())
+		dt_add_property_cells(np, "ibm,capi-flags",
+				      OPAL_PHB_CAPI_FLAG_SNOOP_CONTROL);
 
 	add_chip_dev_associativity(np);
 }