summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/vas.h
diff options
context:
space:
mode:
authorSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>2017-08-28 23:23:40 -0700
committerMichael Ellerman <mpe@ellerman.id.au>2017-08-31 14:26:38 +1000
commit2392c8c8c0450293625dbef19ff5e206fb7b6749 (patch)
treec8a7b1d865bd487b168e226fd5c78c3aecb684ee /arch/powerpc/include/asm/vas.h
parent5239af679a07427647b009ebb9c70b1a03ebca9b (diff)
downloadlinux-stable-2392c8c8c0450293625dbef19ff5e206fb7b6749.tar.gz
linux-stable-2392c8c8c0450293625dbef19ff5e206fb7b6749.tar.bz2
linux-stable-2392c8c8c0450293625dbef19ff5e206fb7b6749.zip
powerpc/powernv/vas: Define copy/paste interfaces
Define interfaces (wrappers) to the 'copy' and 'paste' instructions (which are new in PowerISA 3.0). These are intended to be used to by NX driver(s) to submit Coprocessor Request Blocks (CRBs) to the NX hardware engines. Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/vas.h')
-rw-r--r--arch/powerpc/include/asm/vas.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/vas.h b/arch/powerpc/include/asm/vas.h
index 033461c17637..fd5963acd658 100644
--- a/arch/powerpc/include/asm/vas.h
+++ b/arch/powerpc/include/asm/vas.h
@@ -144,4 +144,16 @@ struct vas_window *vas_tx_win_open(int vasid, enum vas_cop_type cop,
*/
int vas_win_close(struct vas_window *win);
+/*
+ * Copy the co-processor request block (CRB) @crb into the local L2 cache.
+ */
+int vas_copy_crb(void *crb, int offset);
+
+/*
+ * Paste a previously copied CRB (see vas_copy_crb()) from the L2 cache to
+ * the hardware address associated with the window @win. @re is expected/
+ * assumed to be true for NX windows.
+ */
+int vas_paste_crb(struct vas_window *win, int offset, bool re);
+
#endif /* __ASM_POWERPC_VAS_H */