diff mbox series

xive: Disable block tracker

Message ID 4bab6b0deb4a9c52dc7276f5793a9bdf2723d84c.camel@kernel.crashing.org
State Superseded
Headers show
Series xive: Disable block tracker | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch warning master/apply_patch Patch failed to apply
snowpatch_ozlabs/apply_patch fail Failed to apply to any branch

Commit Message

Benjamin Herrenschmidt Aug. 1, 2018, 1:18 p.m. UTC
Due to some HW errata, the block tracking facility (performance optimisation
for large systems) should be disabled on Nimbus chips. Disable it unconditionally
for now.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

Comments

Cédric Le Goater Aug. 1, 2018, 1:34 p.m. UTC | #1
On 08/01/2018 03:18 PM, Benjamin Herrenschmidt wrote:
> Due to some HW errata, the block tracking facility (performance optimisation
> for large systems) should be disabled on Nimbus chips. Disable it unconditionally
> for now.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
> diff --git a/hw/xive.c b/hw/xive.c
> index f48d7a41..8245bbf4 100644
> --- a/hw/xive.c
> +++ b/hw/xive.c
> @@ -1762,9 +1762,11 @@ static bool xive_config_init(struct xive *x)
>  	val |= VC_SBC_CONF_NO_UPD_PRF;
>  	xive_regw(x, VC_SBC_CONFIG, val);
>  
> -	/* Enable block tracking */
> +	/* Disable block tracking on Nubus (we may want to enable

Nubus ? Isn't that a Macintosh Bus ? 

> +	 * it on Cumulus later). HW Erratas.
> +	 */
>  	val = xive_regr(x, PC_TCTXT_TRACK);
> -	val |= PC_TCTXT_TRACK_EN;
> +	val &= ~PC_TCTXT_TRACK_EN;
>  	xive_regw(x, PC_TCTXT_TRACK, val);
>  
>  	/* Enable relaxed ordering of trigger forwarding */	
> 
> _______________________________________________
> Skiboot mailing list
> Skiboot@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot
>
Benjamin Herrenschmidt Aug. 1, 2018, 1:54 p.m. UTC | #2
On Wed, 2018-08-01 at 15:34 +0200, Cédric Le Goater wrote:
> On 08/01/2018 03:18 PM, Benjamin Herrenschmidt wrote:
> > Due to some HW errata, the block tracking facility (performance optimisation
> > for large systems) should be disabled on Nimbus chips. Disable it unconditionally
> > for now.
> > 
> > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> > ---
> > diff --git a/hw/xive.c b/hw/xive.c
> > index f48d7a41..8245bbf4 100644
> > --- a/hw/xive.c
> > +++ b/hw/xive.c
> > @@ -1762,9 +1762,11 @@ static bool xive_config_init(struct xive *x)
> >  	val |= VC_SBC_CONF_NO_UPD_PRF;
> >  	xive_regw(x, VC_SBC_CONFIG, val);
> >  
> > -	/* Enable block tracking */
> > +	/* Disable block tracking on Nubus (we may want to enable
> 
> Nubus ? Isn't that a Macintosh Bus ? 

Typo :-) Make that Nimbus.
> 
> > +	 * it on Cumulus later). HW Erratas.
> > +	 */
> >  	val = xive_regr(x, PC_TCTXT_TRACK);
> > -	val |= PC_TCTXT_TRACK_EN;
> > +	val &= ~PC_TCTXT_TRACK_EN;
> >  	xive_regw(x, PC_TCTXT_TRACK, val);
> >  
> >  	/* Enable relaxed ordering of trigger forwarding */	
> > 
> > _______________________________________________
> > Skiboot mailing list
> > Skiboot@lists.ozlabs.org
> > https://lists.ozlabs.org/listinfo/skiboot
> >
diff mbox series

Patch

diff --git a/hw/xive.c b/hw/xive.c
index f48d7a41..8245bbf4 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -1762,9 +1762,11 @@  static bool xive_config_init(struct xive *x)
 	val |= VC_SBC_CONF_NO_UPD_PRF;
 	xive_regw(x, VC_SBC_CONFIG, val);
 
-	/* Enable block tracking */
+	/* Disable block tracking on Nubus (we may want to enable
+	 * it on Cumulus later). HW Erratas.
+	 */
 	val = xive_regr(x, PC_TCTXT_TRACK);
-	val |= PC_TCTXT_TRACK_EN;
+	val &= ~PC_TCTXT_TRACK_EN;
 	xive_regw(x, PC_TCTXT_TRACK, val);
 
 	/* Enable relaxed ordering of trigger forwarding */