powerpc/pseries: Fix how we iterate over the DTL entries
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Thu, 27 Sep 2018 08:10:58 +0000 (13:40 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Nov 2019 08:53:26 +0000 (09:53 +0100)
commitd1c9aa8380aaf5ee02e384e3fc7b96e24818f3c5
tree66f27759ed3693130f45665ec6a3f1b5b839e2fd
parent7fe169985c2e2edc9f55e6e882cd759842f84a8e
powerpc/pseries: Fix how we iterate over the DTL entries

[ Upstream commit 9258227e9dd1da8feddb07ad9702845546a581c9 ]

When CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set, we look up dtl_idx in
the lppaca to determine the number of entries in the buffer. Since
lppaca is in big endian, we need to do an endian conversion before using
this in our calculation to determine the number of entries in the
buffer. Without this, we do not iterate over the existing entries in the
DTL buffer properly.

Fixes: 7c105b63bd98 ("powerpc: Add CONFIG_CPU_LITTLE_ENDIAN kernel config option.")
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/platforms/pseries/dtl.c