[RFC PATCH] powerpc/64s: remove POWER9 DD1 support

Michal Suchánek msuchanek at suse.de
Mon Jun 11 06:58:11 AEST 2018


On Sun, 10 Jun 2018 23:30:27 +1000
Nicholas Piggin <npiggin at gmail.com> wrote:

> POWER9 DD1 was never a product. It is no longer supported by upstream
> firmware, and it is not effectively supported in Linux due to lack of
> testing.
> 

> diff --git a/arch/powerpc/kvm/book3s_xive_template.c
> b/arch/powerpc/kvm/book3s_xive_template.c index
> 99c3620b40d9..487f1f6650cc 100644 ---
> a/arch/powerpc/kvm/book3s_xive_template.c +++
> b/arch/powerpc/kvm/book3s_xive_template.c @@ -25,18 +25,6 @@ static
> void GLUE(X_PFX,ack_pending)(struct kvmppc_xive_vcpu *xc) */
>  	eieio();
>  
> -	/*
> -	 * DD1 bug workaround: If PIPR is less favored than CPPR
> -	 * ignore the interrupt or we might incorrectly lose an IPB
> -	 * bit.
> -	 */
> -	if (cpu_has_feature(CPU_FTR_POWER9_DD1)) {
> -		__be64 qw1 = __x_readq(__x_tima + TM_QW1_OS);
> -		u8 pipr = be64_to_cpu(qw1) & 0xff;
> -		if (pipr >= xc->hw_cppr)
> -			return;
> -	}
> -
>  	/* Perform the acknowledge OS to register cycle. */
>  	ack = be16_to_cpu(__x_readw(__x_tima + TM_SPC_ACK_OS_REG));
>  
> @@ -105,7 +93,7 @@ static void GLUE(X_PFX,source_eoi)(u32 hw_irq,
> struct xive_irq_data *xd) *
>  		 * For LSIs, using the HW EOI cycle works around a
> problem
>  		 * on P9 DD1 PHBs where the other ESB accesses don't
> work
> -		 * properly.
> +		 * properly. XXX: can this be removed?
>  		 */
>  		if (xd->flags & XIVE_IRQ_FLAG_LSI)
>  			__x_readq(__x_eoi_page(xd) +

Maybe this should be really removed or the comment changed to why it is
still useful?

Thanks

Michal


More information about the Linuxppc-dev mailing list