Commit 694c4951 authored by Aneesh Kumar K.V's avatar Aneesh Kumar K.V Committed by Michael Ellerman

powerpc/mm/radix: Use different RTS encoding for different POWER9 revs

POWER9 DD1 uses RTS - 28 for the RTS value but other revisions use
RTS - 31.  This makes this distinction for the different revisions
Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: default avatarMichael Neuling <mikey@neuling.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 7dccfbc3
...@@ -233,14 +233,19 @@ static inline unsigned long radix__get_tree_size(void) ...@@ -233,14 +233,19 @@ static inline unsigned long radix__get_tree_size(void)
{ {
unsigned long rts_field; unsigned long rts_field;
/* /*
* we support 52 bits, hence 52-31 = 21, 0b10101 * We support 52 bits, hence:
* DD1 52-28 = 24, 0b11000
* Others 52-31 = 21, 0b10101
* RTS encoding details * RTS encoding details
* bits 0 - 3 of rts -> bits 6 - 8 unsigned long * bits 0 - 3 of rts -> bits 6 - 8 unsigned long
* bits 4 - 5 of rts -> bits 62 - 63 of unsigned long * bits 4 - 5 of rts -> bits 62 - 63 of unsigned long
*/ */
if (cpu_has_feature(CPU_FTR_POWER9_DD1))
rts_field = (0x3UL << 61);
else {
rts_field = (0x5UL << 5); /* 6 - 8 bits */ rts_field = (0x5UL << 5); /* 6 - 8 bits */
rts_field |= (0x2UL << 61); rts_field |= (0x2UL << 61);
}
return rts_field; return rts_field;
} }
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment