cxl: Disable secondary hash in segment table
authorIan Munsie <imunsie@au1.ibm.com>
Tue, 28 Oct 2014 03:25:27 +0000 (14:25 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 28 Oct 2014 08:52:07 +0000 (19:52 +1100)
commit5100a9d6444bf205de49190431b0d08de43b86e9
treefb3d3cf60fc6076c9fd6c5e03c8ee340caa5f5e9
parentbf19edd290d5d2d53bba53f7f4cb2f7492997009
cxl: Disable secondary hash in segment table

This patch simplifies the process of finding a free segment table entry
by disabling the secondary hash. This reduces the number of possible
entries in the segment table for a given address from 16 to 8.

Due to the large segment sizes we use it is extremely unlikely that the
secondary hash would ever have been used in practice, so this should not
have any negative impacts and may even improve performance due to the
reduced number of comparisons that software & hardware need to perform.

This patch clears the SC bit in the hardware's state register
(CXL_PSL_SR_An) to disable the secondary hash in the hardware since we
can no longer fill out entries using it.

Signed-off-by: Ian Munsie <imunsie@au1.ibm.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/cxl/fault.c
drivers/misc/cxl/native.c