powerpc/vas: Define VAS_TX_WIN_OPEN ioctl API
authorHaren Myneni <haren@linux.ibm.com>
Fri, 17 Apr 2020 09:01:05 +0000 (02:01 -0700)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 20 Apr 2020 06:53:13 +0000 (16:53 +1000)
Define the VAS_TX_WIN_OPEN ioctl interface for NX GZIP access
from user space. This interface is used to open GZIP send window and
mmap region which can be used by userspace to send requests to NX
directly with copy/paste instructions.

Signed-off-by: Haren Myneni <haren@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1587114065.2275.1106.camel@hbabu-laptop
Documentation/userspace-api/ioctl/ioctl-number.rst
arch/powerpc/include/uapi/asm/vas-api.h [new file with mode: 0644]

index f759edafd938a5b8fb27bfc74b9813e01e7e8d51..f18accb1bcd8e24aefa9ccec1f754ceb19b1fe5b 100644 (file)
@@ -286,6 +286,7 @@ Code  Seq#    Include File                                           Comments
 'v'   00-1F  linux/fs.h                                              conflict!
 'v'   00-0F  linux/sonypi.h                                          conflict!
 'v'   00-0F  media/v4l2-subdev.h                                     conflict!
+'v'   20-27  arch/powerpc/include/uapi/asm/vas-api.h                VAS API
 'v'   C0-FF  linux/meye.h                                            conflict!
 'w'   all                                                            CERN SCI driver
 'y'   00-1F                                                          packet based user level communications
diff --git a/arch/powerpc/include/uapi/asm/vas-api.h b/arch/powerpc/include/uapi/asm/vas-api.h
new file mode 100644 (file)
index 0000000..fe95d67
--- /dev/null
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
+/*
+ * Copyright 2019 IBM Corp.
+ */
+
+#ifndef _UAPI_MISC_VAS_H
+#define _UAPI_MISC_VAS_H
+
+#include <asm/ioctl.h>
+
+#define VAS_MAGIC      'v'
+#define VAS_TX_WIN_OPEN        _IOW(VAS_MAGIC, 0x20, struct vas_tx_win_open_attr)
+
+struct vas_tx_win_open_attr {
+       __u32   version;
+       __s16   vas_id; /* specific instance of vas or -1 for default */
+       __u16   reserved1;
+       __u64   flags;  /* Future use */
+       __u64   reserved2[6];
+};
+
+#endif /* _UAPI_MISC_VAS_H */