summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/powernv/vas-fault.c
diff options
context:
space:
mode:
authorHaren Myneni <haren@linux.ibm.com>2022-04-09 11:44:16 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2022-05-22 08:58:27 +0300
commitc127d130f6d59fa81701f6b04023cf7cd1972fb3 (patch)
tree5a5145ae9d03ca8f09ada19c95e7183b2f84c18e /arch/powerpc/platforms/powernv/vas-fault.c
parent6bdc81eca9519a85d36b3915136640ef9cba1a23 (diff)
downloadlinux-c127d130f6d59fa81701f6b04023cf7cd1972fb3.tar.xz
powerpc/powernv/vas: Assign real address to rx_fifo in vas_rx_win_attr
In init_winctx_regs(), __pa() is called on winctx->rx_fifo and this function is called to initialize registers for receive and fault windows. But the real address is passed in winctx->rx_fifo for receive windows and the virtual address for fault windows which causes errors with DEBUG_VIRTUAL enabled. Fixes this issue by assigning only real address to rx_fifo in vas_rx_win_attr struct for both receive and fault windows. Reported-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Haren Myneni <haren@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/338e958c7ab8f3b266fa794a1f80f99b9671829e.camel@linux.ibm.com
Diffstat (limited to 'arch/powerpc/platforms/powernv/vas-fault.c')
-rw-r--r--arch/powerpc/platforms/powernv/vas-fault.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/vas-fault.c b/arch/powerpc/platforms/powernv/vas-fault.c
index a7aabc18039e..c1bfad56447d 100644
--- a/arch/powerpc/platforms/powernv/vas-fault.c
+++ b/arch/powerpc/platforms/powernv/vas-fault.c
@@ -216,7 +216,7 @@ int vas_setup_fault_window(struct vas_instance *vinst)
vas_init_rx_win_attr(&attr, VAS_COP_TYPE_FAULT);
attr.rx_fifo_size = vinst->fault_fifo_size;
- attr.rx_fifo = vinst->fault_fifo;
+ attr.rx_fifo = __pa(vinst->fault_fifo);
/*
* Max creds is based on number of CRBs can fit in the FIFO.