145f25a79SHaren Myneni /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
245f25a79SHaren Myneni /*
345f25a79SHaren Myneni  * Copyright 2019 IBM Corp.
445f25a79SHaren Myneni  */
545f25a79SHaren Myneni 
645f25a79SHaren Myneni #ifndef _UAPI_MISC_VAS_H
745f25a79SHaren Myneni #define _UAPI_MISC_VAS_H
845f25a79SHaren Myneni 
945591da7SStephen Rothwell #include <linux/types.h>
1045591da7SStephen Rothwell 
1145f25a79SHaren Myneni #include <asm/ioctl.h>
1245f25a79SHaren Myneni 
1345f25a79SHaren Myneni #define VAS_MAGIC	'v'
1445f25a79SHaren Myneni #define VAS_TX_WIN_OPEN	_IOW(VAS_MAGIC, 0x20, struct vas_tx_win_open_attr)
1545f25a79SHaren Myneni 
16*540761b7SHaren Myneni /* Flags to VAS TX open window ioctl */
17*540761b7SHaren Myneni /* To allocate a window with QoS credit, otherwise use default credit */
18*540761b7SHaren Myneni #define VAS_TX_WIN_FLAG_QOS_CREDIT	0x0000000000000001
19*540761b7SHaren Myneni 
2045f25a79SHaren Myneni struct vas_tx_win_open_attr {
2145f25a79SHaren Myneni 	__u32	version;
2245f25a79SHaren Myneni 	__s16	vas_id;	/* specific instance of vas or -1 for default */
2345f25a79SHaren Myneni 	__u16	reserved1;
24*540761b7SHaren Myneni 	__u64	flags;
2545f25a79SHaren Myneni 	__u64	reserved2[6];
2645f25a79SHaren Myneni };
2745f25a79SHaren Myneni 
2845f25a79SHaren Myneni #endif /* _UAPI_MISC_VAS_H */
29