--- v2
+++ v4
@@ -13,7 +13,7 @@
"senders", where the "receivers" are typically the NX engines and
"senders" are the kernel subsystems and user processors that wish to
access the receivers (NX engines). Once a sender is "connected" to
-a receiver through the switchboard, the sender submit compression/
+a receiver through the switchboard, the senders can submit compression/
encryption requests to the hardware using the new (PowerISA 3.0)
"copy" and "paste" instructions.
@@ -38,11 +38,37 @@
Thanks to input from Ben Herrenschmidt, Michael Neuling, Michael Ellerman
and Haren Myneni.
+Changelog[v4]
+ Comments from Michael Neuling:
+ - Move VAS code from drivers/misc/vas to arch/powerpc/platforms/powernv
+ since VAS only provides interfaces to other drivers like NX-842.
+ - Drop vas-internal.h and use vas.h in separate dirs for VAS
+ internal, kernel API and user API
+ - Rather than create 6 separate device tree properties windows
+ and window context, combine them into 6 "reg" properties.
+ - Drop vas_window_reset() since windows are reset/cleared before
+ being assigned to kernel/users.
+ - Use ilog2() and radix_enabled() helpers
+
+Changelog[v3]
+ - Rebase to v4.11-rc1
+ - Add interfaces to initialize send/receive window attributes to
+ defaults that drivers can use (see arch/powerpc/include/asm/vas.h)
+ - Modify interface vas_paste() to return 0 or error code
+ - Fix a bug in setting Translation Control Mode (0b11 not 0x11)
+ - Enable send-window-credit checking
+ - Reorg code in vas_win_close()
+ - Minor reorgs and tweaks to register field settings to make it
+ easier to add support for user space windows.
+ - Skip writing to read-only registers
+ - Start window indexing from 0 rather than 1
+
Changelog[v2]
- Use vas-id, HVWC, UWC and paste address, entries from device tree
rather than defining/computing them in kernel and reorg code.
-Sukadev Bhattiprolu (10):
+Sukadev Bhattiprolu (11):
+ Add Power9 PVR
VAS: Define macros, register fields and structures
Move GET_FIELD/SET_FIELD to vas.h
VAS: Define vas_init() and vas_exit()
@@ -54,27 +80,24 @@
VAS: Define vas_tx_win_open()
VAS: Define copy/paste interfaces
- MAINTAINERS | 6 +
- arch/powerpc/include/asm/reg.h | 1 +
- arch/powerpc/include/asm/vas.h | 141 ++++++
- drivers/crypto/nx/nx-842-powernv.c | 1 +
- drivers/crypto/nx/nx-842.h | 5 -
- drivers/misc/Kconfig | 1 +
- drivers/misc/Makefile | 1 +
- drivers/misc/vas/Kconfig | 20 +
- drivers/misc/vas/Makefile | 3 +
- drivers/misc/vas/copy-paste.h | 74 +++
- drivers/misc/vas/vas-internal.h | 467 ++++++++++++++++++
- drivers/misc/vas/vas-window.c | 950 +++++++++++++++++++++++++++++++++++++
- drivers/misc/vas/vas.c | 156 ++++++
- 13 files changed, 1821 insertions(+), 5 deletions(-)
+ arch/powerpc/include/asm/reg.h | 1 +
+ arch/powerpc/include/asm/vas.h | 141 ++++
+ arch/powerpc/include/uapi/asm/vas.h | 33 +
+ arch/powerpc/platforms/powernv/Kconfig | 14 +
+ arch/powerpc/platforms/powernv/Makefile | 1 +
+ arch/powerpc/platforms/powernv/copy-paste.h | 74 ++
+ arch/powerpc/platforms/powernv/vas-window.c | 1003 +++++++++++++++++++++++++++
+ arch/powerpc/platforms/powernv/vas.c | 145 ++++
+ arch/powerpc/platforms/powernv/vas.h | 470 +++++++++++++
+ drivers/crypto/nx/nx-842-powernv.c | 7 +-
+ drivers/crypto/nx/nx-842.h | 5 -
+ 11 files changed, 1886 insertions(+), 8 deletions(-)
create mode 100644 arch/powerpc/include/asm/vas.h
- create mode 100644 drivers/misc/vas/Kconfig
- create mode 100644 drivers/misc/vas/Makefile
- create mode 100644 drivers/misc/vas/copy-paste.h
- create mode 100644 drivers/misc/vas/vas-internal.h
- create mode 100644 drivers/misc/vas/vas-window.c
- create mode 100644 drivers/misc/vas/vas.c
+ create mode 100644 arch/powerpc/include/uapi/asm/vas.h
+ create mode 100644 arch/powerpc/platforms/powernv/copy-paste.h
+ create mode 100644 arch/powerpc/platforms/powernv/vas-window.c
+ create mode 100644 arch/powerpc/platforms/powernv/vas.c
+ create mode 100644 arch/powerpc/platforms/powernv/vas.h
--
2.7.4