diff options
Diffstat (limited to '')
| -rw-r--r-- | arch/powerpc/kernel/dt_cpu_ftrs.c | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c index 4313ff07edca..11a3a4fed3fb 100644 --- a/arch/powerpc/kernel/dt_cpu_ftrs.c +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c @@ -708,11 +708,16 @@ static __init void cpufeatures_cpu_quirks(void)  	 */  	if ((version & 0xffffff00) == 0x004e0100)  		cur_cpu_spec->cpu_features |= CPU_FTR_POWER9_DD1; +	else if ((version & 0xffffefff) == 0x004e0200) +		; /* DD2.0 has no feature flag */  	else if ((version & 0xffffefff) == 0x004e0201)  		cur_cpu_spec->cpu_features |= CPU_FTR_POWER9_DD2_1; -	else if ((version & 0xffffefff) == 0x004e0202) -		cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_HV_ASSIST | -			CPU_FTR_P9_TM_XER_SO_BUG; +	else if ((version & 0xffffefff) == 0x004e0202) { +		cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_HV_ASSIST; +		cur_cpu_spec->cpu_features |= CPU_FTR_P9_TM_XER_SO_BUG; +		cur_cpu_spec->cpu_features |= CPU_FTR_POWER9_DD2_1; +	} else /* DD2.1 and up have DD2_1 */ +		cur_cpu_spec->cpu_features |= CPU_FTR_POWER9_DD2_1;  	if ((version & 0xffff0000) == 0x004e0000) {  		cur_cpu_spec->cpu_features &= ~(CPU_FTR_DAWR);  | 
