OSDN Git Service

powerpc/powernv: Fix TCE kill on NVLink2
authorAlistair Popple <alistair@popple.id.au>
Wed, 3 May 2017 03:24:08 +0000 (13:24 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 3 May 2017 10:45:55 +0000 (20:45 +1000)
commit6b3d12a948d27977816a15eb48409a298902a548
tree348436d892cdb57f102ac47e924d72b8df3d92dd
parent3c9ac2bcc35453141f82461c71ed109ded152a6a
powerpc/powernv: Fix TCE kill on NVLink2

Commit 616badd2fb49 ("powerpc/powernv: Use OPAL call for TCE kill on
NVLink2") forced all TCE kills to go via the OPAL call for
NVLink2. However the PHB3 implementation of TCE kill was still being
called directly from some functions which in some circumstances caused
a machine check.

This patch adds an equivalent IODA2 version of the function which uses
the correct invalidation method depending on PHB model and changes all
external callers to use it instead.

Fixes: 616badd2fb49 ("powerpc/powernv: Use OPAL call for TCE kill on NVLink2")
Cc: stable@vger.kernel.org # v4.11+
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/powernv/npu-dma.c
arch/powerpc/platforms/powernv/pci-ioda.c
arch/powerpc/platforms/powernv/pci.h