Merge drm/drm-next into drm-intel-next-queued
Pull in v4.20-rc3 via drm-next. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
@@ -26,7 +26,9 @@
|
||||
#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||
|
@@ -79,6 +79,8 @@
|
||||
#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */
|
||||
#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */
|
||||
#define TIOCGPTPEER _IO('T', 0x41) /* Safely open the slave */
|
||||
#define TIOCGISO7816 _IOR('T', 0x42, struct serial_iso7816)
|
||||
#define TIOCSISO7816 _IOWR('T', 0x43, struct serial_iso7816)
|
||||
|
||||
#define FIONCLEX 0x5450
|
||||
#define FIOCLEX 0x5451
|
||||
|
@@ -10,18 +10,7 @@ typedef union sigval {
|
||||
void __user *sival_ptr;
|
||||
} sigval_t;
|
||||
|
||||
/*
|
||||
* This is the size (including padding) of the part of the
|
||||
* struct siginfo that is before the union.
|
||||
*/
|
||||
#ifndef __ARCH_SI_PREAMBLE_SIZE
|
||||
#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
|
||||
#endif
|
||||
|
||||
#define SI_MAX_SIZE 128
|
||||
#ifndef SI_PAD_SIZE
|
||||
#define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The default "si_band" type is "long", as specified by POSIX.
|
||||
@@ -40,96 +29,108 @@ typedef union sigval {
|
||||
#define __ARCH_SI_ATTRIBUTES
|
||||
#endif
|
||||
|
||||
typedef struct siginfo {
|
||||
int si_signo;
|
||||
#ifndef __ARCH_HAS_SWAPPED_SIGINFO
|
||||
int si_errno;
|
||||
int si_code;
|
||||
#else
|
||||
int si_code;
|
||||
int si_errno;
|
||||
#endif
|
||||
union __sifields {
|
||||
/* kill() */
|
||||
struct {
|
||||
__kernel_pid_t _pid; /* sender's pid */
|
||||
__kernel_uid32_t _uid; /* sender's uid */
|
||||
} _kill;
|
||||
|
||||
union {
|
||||
int _pad[SI_PAD_SIZE];
|
||||
/* POSIX.1b timers */
|
||||
struct {
|
||||
__kernel_timer_t _tid; /* timer id */
|
||||
int _overrun; /* overrun count */
|
||||
sigval_t _sigval; /* same as below */
|
||||
int _sys_private; /* not to be passed to user */
|
||||
} _timer;
|
||||
|
||||
/* kill() */
|
||||
struct {
|
||||
__kernel_pid_t _pid; /* sender's pid */
|
||||
__kernel_uid32_t _uid; /* sender's uid */
|
||||
} _kill;
|
||||
/* POSIX.1b signals */
|
||||
struct {
|
||||
__kernel_pid_t _pid; /* sender's pid */
|
||||
__kernel_uid32_t _uid; /* sender's uid */
|
||||
sigval_t _sigval;
|
||||
} _rt;
|
||||
|
||||
/* POSIX.1b timers */
|
||||
struct {
|
||||
__kernel_timer_t _tid; /* timer id */
|
||||
int _overrun; /* overrun count */
|
||||
sigval_t _sigval; /* same as below */
|
||||
int _sys_private; /* not to be passed to user */
|
||||
} _timer;
|
||||
/* SIGCHLD */
|
||||
struct {
|
||||
__kernel_pid_t _pid; /* which child */
|
||||
__kernel_uid32_t _uid; /* sender's uid */
|
||||
int _status; /* exit code */
|
||||
__ARCH_SI_CLOCK_T _utime;
|
||||
__ARCH_SI_CLOCK_T _stime;
|
||||
} _sigchld;
|
||||
|
||||
/* POSIX.1b signals */
|
||||
struct {
|
||||
__kernel_pid_t _pid; /* sender's pid */
|
||||
__kernel_uid32_t _uid; /* sender's uid */
|
||||
sigval_t _sigval;
|
||||
} _rt;
|
||||
|
||||
/* SIGCHLD */
|
||||
struct {
|
||||
__kernel_pid_t _pid; /* which child */
|
||||
__kernel_uid32_t _uid; /* sender's uid */
|
||||
int _status; /* exit code */
|
||||
__ARCH_SI_CLOCK_T _utime;
|
||||
__ARCH_SI_CLOCK_T _stime;
|
||||
} _sigchld;
|
||||
|
||||
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */
|
||||
struct {
|
||||
void __user *_addr; /* faulting insn/memory ref. */
|
||||
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */
|
||||
struct {
|
||||
void __user *_addr; /* faulting insn/memory ref. */
|
||||
#ifdef __ARCH_SI_TRAPNO
|
||||
int _trapno; /* TRAP # which caused the signal */
|
||||
int _trapno; /* TRAP # which caused the signal */
|
||||
#endif
|
||||
#ifdef __ia64__
|
||||
int _imm; /* immediate value for "break" */
|
||||
unsigned int _flags; /* see ia64 si_flags */
|
||||
unsigned long _isr; /* isr */
|
||||
int _imm; /* immediate value for "break" */
|
||||
unsigned int _flags; /* see ia64 si_flags */
|
||||
unsigned long _isr; /* isr */
|
||||
#endif
|
||||
|
||||
#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \
|
||||
sizeof(short) : __alignof__(void *))
|
||||
union {
|
||||
/*
|
||||
* used when si_code=BUS_MCEERR_AR or
|
||||
* used when si_code=BUS_MCEERR_AO
|
||||
*/
|
||||
short _addr_lsb; /* LSB of the reported address */
|
||||
/* used when si_code=SEGV_BNDERR */
|
||||
struct {
|
||||
char _dummy_bnd[__ADDR_BND_PKEY_PAD];
|
||||
void __user *_lower;
|
||||
void __user *_upper;
|
||||
} _addr_bnd;
|
||||
/* used when si_code=SEGV_PKUERR */
|
||||
struct {
|
||||
char _dummy_pkey[__ADDR_BND_PKEY_PAD];
|
||||
__u32 _pkey;
|
||||
} _addr_pkey;
|
||||
};
|
||||
} _sigfault;
|
||||
union {
|
||||
/*
|
||||
* used when si_code=BUS_MCEERR_AR or
|
||||
* used when si_code=BUS_MCEERR_AO
|
||||
*/
|
||||
short _addr_lsb; /* LSB of the reported address */
|
||||
/* used when si_code=SEGV_BNDERR */
|
||||
struct {
|
||||
char _dummy_bnd[__ADDR_BND_PKEY_PAD];
|
||||
void __user *_lower;
|
||||
void __user *_upper;
|
||||
} _addr_bnd;
|
||||
/* used when si_code=SEGV_PKUERR */
|
||||
struct {
|
||||
char _dummy_pkey[__ADDR_BND_PKEY_PAD];
|
||||
__u32 _pkey;
|
||||
} _addr_pkey;
|
||||
};
|
||||
} _sigfault;
|
||||
|
||||
/* SIGPOLL */
|
||||
struct {
|
||||
__ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
||||
int _fd;
|
||||
} _sigpoll;
|
||||
/* SIGPOLL */
|
||||
struct {
|
||||
__ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
||||
int _fd;
|
||||
} _sigpoll;
|
||||
|
||||
/* SIGSYS */
|
||||
struct {
|
||||
void __user *_call_addr; /* calling user insn */
|
||||
int _syscall; /* triggering system call number */
|
||||
unsigned int _arch; /* AUDIT_ARCH_* of syscall */
|
||||
} _sigsys;
|
||||
} _sifields;
|
||||
/* SIGSYS */
|
||||
struct {
|
||||
void __user *_call_addr; /* calling user insn */
|
||||
int _syscall; /* triggering system call number */
|
||||
unsigned int _arch; /* AUDIT_ARCH_* of syscall */
|
||||
} _sigsys;
|
||||
};
|
||||
|
||||
#ifndef __ARCH_HAS_SWAPPED_SIGINFO
|
||||
#define __SIGINFO \
|
||||
struct { \
|
||||
int si_signo; \
|
||||
int si_errno; \
|
||||
int si_code; \
|
||||
union __sifields _sifields; \
|
||||
}
|
||||
#else
|
||||
#define __SIGINFO \
|
||||
struct { \
|
||||
int si_signo; \
|
||||
int si_code; \
|
||||
int si_errno; \
|
||||
union __sifields _sifields; \
|
||||
}
|
||||
#endif /* __ARCH_HAS_SWAPPED_SIGINFO */
|
||||
|
||||
typedef struct siginfo {
|
||||
union {
|
||||
__SIGINFO;
|
||||
int _si_pad[SI_MAX_SIZE/sizeof(int)];
|
||||
};
|
||||
} __ARCH_SI_ATTRIBUTES siginfo_t;
|
||||
|
||||
/*
|
||||
@@ -285,6 +286,12 @@ typedef struct siginfo {
|
||||
#define SYS_SECCOMP 1 /* seccomp triggered */
|
||||
#define NSIGSYS 1
|
||||
|
||||
/*
|
||||
* SIGEMT si_codes
|
||||
*/
|
||||
#define EMT_TAGOVF 1 /* tag overflow */
|
||||
#define NSIGEMT 1
|
||||
|
||||
/*
|
||||
* sigevent definitions
|
||||
*
|
||||
|
@@ -242,10 +242,12 @@ __SYSCALL(__NR_tee, sys_tee)
|
||||
/* fs/stat.c */
|
||||
#define __NR_readlinkat 78
|
||||
__SYSCALL(__NR_readlinkat, sys_readlinkat)
|
||||
#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64)
|
||||
#define __NR3264_fstatat 79
|
||||
__SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat)
|
||||
#define __NR3264_fstat 80
|
||||
__SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat)
|
||||
#endif
|
||||
|
||||
/* fs/sync.c */
|
||||
#define __NR_sync 81
|
||||
|
@@ -326,6 +326,12 @@ struct drm_amdgpu_gem_userptr {
|
||||
/* GFX9 and later: */
|
||||
#define AMDGPU_TILING_SWIZZLE_MODE_SHIFT 0
|
||||
#define AMDGPU_TILING_SWIZZLE_MODE_MASK 0x1f
|
||||
#define AMDGPU_TILING_DCC_OFFSET_256B_SHIFT 5
|
||||
#define AMDGPU_TILING_DCC_OFFSET_256B_MASK 0xFFFFFF
|
||||
#define AMDGPU_TILING_DCC_PITCH_MAX_SHIFT 29
|
||||
#define AMDGPU_TILING_DCC_PITCH_MAX_MASK 0x3FFF
|
||||
#define AMDGPU_TILING_DCC_INDEPENDENT_64B_SHIFT 43
|
||||
#define AMDGPU_TILING_DCC_INDEPENDENT_64B_MASK 0x1
|
||||
|
||||
/* Set/Get helpers for tiling flags. */
|
||||
#define AMDGPU_TILING_SET(field, value) \
|
||||
|
@@ -717,6 +717,7 @@ struct drm_prime_handle {
|
||||
struct drm_syncobj_create {
|
||||
__u32 handle;
|
||||
#define DRM_SYNCOBJ_CREATE_SIGNALED (1 << 0)
|
||||
#define DRM_SYNCOBJ_CREATE_TYPE_TIMELINE (1 << 1)
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
|
@@ -152,6 +152,20 @@ extern "C" {
|
||||
|
||||
#define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
|
||||
|
||||
/*
|
||||
* packed YCbCr420 2x2 tiled formats
|
||||
* first 64 bits will contain Y,Cb,Cr components for a 2x2 tile
|
||||
*/
|
||||
/* [63:0] A3:A2:Y3:0:Cr0:0:Y2:0:A1:A0:Y1:0:Cb0:0:Y0:0 1:1:8:2:8:2:8:2:1:1:8:2:8:2:8:2 little endian */
|
||||
#define DRM_FORMAT_Y0L0 fourcc_code('Y', '0', 'L', '0')
|
||||
/* [63:0] X3:X2:Y3:0:Cr0:0:Y2:0:X1:X0:Y1:0:Cb0:0:Y0:0 1:1:8:2:8:2:8:2:1:1:8:2:8:2:8:2 little endian */
|
||||
#define DRM_FORMAT_X0L0 fourcc_code('X', '0', 'L', '0')
|
||||
|
||||
/* [63:0] A3:A2:Y3:Cr0:Y2:A1:A0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian */
|
||||
#define DRM_FORMAT_Y0L2 fourcc_code('Y', '0', 'L', '2')
|
||||
/* [63:0] X3:X2:Y3:Cr0:Y2:X1:X0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian */
|
||||
#define DRM_FORMAT_X0L2 fourcc_code('X', '0', 'L', '2')
|
||||
|
||||
/*
|
||||
* 2 plane RGB + A
|
||||
* index 0 = RGB plane, same format as the corresponding non _A8 format has
|
||||
|
@@ -58,6 +58,11 @@ struct drm_v3d_submit_cl {
|
||||
* coordinate shader to determine where primitives land on the screen,
|
||||
* then writes out the state updates and draw calls necessary per tile
|
||||
* to the tile allocation BO.
|
||||
*
|
||||
* This BCL will block on any previous BCL submitted on the
|
||||
* same FD, but not on any RCL or BCLs submitted by other
|
||||
* clients -- that is left up to the submitter to control
|
||||
* using in_sync_bcl if necessary.
|
||||
*/
|
||||
__u32 bcl_start;
|
||||
|
||||
@@ -69,6 +74,11 @@ struct drm_v3d_submit_cl {
|
||||
* This is the second set of commands executed, which will either
|
||||
* execute the tiles that have been set up by the BCL, or a fixed set
|
||||
* of tiles (in the case of RCL-only blits).
|
||||
*
|
||||
* This RCL will block on this submit's BCL, and any previous
|
||||
* RCL submitted on the same FD, but not on any RCL or BCLs
|
||||
* submitted by other clients -- that is left up to the
|
||||
* submitter to control using in_sync_rcl if necessary.
|
||||
*/
|
||||
__u32 rcl_start;
|
||||
|
||||
|
@@ -200,6 +200,15 @@ struct binder_node_debug_info {
|
||||
__u32 has_weak_ref;
|
||||
};
|
||||
|
||||
struct binder_node_info_for_ref {
|
||||
__u32 handle;
|
||||
__u32 strong_count;
|
||||
__u32 weak_count;
|
||||
__u32 reserved1;
|
||||
__u32 reserved2;
|
||||
__u32 reserved3;
|
||||
};
|
||||
|
||||
#define BINDER_WRITE_READ _IOWR('b', 1, struct binder_write_read)
|
||||
#define BINDER_SET_IDLE_TIMEOUT _IOW('b', 3, __s64)
|
||||
#define BINDER_SET_MAX_THREADS _IOW('b', 5, __u32)
|
||||
@@ -208,6 +217,7 @@ struct binder_node_debug_info {
|
||||
#define BINDER_THREAD_EXIT _IOW('b', 8, __s32)
|
||||
#define BINDER_VERSION _IOWR('b', 9, struct binder_version)
|
||||
#define BINDER_GET_NODE_DEBUG_INFO _IOWR('b', 11, struct binder_node_debug_info)
|
||||
#define BINDER_GET_NODE_INFO_FOR_REF _IOWR('b', 12, struct binder_node_info_for_ref)
|
||||
|
||||
/*
|
||||
* NOTE: Two special error codes you should check for when calling
|
||||
|
@@ -137,8 +137,11 @@ struct blk_zone_range {
|
||||
* sector specified in the report request structure.
|
||||
* @BLKRESETZONE: Reset the write pointer of the zones in the specified
|
||||
* sector range. The sector range must be zone aligned.
|
||||
* @BLKGETZONESZ: Get the device zone size in number of 512 B sectors.
|
||||
*/
|
||||
#define BLKREPORTZONE _IOWR(0x12, 130, struct blk_zone_report)
|
||||
#define BLKRESETZONE _IOW(0x12, 131, struct blk_zone_range)
|
||||
#define BLKGETZONESZ _IOW(0x12, 132, __u32)
|
||||
#define BLKGETNRZONES _IOW(0x12, 133, __u32)
|
||||
|
||||
#endif /* _UAPI_BLKZONED_H */
|
||||
|
@@ -103,6 +103,7 @@ enum bpf_cmd {
|
||||
BPF_BTF_LOAD,
|
||||
BPF_BTF_GET_FD_BY_ID,
|
||||
BPF_TASK_FD_QUERY,
|
||||
BPF_MAP_LOOKUP_AND_DELETE_ELEM,
|
||||
};
|
||||
|
||||
enum bpf_map_type {
|
||||
@@ -127,6 +128,9 @@ enum bpf_map_type {
|
||||
BPF_MAP_TYPE_SOCKHASH,
|
||||
BPF_MAP_TYPE_CGROUP_STORAGE,
|
||||
BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
|
||||
BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
|
||||
BPF_MAP_TYPE_QUEUE,
|
||||
BPF_MAP_TYPE_STACK,
|
||||
};
|
||||
|
||||
enum bpf_prog_type {
|
||||
@@ -152,6 +156,7 @@ enum bpf_prog_type {
|
||||
BPF_PROG_TYPE_LWT_SEG6LOCAL,
|
||||
BPF_PROG_TYPE_LIRC_MODE2,
|
||||
BPF_PROG_TYPE_SK_REUSEPORT,
|
||||
BPF_PROG_TYPE_FLOW_DISSECTOR,
|
||||
};
|
||||
|
||||
enum bpf_attach_type {
|
||||
@@ -172,6 +177,7 @@ enum bpf_attach_type {
|
||||
BPF_CGROUP_UDP4_SENDMSG,
|
||||
BPF_CGROUP_UDP6_SENDMSG,
|
||||
BPF_LIRC_MODE2,
|
||||
BPF_FLOW_DISSECTOR,
|
||||
__MAX_BPF_ATTACH_TYPE
|
||||
};
|
||||
|
||||
@@ -459,6 +465,28 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
|
||||
* Description
|
||||
* Push an element *value* in *map*. *flags* is one of:
|
||||
*
|
||||
* **BPF_EXIST**
|
||||
* If the queue/stack is full, the oldest element is removed to
|
||||
* make room for this.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_pop_elem(struct bpf_map *map, void *value)
|
||||
* Description
|
||||
* Pop an element from *map*.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_map_peek_elem(struct bpf_map *map, void *value)
|
||||
* Description
|
||||
* Get an element from *map* without removing it.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_probe_read(void *dst, u32 size, const void *src)
|
||||
* Description
|
||||
* For tracing programs, safely attempt to read *size* bytes from
|
||||
@@ -1430,7 +1458,7 @@ union bpf_attr {
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_skb_adjust_room(struct sk_buff *skb, u32 len_diff, u32 mode, u64 flags)
|
||||
* int bpf_skb_adjust_room(struct sk_buff *skb, s32 len_diff, u32 mode, u64 flags)
|
||||
* Description
|
||||
* Grow or shrink the room for data in the packet associated to
|
||||
* *skb* by *len_diff*, and according to the selected *mode*.
|
||||
@@ -2141,6 +2169,94 @@ union bpf_attr {
|
||||
* request in the skb.
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags)
|
||||
* Description
|
||||
* Look for TCP socket matching *tuple*, optionally in a child
|
||||
* network namespace *netns*. The return value must be checked,
|
||||
* and if non-NULL, released via **bpf_sk_release**\ ().
|
||||
*
|
||||
* The *ctx* should point to the context of the program, such as
|
||||
* the skb or socket (depending on the hook in use). This is used
|
||||
* to determine the base network namespace for the lookup.
|
||||
*
|
||||
* *tuple_size* must be one of:
|
||||
*
|
||||
* **sizeof**\ (*tuple*\ **->ipv4**)
|
||||
* Look for an IPv4 socket.
|
||||
* **sizeof**\ (*tuple*\ **->ipv6**)
|
||||
* Look for an IPv6 socket.
|
||||
*
|
||||
* If the *netns* is zero, then the socket lookup table in the
|
||||
* netns associated with the *ctx* will be used. For the TC hooks,
|
||||
* this in the netns of the device in the skb. For socket hooks,
|
||||
* this in the netns of the socket. If *netns* is non-zero, then
|
||||
* it specifies the ID of the netns relative to the netns
|
||||
* associated with the *ctx*.
|
||||
*
|
||||
* All values for *flags* are reserved for future usage, and must
|
||||
* be left at zero.
|
||||
*
|
||||
* This helper is available only if the kernel was compiled with
|
||||
* **CONFIG_NET** configuration option.
|
||||
* Return
|
||||
* Pointer to *struct bpf_sock*, or NULL in case of failure.
|
||||
*
|
||||
* struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags)
|
||||
* Description
|
||||
* Look for UDP socket matching *tuple*, optionally in a child
|
||||
* network namespace *netns*. The return value must be checked,
|
||||
* and if non-NULL, released via **bpf_sk_release**\ ().
|
||||
*
|
||||
* The *ctx* should point to the context of the program, such as
|
||||
* the skb or socket (depending on the hook in use). This is used
|
||||
* to determine the base network namespace for the lookup.
|
||||
*
|
||||
* *tuple_size* must be one of:
|
||||
*
|
||||
* **sizeof**\ (*tuple*\ **->ipv4**)
|
||||
* Look for an IPv4 socket.
|
||||
* **sizeof**\ (*tuple*\ **->ipv6**)
|
||||
* Look for an IPv6 socket.
|
||||
*
|
||||
* If the *netns* is zero, then the socket lookup table in the
|
||||
* netns associated with the *ctx* will be used. For the TC hooks,
|
||||
* this in the netns of the device in the skb. For socket hooks,
|
||||
* this in the netns of the socket. If *netns* is non-zero, then
|
||||
* it specifies the ID of the netns relative to the netns
|
||||
* associated with the *ctx*.
|
||||
*
|
||||
* All values for *flags* are reserved for future usage, and must
|
||||
* be left at zero.
|
||||
*
|
||||
* This helper is available only if the kernel was compiled with
|
||||
* **CONFIG_NET** configuration option.
|
||||
* Return
|
||||
* Pointer to *struct bpf_sock*, or NULL in case of failure.
|
||||
*
|
||||
* int bpf_sk_release(struct bpf_sock *sk)
|
||||
* Description
|
||||
* Release the reference held by *sock*. *sock* must be a non-NULL
|
||||
* pointer that was returned from bpf_sk_lookup_xxx\ ().
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*
|
||||
* int bpf_msg_push_data(struct sk_buff *skb, u32 start, u32 len, u64 flags)
|
||||
* Description
|
||||
* For socket policies, insert *len* bytes into msg at offset
|
||||
* *start*.
|
||||
*
|
||||
* If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a
|
||||
* *msg* it may want to insert metadata or options into the msg.
|
||||
* This can later be read and used by any of the lower layer BPF
|
||||
* hooks.
|
||||
*
|
||||
* This helper may fail if under memory pressure (a malloc
|
||||
* fails) in these cases BPF programs will get an appropriate
|
||||
* error and BPF programs will need to handle them.
|
||||
*
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
@@ -2226,7 +2342,14 @@ union bpf_attr {
|
||||
FN(get_current_cgroup_id), \
|
||||
FN(get_local_storage), \
|
||||
FN(sk_select_reuseport), \
|
||||
FN(skb_ancestor_cgroup_id),
|
||||
FN(skb_ancestor_cgroup_id), \
|
||||
FN(sk_lookup_tcp), \
|
||||
FN(sk_lookup_udp), \
|
||||
FN(sk_release), \
|
||||
FN(map_push_elem), \
|
||||
FN(map_pop_elem), \
|
||||
FN(map_peek_elem), \
|
||||
FN(msg_push_data),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
@@ -2333,6 +2456,7 @@ struct __sk_buff {
|
||||
/* ... here. */
|
||||
|
||||
__u32 data_meta;
|
||||
struct bpf_flow_keys *flow_keys;
|
||||
};
|
||||
|
||||
struct bpf_tunnel_key {
|
||||
@@ -2395,6 +2519,23 @@ struct bpf_sock {
|
||||
*/
|
||||
};
|
||||
|
||||
struct bpf_sock_tuple {
|
||||
union {
|
||||
struct {
|
||||
__be32 saddr;
|
||||
__be32 daddr;
|
||||
__be16 sport;
|
||||
__be16 dport;
|
||||
} ipv4;
|
||||
struct {
|
||||
__be32 saddr[4];
|
||||
__be32 daddr[4];
|
||||
__be16 sport;
|
||||
__be16 dport;
|
||||
} ipv6;
|
||||
};
|
||||
};
|
||||
|
||||
#define XDP_PACKET_HEADROOM 256
|
||||
|
||||
/* User return codes for XDP prog type.
|
||||
@@ -2778,4 +2919,27 @@ enum bpf_task_fd_type {
|
||||
BPF_FD_TYPE_URETPROBE, /* filename + offset */
|
||||
};
|
||||
|
||||
struct bpf_flow_keys {
|
||||
__u16 nhoff;
|
||||
__u16 thoff;
|
||||
__u16 addr_proto; /* ETH_P_* of valid addrs */
|
||||
__u8 is_frag;
|
||||
__u8 is_first_frag;
|
||||
__u8 is_encap;
|
||||
__u8 ip_proto;
|
||||
__be16 n_proto;
|
||||
__be16 sport;
|
||||
__be16 dport;
|
||||
union {
|
||||
struct {
|
||||
__be32 ipv4_src;
|
||||
__be32 ipv4_dst;
|
||||
};
|
||||
struct {
|
||||
__u32 ipv6_src[4]; /* in6_addr; network order */
|
||||
__u32 ipv6_dst[4]; /* in6_addr; network order */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#endif /* _UAPI__LINUX_BPF_H__ */
|
||||
|
@@ -152,10 +152,13 @@ static inline void cec_msg_set_reply_to(struct cec_msg *msg,
|
||||
#define CEC_TX_STATUS_LOW_DRIVE (1 << 3)
|
||||
#define CEC_TX_STATUS_ERROR (1 << 4)
|
||||
#define CEC_TX_STATUS_MAX_RETRIES (1 << 5)
|
||||
#define CEC_TX_STATUS_ABORTED (1 << 6)
|
||||
#define CEC_TX_STATUS_TIMEOUT (1 << 7)
|
||||
|
||||
#define CEC_RX_STATUS_OK (1 << 0)
|
||||
#define CEC_RX_STATUS_TIMEOUT (1 << 1)
|
||||
#define CEC_RX_STATUS_FEATURE_ABORT (1 << 2)
|
||||
#define CEC_RX_STATUS_ABORTED (1 << 3)
|
||||
|
||||
static inline int cec_msg_status_is_ok(const struct cec_msg *msg)
|
||||
{
|
||||
|
@@ -29,6 +29,7 @@ enum {
|
||||
CRYPTO_MSG_UPDATEALG,
|
||||
CRYPTO_MSG_GETALG,
|
||||
CRYPTO_MSG_DELRNG,
|
||||
CRYPTO_MSG_GETSTAT,
|
||||
__CRYPTO_MSG_MAX
|
||||
};
|
||||
#define CRYPTO_MSG_MAX (__CRYPTO_MSG_MAX - 1)
|
||||
@@ -50,6 +51,16 @@ enum crypto_attr_type_t {
|
||||
CRYPTOCFGA_REPORT_AKCIPHER, /* struct crypto_report_akcipher */
|
||||
CRYPTOCFGA_REPORT_KPP, /* struct crypto_report_kpp */
|
||||
CRYPTOCFGA_REPORT_ACOMP, /* struct crypto_report_acomp */
|
||||
CRYPTOCFGA_STAT_LARVAL, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_HASH, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_BLKCIPHER, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_AEAD, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_COMPRESS, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_RNG, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_CIPHER, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_AKCIPHER, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_KPP, /* struct crypto_stat */
|
||||
CRYPTOCFGA_STAT_ACOMP, /* struct crypto_stat */
|
||||
__CRYPTOCFGA_MAX
|
||||
|
||||
#define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1)
|
||||
@@ -65,6 +76,47 @@ struct crypto_user_alg {
|
||||
__u32 cru_flags;
|
||||
};
|
||||
|
||||
struct crypto_stat {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
union {
|
||||
__u32 stat_encrypt_cnt;
|
||||
__u32 stat_compress_cnt;
|
||||
__u32 stat_generate_cnt;
|
||||
__u32 stat_hash_cnt;
|
||||
__u32 stat_setsecret_cnt;
|
||||
};
|
||||
union {
|
||||
__u64 stat_encrypt_tlen;
|
||||
__u64 stat_compress_tlen;
|
||||
__u64 stat_generate_tlen;
|
||||
__u64 stat_hash_tlen;
|
||||
};
|
||||
union {
|
||||
__u32 stat_akcipher_err_cnt;
|
||||
__u32 stat_cipher_err_cnt;
|
||||
__u32 stat_compress_err_cnt;
|
||||
__u32 stat_aead_err_cnt;
|
||||
__u32 stat_hash_err_cnt;
|
||||
__u32 stat_rng_err_cnt;
|
||||
__u32 stat_kpp_err_cnt;
|
||||
};
|
||||
union {
|
||||
__u32 stat_decrypt_cnt;
|
||||
__u32 stat_decompress_cnt;
|
||||
__u32 stat_seed_cnt;
|
||||
__u32 stat_generate_public_key_cnt;
|
||||
};
|
||||
union {
|
||||
__u64 stat_decrypt_tlen;
|
||||
__u64 stat_decompress_tlen;
|
||||
};
|
||||
union {
|
||||
__u32 stat_verify_cnt;
|
||||
__u32 stat_compute_shared_secret_cnt;
|
||||
};
|
||||
__u32 stat_sign_cnt;
|
||||
};
|
||||
|
||||
struct crypto_report_larval {
|
||||
char type[CRYPTO_MAX_NAME];
|
||||
};
|
||||
|
116
include/uapi/linux/dns_resolver.h
Normal file
116
include/uapi/linux/dns_resolver.h
Normal file
@@ -0,0 +1,116 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
||||
/* DNS resolver interface definitions.
|
||||
*
|
||||
* Copyright (C) 2018 Red Hat, Inc. All Rights Reserved.
|
||||
* Written by David Howells (dhowells@redhat.com)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public Licence
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the Licence, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef _UAPI_LINUX_DNS_RESOLVER_H
|
||||
#define _UAPI_LINUX_DNS_RESOLVER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Type of payload.
|
||||
*/
|
||||
enum dns_payload_content_type {
|
||||
DNS_PAYLOAD_IS_SERVER_LIST = 0, /* List of servers, requested by srv=1 */
|
||||
};
|
||||
|
||||
/*
|
||||
* Type of address that might be found in an address record.
|
||||
*/
|
||||
enum dns_payload_address_type {
|
||||
DNS_ADDRESS_IS_IPV4 = 0, /* 4-byte AF_INET address */
|
||||
DNS_ADDRESS_IS_IPV6 = 1, /* 16-byte AF_INET6 address */
|
||||
};
|
||||
|
||||
/*
|
||||
* Type of protocol used to access a server.
|
||||
*/
|
||||
enum dns_payload_protocol_type {
|
||||
DNS_SERVER_PROTOCOL_UNSPECIFIED = 0,
|
||||
DNS_SERVER_PROTOCOL_UDP = 1, /* Use UDP to talk to the server */
|
||||
DNS_SERVER_PROTOCOL_TCP = 2, /* Use TCP to talk to the server */
|
||||
};
|
||||
|
||||
/*
|
||||
* Source of record included in DNS resolver payload.
|
||||
*/
|
||||
enum dns_record_source {
|
||||
DNS_RECORD_UNAVAILABLE = 0, /* No source available (empty record) */
|
||||
DNS_RECORD_FROM_CONFIG = 1, /* From local configuration data */
|
||||
DNS_RECORD_FROM_DNS_A = 2, /* From DNS A or AAAA record */
|
||||
DNS_RECORD_FROM_DNS_AFSDB = 3, /* From DNS AFSDB record */
|
||||
DNS_RECORD_FROM_DNS_SRV = 4, /* From DNS SRV record */
|
||||
DNS_RECORD_FROM_NSS = 5, /* From NSS */
|
||||
NR__dns_record_source
|
||||
};
|
||||
|
||||
/*
|
||||
* Status of record included in DNS resolver payload.
|
||||
*/
|
||||
enum dns_lookup_status {
|
||||
DNS_LOOKUP_NOT_DONE = 0, /* No lookup has been made */
|
||||
DNS_LOOKUP_GOOD = 1, /* Good records obtained */
|
||||
DNS_LOOKUP_GOOD_WITH_BAD = 2, /* Good records, some decoding errors */
|
||||
DNS_LOOKUP_BAD = 3, /* Couldn't decode results */
|
||||
DNS_LOOKUP_GOT_NOT_FOUND = 4, /* Got a "Not Found" result */
|
||||
DNS_LOOKUP_GOT_LOCAL_FAILURE = 5, /* Local failure during lookup */
|
||||
DNS_LOOKUP_GOT_TEMP_FAILURE = 6, /* Temporary failure during lookup */
|
||||
DNS_LOOKUP_GOT_NS_FAILURE = 7, /* Name server failure */
|
||||
NR__dns_lookup_status
|
||||
};
|
||||
|
||||
/*
|
||||
* Header at the beginning of binary format payload.
|
||||
*/
|
||||
struct dns_payload_header {
|
||||
__u8 zero; /* Zero byte: marks this as not being text */
|
||||
__u8 content; /* enum dns_payload_content_type */
|
||||
__u8 version; /* Encoding version */
|
||||
} __packed;
|
||||
|
||||
/*
|
||||
* Header at the beginning of a V1 server list. This is followed directly by
|
||||
* the server records. Each server records begins with a struct of type
|
||||
* dns_server_list_v1_server.
|
||||
*/
|
||||
struct dns_server_list_v1_header {
|
||||
struct dns_payload_header hdr;
|
||||
__u8 source; /* enum dns_record_source */
|
||||
__u8 status; /* enum dns_lookup_status */
|
||||
__u8 nr_servers; /* Number of server records following this */
|
||||
} __packed;
|
||||
|
||||
/*
|
||||
* Header at the beginning of each V1 server record. This is followed by the
|
||||
* characters of the name with no NUL-terminator, followed by the address
|
||||
* records for that server. Each address record begins with a struct of type
|
||||
* struct dns_server_list_v1_address.
|
||||
*/
|
||||
struct dns_server_list_v1_server {
|
||||
__u16 name_len; /* Length of name (LE) */
|
||||
__u16 priority; /* Priority (as SRV record) (LE) */
|
||||
__u16 weight; /* Weight (as SRV record) (LE) */
|
||||
__u16 port; /* UDP/TCP port number (LE) */
|
||||
__u8 source; /* enum dns_record_source */
|
||||
__u8 status; /* enum dns_lookup_status */
|
||||
__u8 protocol; /* enum dns_payload_protocol_type */
|
||||
__u8 nr_addrs;
|
||||
} __packed;
|
||||
|
||||
/*
|
||||
* Header at the beginning of each V1 address record. This is followed by the
|
||||
* bytes of the address, 4 for IPV4 and 16 for IPV6.
|
||||
*/
|
||||
struct dns_server_list_v1_address {
|
||||
__u8 address_type; /* enum dns_payload_address_type */
|
||||
} __packed;
|
||||
|
||||
#endif /* _UAPI_LINUX_DNS_RESOLVER_H */
|
@@ -41,6 +41,7 @@
|
||||
#define EM_TILEPRO 188 /* Tilera TILEPro */
|
||||
#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */
|
||||
#define EM_TILEGX 191 /* Tilera TILE-Gx */
|
||||
#define EM_RISCV 243 /* RISC-V */
|
||||
#define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */
|
||||
#define EM_FRV 0x5441 /* Fujitsu FR-V */
|
||||
|
||||
|
@@ -91,10 +91,6 @@
|
||||
* %ETHTOOL_GSET to get the current values before making specific
|
||||
* changes and then applying them with %ETHTOOL_SSET.
|
||||
*
|
||||
* Drivers that implement set_settings() should validate all fields
|
||||
* other than @cmd that are not described as read-only or deprecated,
|
||||
* and must ignore all fields described as read-only.
|
||||
*
|
||||
* Deprecated fields should be ignored by both users and drivers.
|
||||
*/
|
||||
struct ethtool_cmd {
|
||||
@@ -1800,14 +1796,9 @@ enum ethtool_reset_flags {
|
||||
* rejected.
|
||||
*
|
||||
* Deprecated %ethtool_cmd fields transceiver, maxtxpkt and maxrxpkt
|
||||
* are not available in %ethtool_link_settings. Until all drivers are
|
||||
* converted to ignore them or to the new %ethtool_link_settings API,
|
||||
* for both queries and changes, users should always try
|
||||
* %ETHTOOL_GLINKSETTINGS first, and if it fails with -ENOTSUPP stick
|
||||
* only to %ETHTOOL_GSET and %ETHTOOL_SSET consistently. If it
|
||||
* succeeds, then users should stick to %ETHTOOL_GLINKSETTINGS and
|
||||
* %ETHTOOL_SLINKSETTINGS (which would support drivers implementing
|
||||
* either %ethtool_cmd or %ethtool_link_settings).
|
||||
* are not available in %ethtool_link_settings. These fields will be
|
||||
* always set to zero in %ETHTOOL_GSET reply and %ETHTOOL_SSET will
|
||||
* fail if any of them is set to non-zero value.
|
||||
*
|
||||
* Users should assume that all fields not marked read-only are
|
||||
* writable and subject to validation by the driver. They should use
|
||||
|
@@ -27,10 +27,12 @@
|
||||
#define FAN_CLOEXEC 0x00000001
|
||||
#define FAN_NONBLOCK 0x00000002
|
||||
|
||||
/* These are NOT bitwise flags. Both bits are used togther. */
|
||||
/* These are NOT bitwise flags. Both bits are used together. */
|
||||
#define FAN_CLASS_NOTIF 0x00000000
|
||||
#define FAN_CLASS_CONTENT 0x00000004
|
||||
#define FAN_CLASS_PRE_CONTENT 0x00000008
|
||||
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | \
|
||||
FAN_CLASS_PRE_CONTENT)
|
||||
|
||||
@@ -38,6 +40,10 @@
|
||||
#define FAN_UNLIMITED_MARKS 0x00000020
|
||||
#define FAN_ENABLE_AUDIT 0x00000040
|
||||
|
||||
/* Flags to determine fanotify event format */
|
||||
#define FAN_REPORT_TID 0x00000100 /* event->pid is thread id */
|
||||
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | \
|
||||
FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE |\
|
||||
FAN_UNLIMITED_MARKS)
|
||||
@@ -47,11 +53,18 @@
|
||||
#define FAN_MARK_REMOVE 0x00000002
|
||||
#define FAN_MARK_DONT_FOLLOW 0x00000004
|
||||
#define FAN_MARK_ONLYDIR 0x00000008
|
||||
#define FAN_MARK_MOUNT 0x00000010
|
||||
/* FAN_MARK_MOUNT is 0x00000010 */
|
||||
#define FAN_MARK_IGNORED_MASK 0x00000020
|
||||
#define FAN_MARK_IGNORED_SURV_MODIFY 0x00000040
|
||||
#define FAN_MARK_FLUSH 0x00000080
|
||||
/* FAN_MARK_FILESYSTEM is 0x00000100 */
|
||||
|
||||
/* These are NOT bitwise flags. Both bits can be used togther. */
|
||||
#define FAN_MARK_INODE 0x00000000
|
||||
#define FAN_MARK_MOUNT 0x00000010
|
||||
#define FAN_MARK_FILESYSTEM 0x00000100
|
||||
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD |\
|
||||
FAN_MARK_REMOVE |\
|
||||
FAN_MARK_DONT_FOLLOW |\
|
||||
@@ -61,11 +74,7 @@
|
||||
FAN_MARK_IGNORED_SURV_MODIFY |\
|
||||
FAN_MARK_FLUSH)
|
||||
|
||||
/*
|
||||
* All of the events - we build the list by hand so that we can add flags in
|
||||
* the future and not break backward compatibility. Apps will get only the
|
||||
* events that they originally wanted. Be sure to add new events here!
|
||||
*/
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_EVENTS (FAN_ACCESS |\
|
||||
FAN_MODIFY |\
|
||||
FAN_CLOSE |\
|
||||
@@ -74,9 +83,11 @@
|
||||
/*
|
||||
* All events which require a permission response from userspace
|
||||
*/
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_PERM_EVENTS (FAN_OPEN_PERM |\
|
||||
FAN_ACCESS_PERM)
|
||||
|
||||
/* Deprecated - do not use this in programs and do not add new flags here! */
|
||||
#define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS |\
|
||||
FAN_ALL_PERM_EVENTS |\
|
||||
FAN_Q_OVERFLOW)
|
||||
|
@@ -47,11 +47,11 @@
|
||||
#define FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL 0x09
|
||||
|
||||
/**
|
||||
* struct fw_cdev_event_common - Common part of all fw_cdev_event_ types
|
||||
* struct fw_cdev_event_common - Common part of all fw_cdev_event_* types
|
||||
* @closure: For arbitrary use by userspace
|
||||
* @type: Discriminates the fw_cdev_event_ types
|
||||
* @type: Discriminates the fw_cdev_event_* types
|
||||
*
|
||||
* This struct may be used to access generic members of all fw_cdev_event_
|
||||
* This struct may be used to access generic members of all fw_cdev_event_*
|
||||
* types regardless of the specific type.
|
||||
*
|
||||
* Data passed in the @closure field for a request will be returned in the
|
||||
@@ -123,7 +123,13 @@ struct fw_cdev_event_response {
|
||||
|
||||
/**
|
||||
* struct fw_cdev_event_request - Old version of &fw_cdev_event_request2
|
||||
* @closure: See &fw_cdev_event_common; set by %FW_CDEV_IOC_ALLOCATE ioctl
|
||||
* @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_REQUEST
|
||||
* @tcode: Transaction code of the incoming request
|
||||
* @offset: The offset into the 48-bit per-node address space
|
||||
* @handle: Reference to the kernel-side pending request
|
||||
* @length: Data length, i.e. the request's payload size in bytes
|
||||
* @data: Incoming data, if any
|
||||
*
|
||||
* This event is sent instead of &fw_cdev_event_request2 if the kernel or
|
||||
* the client implements ABI version <= 3. &fw_cdev_event_request lacks
|
||||
@@ -353,7 +359,7 @@ struct fw_cdev_event_phy_packet {
|
||||
};
|
||||
|
||||
/**
|
||||
* union fw_cdev_event - Convenience union of fw_cdev_event_ types
|
||||
* union fw_cdev_event - Convenience union of fw_cdev_event_* types
|
||||
* @common: Valid for all types
|
||||
* @bus_reset: Valid if @common.type == %FW_CDEV_EVENT_BUS_RESET
|
||||
* @response: Valid if @common.type == %FW_CDEV_EVENT_RESPONSE
|
||||
@@ -735,7 +741,7 @@ struct fw_cdev_set_iso_channels {
|
||||
* @header: Header and payload in case of a transmit context.
|
||||
*
|
||||
* &struct fw_cdev_iso_packet is used to describe isochronous packet queues.
|
||||
* Use the FW_CDEV_ISO_ macros to fill in @control.
|
||||
* Use the FW_CDEV_ISO_* macros to fill in @control.
|
||||
* The @header array is empty in case of receive contexts.
|
||||
*
|
||||
* Context type %FW_CDEV_ISO_CONTEXT_TRANSMIT:
|
||||
@@ -842,7 +848,7 @@ struct fw_cdev_queue_iso {
|
||||
* the %FW_CDEV_ISO_SYNC bit set
|
||||
* @tags: Tag filter bit mask. Only valid for isochronous reception.
|
||||
* Determines the tag values for which packets will be accepted.
|
||||
* Use FW_CDEV_ISO_CONTEXT_MATCH_ macros to set @tags.
|
||||
* Use FW_CDEV_ISO_CONTEXT_MATCH_* macros to set @tags.
|
||||
* @handle: Isochronous context handle within which to transmit or receive
|
||||
*/
|
||||
struct fw_cdev_start_iso {
|
||||
@@ -1009,8 +1015,8 @@ struct fw_cdev_send_stream_packet {
|
||||
* on the same card as this device. After transmission, an
|
||||
* %FW_CDEV_EVENT_PHY_PACKET_SENT event is generated.
|
||||
*
|
||||
* The payload @data[] shall be specified in host byte order. Usually,
|
||||
* @data[1] needs to be the bitwise inverse of @data[0]. VersaPHY packets
|
||||
* The payload @data\[\] shall be specified in host byte order. Usually,
|
||||
* @data\[1\] needs to be the bitwise inverse of @data\[0\]. VersaPHY packets
|
||||
* are an exception to this rule.
|
||||
*
|
||||
* The ioctl is only permitted on device files which represent a local node.
|
||||
|
@@ -279,8 +279,8 @@ struct fsxattr {
|
||||
#define FS_ENCRYPTION_MODE_AES_256_CTS 4
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CBC 5
|
||||
#define FS_ENCRYPTION_MODE_AES_128_CTS 6
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* Removed, do not use. */
|
||||
#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* Removed, do not use. */
|
||||
|
||||
struct fscrypt_policy {
|
||||
__u8 version;
|
||||
|
@@ -116,6 +116,12 @@
|
||||
*
|
||||
* 7.27
|
||||
* - add FUSE_ABORT_ERROR
|
||||
*
|
||||
* 7.28
|
||||
* - add FUSE_COPY_FILE_RANGE
|
||||
* - add FOPEN_CACHE_DIR
|
||||
* - add FUSE_MAX_PAGES, add max_pages to init_out
|
||||
* - add FUSE_CACHE_SYMLINKS
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_FUSE_H
|
||||
@@ -151,7 +157,7 @@
|
||||
#define FUSE_KERNEL_VERSION 7
|
||||
|
||||
/** Minor version number of this interface */
|
||||
#define FUSE_KERNEL_MINOR_VERSION 27
|
||||
#define FUSE_KERNEL_MINOR_VERSION 28
|
||||
|
||||
/** The node ID of the root inode */
|
||||
#define FUSE_ROOT_ID 1
|
||||
@@ -219,10 +225,12 @@ struct fuse_file_lock {
|
||||
* FOPEN_DIRECT_IO: bypass page cache for this open file
|
||||
* FOPEN_KEEP_CACHE: don't invalidate the data cache on open
|
||||
* FOPEN_NONSEEKABLE: the file is not seekable
|
||||
* FOPEN_CACHE_DIR: allow caching this directory
|
||||
*/
|
||||
#define FOPEN_DIRECT_IO (1 << 0)
|
||||
#define FOPEN_KEEP_CACHE (1 << 1)
|
||||
#define FOPEN_NONSEEKABLE (1 << 2)
|
||||
#define FOPEN_CACHE_DIR (1 << 3)
|
||||
|
||||
/**
|
||||
* INIT request/reply flags
|
||||
@@ -249,6 +257,8 @@ struct fuse_file_lock {
|
||||
* FUSE_HANDLE_KILLPRIV: fs handles killing suid/sgid/cap on write/chown/trunc
|
||||
* FUSE_POSIX_ACL: filesystem supports posix acls
|
||||
* FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED
|
||||
* FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages
|
||||
* FUSE_CACHE_SYMLINKS: cache READLINK responses
|
||||
*/
|
||||
#define FUSE_ASYNC_READ (1 << 0)
|
||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||
@@ -272,6 +282,8 @@ struct fuse_file_lock {
|
||||
#define FUSE_HANDLE_KILLPRIV (1 << 19)
|
||||
#define FUSE_POSIX_ACL (1 << 20)
|
||||
#define FUSE_ABORT_ERROR (1 << 21)
|
||||
#define FUSE_MAX_PAGES (1 << 22)
|
||||
#define FUSE_CACHE_SYMLINKS (1 << 23)
|
||||
|
||||
/**
|
||||
* CUSE INIT request/reply flags
|
||||
@@ -337,53 +349,54 @@ struct fuse_file_lock {
|
||||
#define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)
|
||||
|
||||
enum fuse_opcode {
|
||||
FUSE_LOOKUP = 1,
|
||||
FUSE_FORGET = 2, /* no reply */
|
||||
FUSE_GETATTR = 3,
|
||||
FUSE_SETATTR = 4,
|
||||
FUSE_READLINK = 5,
|
||||
FUSE_SYMLINK = 6,
|
||||
FUSE_MKNOD = 8,
|
||||
FUSE_MKDIR = 9,
|
||||
FUSE_UNLINK = 10,
|
||||
FUSE_RMDIR = 11,
|
||||
FUSE_RENAME = 12,
|
||||
FUSE_LINK = 13,
|
||||
FUSE_OPEN = 14,
|
||||
FUSE_READ = 15,
|
||||
FUSE_WRITE = 16,
|
||||
FUSE_STATFS = 17,
|
||||
FUSE_RELEASE = 18,
|
||||
FUSE_FSYNC = 20,
|
||||
FUSE_SETXATTR = 21,
|
||||
FUSE_GETXATTR = 22,
|
||||
FUSE_LISTXATTR = 23,
|
||||
FUSE_REMOVEXATTR = 24,
|
||||
FUSE_FLUSH = 25,
|
||||
FUSE_INIT = 26,
|
||||
FUSE_OPENDIR = 27,
|
||||
FUSE_READDIR = 28,
|
||||
FUSE_RELEASEDIR = 29,
|
||||
FUSE_FSYNCDIR = 30,
|
||||
FUSE_GETLK = 31,
|
||||
FUSE_SETLK = 32,
|
||||
FUSE_SETLKW = 33,
|
||||
FUSE_ACCESS = 34,
|
||||
FUSE_CREATE = 35,
|
||||
FUSE_INTERRUPT = 36,
|
||||
FUSE_BMAP = 37,
|
||||
FUSE_DESTROY = 38,
|
||||
FUSE_IOCTL = 39,
|
||||
FUSE_POLL = 40,
|
||||
FUSE_NOTIFY_REPLY = 41,
|
||||
FUSE_BATCH_FORGET = 42,
|
||||
FUSE_FALLOCATE = 43,
|
||||
FUSE_READDIRPLUS = 44,
|
||||
FUSE_RENAME2 = 45,
|
||||
FUSE_LSEEK = 46,
|
||||
FUSE_LOOKUP = 1,
|
||||
FUSE_FORGET = 2, /* no reply */
|
||||
FUSE_GETATTR = 3,
|
||||
FUSE_SETATTR = 4,
|
||||
FUSE_READLINK = 5,
|
||||
FUSE_SYMLINK = 6,
|
||||
FUSE_MKNOD = 8,
|
||||
FUSE_MKDIR = 9,
|
||||
FUSE_UNLINK = 10,
|
||||
FUSE_RMDIR = 11,
|
||||
FUSE_RENAME = 12,
|
||||
FUSE_LINK = 13,
|
||||
FUSE_OPEN = 14,
|
||||
FUSE_READ = 15,
|
||||
FUSE_WRITE = 16,
|
||||
FUSE_STATFS = 17,
|
||||
FUSE_RELEASE = 18,
|
||||
FUSE_FSYNC = 20,
|
||||
FUSE_SETXATTR = 21,
|
||||
FUSE_GETXATTR = 22,
|
||||
FUSE_LISTXATTR = 23,
|
||||
FUSE_REMOVEXATTR = 24,
|
||||
FUSE_FLUSH = 25,
|
||||
FUSE_INIT = 26,
|
||||
FUSE_OPENDIR = 27,
|
||||
FUSE_READDIR = 28,
|
||||
FUSE_RELEASEDIR = 29,
|
||||
FUSE_FSYNCDIR = 30,
|
||||
FUSE_GETLK = 31,
|
||||
FUSE_SETLK = 32,
|
||||
FUSE_SETLKW = 33,
|
||||
FUSE_ACCESS = 34,
|
||||
FUSE_CREATE = 35,
|
||||
FUSE_INTERRUPT = 36,
|
||||
FUSE_BMAP = 37,
|
||||
FUSE_DESTROY = 38,
|
||||
FUSE_IOCTL = 39,
|
||||
FUSE_POLL = 40,
|
||||
FUSE_NOTIFY_REPLY = 41,
|
||||
FUSE_BATCH_FORGET = 42,
|
||||
FUSE_FALLOCATE = 43,
|
||||
FUSE_READDIRPLUS = 44,
|
||||
FUSE_RENAME2 = 45,
|
||||
FUSE_LSEEK = 46,
|
||||
FUSE_COPY_FILE_RANGE = 47,
|
||||
|
||||
/* CUSE specific operations */
|
||||
CUSE_INIT = 4096,
|
||||
CUSE_INIT = 4096,
|
||||
};
|
||||
|
||||
enum fuse_notify_code {
|
||||
@@ -610,7 +623,9 @@ struct fuse_init_out {
|
||||
uint16_t congestion_threshold;
|
||||
uint32_t max_write;
|
||||
uint32_t time_gran;
|
||||
uint32_t unused[9];
|
||||
uint16_t max_pages;
|
||||
uint16_t padding;
|
||||
uint32_t unused[8];
|
||||
};
|
||||
|
||||
#define CUSE_INIT_INFO_MAX 4096
|
||||
@@ -792,4 +807,14 @@ struct fuse_lseek_out {
|
||||
uint64_t offset;
|
||||
};
|
||||
|
||||
struct fuse_copy_file_range_in {
|
||||
uint64_t fh_in;
|
||||
uint64_t off_in;
|
||||
uint64_t nodeid_out;
|
||||
uint64_t fh_out;
|
||||
uint64_t off_out;
|
||||
uint64_t len;
|
||||
uint64_t flags;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_FUSE_H */
|
||||
|
@@ -12,6 +12,7 @@ enum {
|
||||
TCA_STATS_APP,
|
||||
TCA_STATS_RATE_EST64,
|
||||
TCA_STATS_PAD,
|
||||
TCA_STATS_BASIC_HW,
|
||||
__TCA_STATS_MAX,
|
||||
};
|
||||
#define TCA_STATS_MAX (__TCA_STATS_MAX - 1)
|
||||
|
@@ -65,7 +65,7 @@ struct gpioline_info {
|
||||
|
||||
/**
|
||||
* struct gpiohandle_request - Information about a GPIO handle request
|
||||
* @lineoffsets: an array desired lines, specified by offset index for the
|
||||
* @lineoffsets: an array of desired lines, specified by offset index for the
|
||||
* associated GPIO device
|
||||
* @flags: desired flags for the desired GPIO lines, such as
|
||||
* GPIOHANDLE_REQUEST_OUTPUT, GPIOHANDLE_REQUEST_ACTIVE_LOW etc, OR:ed
|
||||
|
@@ -34,6 +34,7 @@ enum {
|
||||
IFA_MULTICAST,
|
||||
IFA_FLAGS,
|
||||
IFA_RT_PRIORITY, /* u32, priority/metric for prefix route */
|
||||
IFA_TARGET_NETNSID,
|
||||
__IFA_MAX,
|
||||
};
|
||||
|
||||
|
@@ -114,18 +114,18 @@
|
||||
|
||||
/* ARP ioctl request. */
|
||||
struct arpreq {
|
||||
struct sockaddr arp_pa; /* protocol address */
|
||||
struct sockaddr arp_ha; /* hardware address */
|
||||
int arp_flags; /* flags */
|
||||
struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
|
||||
char arp_dev[16];
|
||||
struct sockaddr arp_pa; /* protocol address */
|
||||
struct sockaddr arp_ha; /* hardware address */
|
||||
int arp_flags; /* flags */
|
||||
struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
|
||||
char arp_dev[IFNAMSIZ];
|
||||
};
|
||||
|
||||
struct arpreq_old {
|
||||
struct sockaddr arp_pa; /* protocol address */
|
||||
struct sockaddr arp_ha; /* hardware address */
|
||||
int arp_flags; /* flags */
|
||||
struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
|
||||
struct sockaddr arp_pa; /* protocol address */
|
||||
struct sockaddr arp_ha; /* hardware address */
|
||||
int arp_flags; /* flags */
|
||||
struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
|
||||
};
|
||||
|
||||
/* ARP Flag values. */
|
||||
|
@@ -6,9 +6,10 @@
|
||||
*
|
||||
* Global definitions for the ANSI FDDI interface.
|
||||
*
|
||||
* Version: @(#)if_fddi.h 1.0.2 Sep 29 2004
|
||||
* Version: @(#)if_fddi.h 1.0.3 Oct 6 2018
|
||||
*
|
||||
* Author: Lawrence V. Stefani, <stefani@lkg.dec.com>
|
||||
* Author: Lawrence V. Stefani, <stefani@yahoo.com>
|
||||
* Maintainer: Maciej W. Rozycki, <macro@linux-mips.org>
|
||||
*
|
||||
* if_fddi.h is based on previous if_ether.h and if_tr.h work by
|
||||
* Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
|
||||
@@ -45,7 +46,21 @@
|
||||
#define FDDI_K_OUI_LEN 3 /* Octets in OUI in 802.2 SNAP
|
||||
header */
|
||||
|
||||
/* Define FDDI Frame Control (FC) Byte values */
|
||||
/* Define FDDI Frame Control (FC) Byte masks */
|
||||
#define FDDI_FC_K_CLASS_MASK 0x80 /* class bit */
|
||||
#define FDDI_FC_K_CLASS_SYNC 0x80
|
||||
#define FDDI_FC_K_CLASS_ASYNC 0x00
|
||||
#define FDDI_FC_K_ALEN_MASK 0x40 /* address length bit */
|
||||
#define FDDI_FC_K_ALEN_48 0x40
|
||||
#define FDDI_FC_K_ALEN_16 0x00
|
||||
#define FDDI_FC_K_FORMAT_MASK 0x30 /* format bits */
|
||||
#define FDDI_FC_K_FORMAT_FUTURE 0x30
|
||||
#define FDDI_FC_K_FORMAT_IMPLEMENTOR 0x20
|
||||
#define FDDI_FC_K_FORMAT_LLC 0x10
|
||||
#define FDDI_FC_K_FORMAT_MANAGEMENT 0x00
|
||||
#define FDDI_FC_K_CONTROL_MASK 0x0f /* control bits */
|
||||
|
||||
/* Define FDDI Frame Control (FC) Byte specific values */
|
||||
#define FDDI_FC_K_VOID 0x00
|
||||
#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
|
||||
#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
|
||||
|
@@ -161,6 +161,7 @@ enum {
|
||||
IFLA_EVENT,
|
||||
IFLA_NEW_NETNSID,
|
||||
IFLA_IF_NETNSID,
|
||||
IFLA_TARGET_NETNSID = IFLA_IF_NETNSID, /* new alias */
|
||||
IFLA_CARRIER_UP_COUNT,
|
||||
IFLA_CARRIER_DOWN_COUNT,
|
||||
IFLA_NEW_IFINDEX,
|
||||
@@ -286,6 +287,7 @@ enum {
|
||||
IFLA_BR_MCAST_STATS_ENABLED,
|
||||
IFLA_BR_MCAST_IGMP_VERSION,
|
||||
IFLA_BR_MCAST_MLD_VERSION,
|
||||
IFLA_BR_VLAN_STATS_PER_PORT,
|
||||
__IFLA_BR_MAX,
|
||||
};
|
||||
|
||||
@@ -554,6 +556,7 @@ enum {
|
||||
IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
|
||||
IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
|
||||
IFLA_GENEVE_LABEL,
|
||||
IFLA_GENEVE_TTL_INHERIT,
|
||||
__IFLA_GENEVE_MAX
|
||||
};
|
||||
#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
|
||||
|
@@ -57,6 +57,7 @@ struct sockaddr_ll {
|
||||
#define PACKET_QDISC_BYPASS 20
|
||||
#define PACKET_ROLLOVER_STATS 21
|
||||
#define PACKET_FANOUT_DATA 22
|
||||
#define PACKET_IGNORE_OUTGOING 23
|
||||
|
||||
#define PACKET_FANOUT_HASH 0
|
||||
#define PACKET_FANOUT_LB 1
|
||||
|
@@ -177,6 +177,7 @@ struct in6_flowlabel_req {
|
||||
#define IPV6_V6ONLY 26
|
||||
#define IPV6_JOIN_ANYCAST 27
|
||||
#define IPV6_LEAVE_ANYCAST 28
|
||||
#define IPV6_MULTICAST_ALL 29
|
||||
|
||||
/* IPV6_MTU_DISCOVER values */
|
||||
#define IPV6_PMTUDISC_DONT 0
|
||||
|
@@ -708,6 +708,15 @@
|
||||
#define REL_DIAL 0x07
|
||||
#define REL_WHEEL 0x08
|
||||
#define REL_MISC 0x09
|
||||
/*
|
||||
* 0x0a is reserved and should not be used in input drivers.
|
||||
* It was used by HID as REL_MISC+1 and userspace needs to detect if
|
||||
* the next REL_* event is correct or is just REL_MISC + n.
|
||||
* We define here REL_RESERVED so userspace can rely on it and detect
|
||||
* the situation described above.
|
||||
*/
|
||||
#define REL_RESERVED 0x0a
|
||||
#define REL_WHEEL_HI_RES 0x0b
|
||||
#define REL_MAX 0x0f
|
||||
#define REL_CNT (REL_MAX+1)
|
||||
|
||||
@@ -744,6 +753,15 @@
|
||||
|
||||
#define ABS_MISC 0x28
|
||||
|
||||
/*
|
||||
* 0x2e is reserved and should not be used in input drivers.
|
||||
* It was used by HID as ABS_MISC+6 and userspace needs to detect if
|
||||
* the next ABS_* event is correct or is just ABS_MISC + n.
|
||||
* We define here ABS_RESERVED so userspace can rely on it and detect
|
||||
* the situation described above.
|
||||
*/
|
||||
#define ABS_RESERVED 0x2e
|
||||
|
||||
#define ABS_MT_SLOT 0x2f /* MT slot being modified */
|
||||
#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */
|
||||
#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */
|
||||
|
@@ -61,11 +61,21 @@
|
||||
#define KEYCTL_INVALIDATE 21 /* invalidate a key */
|
||||
#define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */
|
||||
#define KEYCTL_DH_COMPUTE 23 /* Compute Diffie-Hellman values */
|
||||
#define KEYCTL_PKEY_QUERY 24 /* Query public key parameters */
|
||||
#define KEYCTL_PKEY_ENCRYPT 25 /* Encrypt a blob using a public key */
|
||||
#define KEYCTL_PKEY_DECRYPT 26 /* Decrypt a blob using a public key */
|
||||
#define KEYCTL_PKEY_SIGN 27 /* Create a public key signature */
|
||||
#define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */
|
||||
#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */
|
||||
|
||||
/* keyctl structures */
|
||||
struct keyctl_dh_params {
|
||||
__s32 private;
|
||||
union {
|
||||
#ifndef __cplusplus
|
||||
__s32 private;
|
||||
#endif
|
||||
__s32 priv;
|
||||
};
|
||||
__s32 prime;
|
||||
__s32 base;
|
||||
};
|
||||
@@ -77,4 +87,29 @@ struct keyctl_kdf_params {
|
||||
__u32 __spare[8];
|
||||
};
|
||||
|
||||
#define KEYCTL_SUPPORTS_ENCRYPT 0x01
|
||||
#define KEYCTL_SUPPORTS_DECRYPT 0x02
|
||||
#define KEYCTL_SUPPORTS_SIGN 0x04
|
||||
#define KEYCTL_SUPPORTS_VERIFY 0x08
|
||||
|
||||
struct keyctl_pkey_query {
|
||||
__u32 supported_ops; /* Which ops are supported */
|
||||
__u32 key_size; /* Size of the key in bits */
|
||||
__u16 max_data_size; /* Maximum size of raw data to sign in bytes */
|
||||
__u16 max_sig_size; /* Maximum size of signature in bytes */
|
||||
__u16 max_enc_size; /* Maximum size of encrypted blob in bytes */
|
||||
__u16 max_dec_size; /* Maximum size of decrypted blob in bytes */
|
||||
__u32 __spare[10];
|
||||
};
|
||||
|
||||
struct keyctl_pkey_params {
|
||||
__s32 key_id; /* Serial no. of public key to use */
|
||||
__u32 in_len; /* Input data size */
|
||||
union {
|
||||
__u32 out_len; /* Output buffer size (encrypt/decrypt/sign) */
|
||||
__u32 in2_len; /* 2nd input data size (verify) */
|
||||
};
|
||||
__u32 __spare[7];
|
||||
};
|
||||
|
||||
#endif /* _LINUX_KEYCTL_H */
|
||||
|
@@ -83,11 +83,11 @@ struct kfd_ioctl_set_cu_mask_args {
|
||||
};
|
||||
|
||||
struct kfd_ioctl_get_queue_wave_state_args {
|
||||
uint64_t ctl_stack_address; /* to KFD */
|
||||
uint32_t ctl_stack_used_size; /* from KFD */
|
||||
uint32_t save_area_used_size; /* from KFD */
|
||||
uint32_t queue_id; /* to KFD */
|
||||
uint32_t pad;
|
||||
__u64 ctl_stack_address; /* to KFD */
|
||||
__u32 ctl_stack_used_size; /* from KFD */
|
||||
__u32 save_area_used_size; /* from KFD */
|
||||
__u32 queue_id; /* to KFD */
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
/* For kfd_ioctl_set_memory_policy_args.default_policy and alternate_policy */
|
||||
@@ -255,10 +255,10 @@ struct kfd_hsa_memory_exception_data {
|
||||
|
||||
/* hw exception data */
|
||||
struct kfd_hsa_hw_exception_data {
|
||||
uint32_t reset_type;
|
||||
uint32_t reset_cause;
|
||||
uint32_t memory_lost;
|
||||
uint32_t gpu_id;
|
||||
__u32 reset_type;
|
||||
__u32 reset_cause;
|
||||
__u32 memory_lost;
|
||||
__u32 gpu_id;
|
||||
};
|
||||
|
||||
/* Event data */
|
||||
|
@@ -420,13 +420,19 @@ struct kvm_run {
|
||||
struct kvm_coalesced_mmio_zone {
|
||||
__u64 addr;
|
||||
__u32 size;
|
||||
__u32 pad;
|
||||
union {
|
||||
__u32 pad;
|
||||
__u32 pio;
|
||||
};
|
||||
};
|
||||
|
||||
struct kvm_coalesced_mmio {
|
||||
__u64 phys_addr;
|
||||
__u32 len;
|
||||
__u32 pad;
|
||||
union {
|
||||
__u32 pad;
|
||||
__u32 pio;
|
||||
};
|
||||
__u8 data[8];
|
||||
};
|
||||
|
||||
@@ -719,6 +725,7 @@ struct kvm_ppc_one_seg_page_size {
|
||||
|
||||
#define KVM_PPC_PAGE_SIZES_REAL 0x00000001
|
||||
#define KVM_PPC_1T_SEGMENTS 0x00000002
|
||||
#define KVM_PPC_NO_HASH 0x00000004
|
||||
|
||||
struct kvm_ppc_smmu_info {
|
||||
__u64 flags;
|
||||
@@ -750,6 +757,15 @@ struct kvm_ppc_resize_hpt {
|
||||
|
||||
#define KVM_S390_SIE_PAGE_OFFSET 1
|
||||
|
||||
/*
|
||||
* On arm64, machine type can be used to request the physical
|
||||
* address size for the VM. Bits[7-0] are reserved for the guest
|
||||
* PA size shift (i.e, log2(PA_Size)). For backward compatibility,
|
||||
* value 0 implies the default IPA size, 40bits.
|
||||
*/
|
||||
#define KVM_VM_TYPE_ARM_IPA_SIZE_MASK 0xffULL
|
||||
#define KVM_VM_TYPE_ARM_IPA_SIZE(x) \
|
||||
((x) & KVM_VM_TYPE_ARM_IPA_SIZE_MASK)
|
||||
/*
|
||||
* ioctls for /dev/kvm fds:
|
||||
*/
|
||||
@@ -953,6 +969,12 @@ struct kvm_ppc_resize_hpt {
|
||||
#define KVM_CAP_NESTED_STATE 157
|
||||
#define KVM_CAP_ARM_INJECT_SERROR_ESR 158
|
||||
#define KVM_CAP_MSR_PLATFORM_INFO 159
|
||||
#define KVM_CAP_PPC_NESTED_HV 160
|
||||
#define KVM_CAP_HYPERV_SEND_IPI 161
|
||||
#define KVM_CAP_COALESCED_PIO 162
|
||||
#define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
|
||||
#define KVM_CAP_EXCEPTION_PAYLOAD 164
|
||||
#define KVM_CAP_ARM_VM_IPA_SIZE 165
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#define HPFS_SUPER_MAGIC 0xf995e849
|
||||
#define ISOFS_SUPER_MAGIC 0x9660
|
||||
#define JFFS2_SUPER_MAGIC 0x72b6
|
||||
#define XFS_SUPER_MAGIC 0x58465342 /* "XFSB" */
|
||||
#define PSTOREFS_MAGIC 0x6165676C
|
||||
#define EFIVARFS_MAGIC 0xde5e81e4
|
||||
#define HOSTFS_SUPER_MAGIC 0x00c0ffee
|
||||
|
@@ -369,6 +369,14 @@ struct media_v2_topology {
|
||||
#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum)
|
||||
#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
|
||||
#define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology)
|
||||
#define MEDIA_IOC_REQUEST_ALLOC _IOR ('|', 0x05, int)
|
||||
|
||||
/*
|
||||
* These ioctls are called on the request file descriptor as returned
|
||||
* by MEDIA_IOC_REQUEST_ALLOC.
|
||||
*/
|
||||
#define MEDIA_REQUEST_IOC_QUEUE _IO('|', 0x80)
|
||||
#define MEDIA_REQUEST_IOC_REINIT _IO('|', 0x81)
|
||||
|
||||
#ifndef __KERNEL__
|
||||
|
||||
|
@@ -25,7 +25,9 @@
|
||||
#define MFD_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
|
||||
#define MFD_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
|
||||
#define MFD_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
|
||||
#define MFD_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
|
||||
#define MFD_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
|
||||
#define MFD_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
|
||||
#define MFD_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
|
||||
#define MFD_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
|
||||
#define MFD_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
|
||||
|
@@ -28,7 +28,9 @@
|
||||
#define MAP_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
|
||||
#define MAP_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
|
||||
#define MAP_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
|
||||
#define MAP_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
|
||||
#define MAP_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
|
||||
#define MAP_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
|
||||
#define MAP_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
|
||||
#define MAP_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
|
||||
#define MAP_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
|
||||
|
@@ -23,6 +23,9 @@
|
||||
* optionally the preferred NCSI_ATTR_CHANNEL_ID.
|
||||
* @NCSI_CMD_CLEAR_INTERFACE: clear any preferred package/channel combination.
|
||||
* Requires NCSI_ATTR_IFINDEX.
|
||||
* @NCSI_CMD_SEND_CMD: send NC-SI command to network card.
|
||||
* Requires NCSI_ATTR_IFINDEX, NCSI_ATTR_PACKAGE_ID
|
||||
* and NCSI_ATTR_CHANNEL_ID.
|
||||
* @NCSI_CMD_MAX: highest command number
|
||||
*/
|
||||
enum ncsi_nl_commands {
|
||||
@@ -30,6 +33,7 @@ enum ncsi_nl_commands {
|
||||
NCSI_CMD_PKG_INFO,
|
||||
NCSI_CMD_SET_INTERFACE,
|
||||
NCSI_CMD_CLEAR_INTERFACE,
|
||||
NCSI_CMD_SEND_CMD,
|
||||
|
||||
__NCSI_CMD_AFTER_LAST,
|
||||
NCSI_CMD_MAX = __NCSI_CMD_AFTER_LAST - 1
|
||||
@@ -43,6 +47,7 @@ enum ncsi_nl_commands {
|
||||
* @NCSI_ATTR_PACKAGE_LIST: nested array of NCSI_PKG_ATTR attributes
|
||||
* @NCSI_ATTR_PACKAGE_ID: package ID
|
||||
* @NCSI_ATTR_CHANNEL_ID: channel ID
|
||||
* @NCSI_ATTR_DATA: command payload
|
||||
* @NCSI_ATTR_MAX: highest attribute number
|
||||
*/
|
||||
enum ncsi_nl_attrs {
|
||||
@@ -51,6 +56,7 @@ enum ncsi_nl_attrs {
|
||||
NCSI_ATTR_PACKAGE_LIST,
|
||||
NCSI_ATTR_PACKAGE_ID,
|
||||
NCSI_ATTR_CHANNEL_ID,
|
||||
NCSI_ATTR_DATA,
|
||||
|
||||
__NCSI_ATTR_AFTER_LAST,
|
||||
NCSI_ATTR_MAX = __NCSI_ATTR_AFTER_LAST - 1
|
||||
|
@@ -128,37 +128,31 @@ enum {
|
||||
|
||||
static inline const char *nvdimm_bus_cmd_name(unsigned cmd)
|
||||
{
|
||||
static const char * const names[] = {
|
||||
[ND_CMD_ARS_CAP] = "ars_cap",
|
||||
[ND_CMD_ARS_START] = "ars_start",
|
||||
[ND_CMD_ARS_STATUS] = "ars_status",
|
||||
[ND_CMD_CLEAR_ERROR] = "clear_error",
|
||||
[ND_CMD_CALL] = "cmd_call",
|
||||
};
|
||||
|
||||
if (cmd < ARRAY_SIZE(names) && names[cmd])
|
||||
return names[cmd];
|
||||
return "unknown";
|
||||
switch (cmd) {
|
||||
case ND_CMD_ARS_CAP: return "ars_cap";
|
||||
case ND_CMD_ARS_START: return "ars_start";
|
||||
case ND_CMD_ARS_STATUS: return "ars_status";
|
||||
case ND_CMD_CLEAR_ERROR: return "clear_error";
|
||||
case ND_CMD_CALL: return "cmd_call";
|
||||
default: return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
static inline const char *nvdimm_cmd_name(unsigned cmd)
|
||||
{
|
||||
static const char * const names[] = {
|
||||
[ND_CMD_SMART] = "smart",
|
||||
[ND_CMD_SMART_THRESHOLD] = "smart_thresh",
|
||||
[ND_CMD_DIMM_FLAGS] = "flags",
|
||||
[ND_CMD_GET_CONFIG_SIZE] = "get_size",
|
||||
[ND_CMD_GET_CONFIG_DATA] = "get_data",
|
||||
[ND_CMD_SET_CONFIG_DATA] = "set_data",
|
||||
[ND_CMD_VENDOR_EFFECT_LOG_SIZE] = "effect_size",
|
||||
[ND_CMD_VENDOR_EFFECT_LOG] = "effect_log",
|
||||
[ND_CMD_VENDOR] = "vendor",
|
||||
[ND_CMD_CALL] = "cmd_call",
|
||||
};
|
||||
|
||||
if (cmd < ARRAY_SIZE(names) && names[cmd])
|
||||
return names[cmd];
|
||||
return "unknown";
|
||||
switch (cmd) {
|
||||
case ND_CMD_SMART: return "smart";
|
||||
case ND_CMD_SMART_THRESHOLD: return "smart_thresh";
|
||||
case ND_CMD_DIMM_FLAGS: return "flags";
|
||||
case ND_CMD_GET_CONFIG_SIZE: return "get_size";
|
||||
case ND_CMD_GET_CONFIG_DATA: return "get_data";
|
||||
case ND_CMD_SET_CONFIG_DATA: return "set_data";
|
||||
case ND_CMD_VENDOR_EFFECT_LOG_SIZE: return "effect_size";
|
||||
case ND_CMD_VENDOR_EFFECT_LOG: return "effect_log";
|
||||
case ND_CMD_VENDOR: return "vendor";
|
||||
case ND_CMD_CALL: return "cmd_call";
|
||||
default: return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
#define ND_IOCTL 'N'
|
||||
@@ -208,10 +202,6 @@ enum nd_driver_flags {
|
||||
ND_DRIVER_DAX_PMEM = 1 << ND_DEVICE_DAX_PMEM,
|
||||
};
|
||||
|
||||
enum {
|
||||
ND_MIN_NAMESPACE_SIZE = PAGE_SIZE,
|
||||
};
|
||||
|
||||
enum ars_masks {
|
||||
ARS_STATUS_MASK = 0x0000FFFF,
|
||||
ARS_EXT_STATUS_SHIFT = 16,
|
||||
|
@@ -43,6 +43,7 @@ enum {
|
||||
#define NTF_PROXY 0x08 /* == ATF_PUBL */
|
||||
#define NTF_EXT_LEARNED 0x10
|
||||
#define NTF_OFFLOADED 0x20
|
||||
#define NTF_STICKY 0x40
|
||||
#define NTF_ROUTER 0x80
|
||||
|
||||
/*
|
||||
|
@@ -826,12 +826,14 @@ enum nft_meta_keys {
|
||||
* @NFT_RT_NEXTHOP4: routing nexthop for IPv4
|
||||
* @NFT_RT_NEXTHOP6: routing nexthop for IPv6
|
||||
* @NFT_RT_TCPMSS: fetch current path tcp mss
|
||||
* @NFT_RT_XFRM: boolean, skb->dst->xfrm != NULL
|
||||
*/
|
||||
enum nft_rt_keys {
|
||||
NFT_RT_CLASSID,
|
||||
NFT_RT_NEXTHOP4,
|
||||
NFT_RT_NEXTHOP6,
|
||||
NFT_RT_TCPMSS,
|
||||
NFT_RT_XFRM,
|
||||
__NFT_RT_MAX
|
||||
};
|
||||
#define NFT_RT_MAX (__NFT_RT_MAX - 1)
|
||||
@@ -1174,6 +1176,21 @@ enum nft_quota_attributes {
|
||||
};
|
||||
#define NFTA_QUOTA_MAX (__NFTA_QUOTA_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_secmark_attributes - nf_tables secmark object netlink attributes
|
||||
*
|
||||
* @NFTA_SECMARK_CTX: security context (NLA_STRING)
|
||||
*/
|
||||
enum nft_secmark_attributes {
|
||||
NFTA_SECMARK_UNSPEC,
|
||||
NFTA_SECMARK_CTX,
|
||||
__NFTA_SECMARK_MAX,
|
||||
};
|
||||
#define NFTA_SECMARK_MAX (__NFTA_SECMARK_MAX - 1)
|
||||
|
||||
/* Max security context length */
|
||||
#define NFT_SECMARK_CTX_MAXLEN 256
|
||||
|
||||
/**
|
||||
* enum nft_reject_types - nf_tables reject expression reject types
|
||||
*
|
||||
@@ -1430,7 +1447,8 @@ enum nft_ct_timeout_timeout_attributes {
|
||||
#define NFT_OBJECT_CONNLIMIT 5
|
||||
#define NFT_OBJECT_TUNNEL 6
|
||||
#define NFT_OBJECT_CT_TIMEOUT 7
|
||||
#define __NFT_OBJECT_MAX 8
|
||||
#define NFT_OBJECT_SECMARK 8
|
||||
#define __NFT_OBJECT_MAX 9
|
||||
#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)
|
||||
|
||||
/**
|
||||
@@ -1493,9 +1511,16 @@ enum nft_flowtable_hook_attributes {
|
||||
};
|
||||
#define NFTA_FLOWTABLE_HOOK_MAX (__NFTA_FLOWTABLE_HOOK_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_osf_attributes - nftables osf expression netlink attributes
|
||||
*
|
||||
* @NFTA_OSF_DREG: destination register (NLA_U32: nft_registers)
|
||||
* @NFTA_OSF_TTL: Value of the TTL osf option (NLA_U8)
|
||||
*/
|
||||
enum nft_osf_attributes {
|
||||
NFTA_OSF_UNSPEC,
|
||||
NFTA_OSF_DREG,
|
||||
NFTA_OSF_TTL,
|
||||
__NFTA_OSF_MAX,
|
||||
};
|
||||
#define NFTA_OSF_MAX (__NFTA_OSF_MAX - 1)
|
||||
@@ -1512,6 +1537,35 @@ enum nft_devices_attributes {
|
||||
};
|
||||
#define NFTA_DEVICE_MAX (__NFTA_DEVICE_MAX - 1)
|
||||
|
||||
/*
|
||||
* enum nft_xfrm_attributes - nf_tables xfrm expr netlink attributes
|
||||
*
|
||||
* @NFTA_XFRM_DREG: destination register (NLA_U32)
|
||||
* @NFTA_XFRM_KEY: enum nft_xfrm_keys (NLA_U32)
|
||||
* @NFTA_XFRM_DIR: direction (NLA_U8)
|
||||
* @NFTA_XFRM_SPNUM: index in secpath array (NLA_U32)
|
||||
*/
|
||||
enum nft_xfrm_attributes {
|
||||
NFTA_XFRM_UNSPEC,
|
||||
NFTA_XFRM_DREG,
|
||||
NFTA_XFRM_KEY,
|
||||
NFTA_XFRM_DIR,
|
||||
NFTA_XFRM_SPNUM,
|
||||
__NFTA_XFRM_MAX
|
||||
};
|
||||
#define NFTA_XFRM_MAX (__NFTA_XFRM_MAX - 1)
|
||||
|
||||
enum nft_xfrm_keys {
|
||||
NFT_XFRM_KEY_UNSPEC,
|
||||
NFT_XFRM_KEY_DADDR_IP4,
|
||||
NFT_XFRM_KEY_DADDR_IP6,
|
||||
NFT_XFRM_KEY_SADDR_IP4,
|
||||
NFT_XFRM_KEY_SADDR_IP6,
|
||||
NFT_XFRM_KEY_REQID,
|
||||
NFT_XFRM_KEY_SPI,
|
||||
__NFT_XFRM_KEY_MAX,
|
||||
};
|
||||
#define NFT_XFRM_KEY_MAX (__NFT_XFRM_KEY_MAX - 1)
|
||||
|
||||
/**
|
||||
* enum nft_trace_attributes - nf_tables trace netlink attributes
|
||||
@@ -1581,8 +1635,8 @@ enum nft_ng_attributes {
|
||||
NFTA_NG_MODULUS,
|
||||
NFTA_NG_TYPE,
|
||||
NFTA_NG_OFFSET,
|
||||
NFTA_NG_SET_NAME,
|
||||
NFTA_NG_SET_ID,
|
||||
NFTA_NG_SET_NAME, /* deprecated */
|
||||
NFTA_NG_SET_ID, /* deprecated */
|
||||
__NFTA_NG_MAX
|
||||
};
|
||||
#define NFTA_NG_MAX (__NFTA_NG_MAX - 1)
|
||||
|
@@ -22,4 +22,20 @@ struct xt_cgroup_info_v1 {
|
||||
void *priv __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
#define XT_CGROUP_PATH_MAX 512
|
||||
|
||||
struct xt_cgroup_info_v2 {
|
||||
__u8 has_path;
|
||||
__u8 has_classid;
|
||||
__u8 invert_path;
|
||||
__u8 invert_classid;
|
||||
union {
|
||||
char path[XT_CGROUP_PATH_MAX];
|
||||
__u32 classid;
|
||||
};
|
||||
|
||||
/* kernel internal data */
|
||||
void *priv __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
#endif /* _UAPI_XT_CGROUP_H */
|
||||
|
@@ -11,6 +11,10 @@
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/if_pppox.h>
|
||||
|
||||
#ifndef __KERNEL__
|
||||
#include <limits.h> /* for INT_MIN, INT_MAX */
|
||||
#endif
|
||||
|
||||
/* Bridge Hooks */
|
||||
/* After promisc drops, checksum checks. */
|
||||
#define NF_BR_PRE_ROUTING 0
|
||||
|
@@ -155,6 +155,7 @@ enum nlmsgerr_attrs {
|
||||
#define NETLINK_LIST_MEMBERSHIPS 9
|
||||
#define NETLINK_CAP_ACK 10
|
||||
#define NETLINK_EXT_ACK 11
|
||||
#define NETLINK_DUMP_STRICT_CHK 12
|
||||
|
||||
struct nl_pktinfo {
|
||||
__u32 group;
|
||||
|
@@ -1033,6 +1033,9 @@
|
||||
* %NL80211_ATTR_CHANNEL_WIDTH,%NL80211_ATTR_NSS attributes with its
|
||||
* address(specified in %NL80211_ATTR_MAC).
|
||||
*
|
||||
* @NL80211_CMD_GET_FTM_RESPONDER_STATS: Retrieve FTM responder statistics, in
|
||||
* the %NL80211_ATTR_FTM_RESPONDER_STATS attribute.
|
||||
*
|
||||
* @NL80211_CMD_MAX: highest used command number
|
||||
* @__NL80211_CMD_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -1245,6 +1248,8 @@ enum nl80211_commands {
|
||||
|
||||
NL80211_CMD_CONTROL_PORT_FRAME,
|
||||
|
||||
NL80211_CMD_GET_FTM_RESPONDER_STATS,
|
||||
|
||||
/* add new commands above here */
|
||||
|
||||
/* used to define NL80211_CMD_MAX below */
|
||||
@@ -2241,6 +2246,14 @@ enum nl80211_commands {
|
||||
* association request when used with NL80211_CMD_NEW_STATION). Can be set
|
||||
* only if %NL80211_STA_FLAG_WME is set.
|
||||
*
|
||||
* @NL80211_ATTR_FTM_RESPONDER: nested attribute which user-space can include
|
||||
* in %NL80211_CMD_START_AP or %NL80211_CMD_SET_BEACON for fine timing
|
||||
* measurement (FTM) responder functionality and containing parameters as
|
||||
* possible, see &enum nl80211_ftm_responder_attr
|
||||
*
|
||||
* @NL80211_ATTR_FTM_RESPONDER_STATS: Nested attribute with FTM responder
|
||||
* statistics, see &enum nl80211_ftm_responder_stats.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -2682,6 +2695,10 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_HE_CAPABILITY,
|
||||
|
||||
NL80211_ATTR_FTM_RESPONDER,
|
||||
|
||||
NL80211_ATTR_FTM_RESPONDER_STATS,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -3050,8 +3067,13 @@ enum nl80211_sta_bss_param {
|
||||
* received from the station (u64, usec)
|
||||
* @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
|
||||
* @NL80211_STA_INFO_ACK_SIGNAL: signal strength of the last ACK frame(u8, dBm)
|
||||
* @NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG: avg signal strength of (data)
|
||||
* ACK frame (s8, dBm)
|
||||
* @NL80211_STA_INFO_ACK_SIGNAL_AVG: avg signal strength of ACK frames (s8, dBm)
|
||||
* @NL80211_STA_INFO_RX_MPDUS: total number of received packets (MPDUs)
|
||||
* (u32, from this station)
|
||||
* @NL80211_STA_INFO_FCS_ERROR_COUNT: total number of packets (MPDUs) received
|
||||
* with an FCS error (u32, from this station). This count may not include
|
||||
* some packets with an FCS error due to TA corruption. Hence this counter
|
||||
* might not be fully accurate.
|
||||
* @__NL80211_STA_INFO_AFTER_LAST: internal
|
||||
* @NL80211_STA_INFO_MAX: highest possible station info attribute
|
||||
*/
|
||||
@@ -3091,13 +3113,19 @@ enum nl80211_sta_info {
|
||||
NL80211_STA_INFO_RX_DURATION,
|
||||
NL80211_STA_INFO_PAD,
|
||||
NL80211_STA_INFO_ACK_SIGNAL,
|
||||
NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG,
|
||||
NL80211_STA_INFO_ACK_SIGNAL_AVG,
|
||||
NL80211_STA_INFO_RX_MPDUS,
|
||||
NL80211_STA_INFO_FCS_ERROR_COUNT,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_STA_INFO_AFTER_LAST,
|
||||
NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
/* we renamed this - stay compatible */
|
||||
#define NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG NL80211_STA_INFO_ACK_SIGNAL_AVG
|
||||
|
||||
|
||||
/**
|
||||
* enum nl80211_tid_stats - per TID statistics attributes
|
||||
* @__NL80211_TID_STATS_INVALID: attribute number 0 is reserved
|
||||
@@ -4338,7 +4366,7 @@ enum nl80211_txrate_gi {
|
||||
* enum nl80211_band - Frequency band
|
||||
* @NL80211_BAND_2GHZ: 2.4 GHz ISM band
|
||||
* @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
|
||||
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz)
|
||||
* @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
|
||||
* @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
|
||||
* since newer kernel versions may support more bands
|
||||
*/
|
||||
@@ -5213,9 +5241,8 @@ enum nl80211_feature_flags {
|
||||
* "radar detected" event.
|
||||
* @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211: Driver supports sending and
|
||||
* receiving control port frames over nl80211 instead of the netdevice.
|
||||
* @NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT: This Driver support data ack
|
||||
* rssi if firmware support, this flag is to intimate about ack rssi
|
||||
* support to nl80211.
|
||||
* @NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT: This driver/device supports
|
||||
* (average) ACK signal strength reporting.
|
||||
* @NL80211_EXT_FEATURE_TXQS: Driver supports FQ-CoDel-enabled intermediate
|
||||
* TXQs.
|
||||
* @NL80211_EXT_FEATURE_SCAN_RANDOM_SN: Driver/device supports randomizing the
|
||||
@@ -5223,6 +5250,13 @@ enum nl80211_feature_flags {
|
||||
* @NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT: Driver/device can omit all data
|
||||
* except for supported rates from the probe request content if requested
|
||||
* by the %NL80211_SCAN_FLAG_MIN_PREQ_CONTENT flag.
|
||||
* @NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER: Driver supports enabling fine
|
||||
* timing measurement responder role.
|
||||
*
|
||||
* @NL80211_EXT_FEATURE_CAN_REPLACE_PTK0: Driver/device confirm that they are
|
||||
* able to rekey an in-use key correctly. Userspace must not rekey PTK keys
|
||||
* if this flag is not set. Ignoring this can leak clear text packets and/or
|
||||
* freeze the connection.
|
||||
*
|
||||
* @NUM_NL80211_EXT_FEATURES: number of extended features.
|
||||
* @MAX_NL80211_EXT_FEATURES: highest extended feature index.
|
||||
@@ -5255,10 +5289,14 @@ enum nl80211_ext_feature_index {
|
||||
NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN,
|
||||
NL80211_EXT_FEATURE_DFS_OFFLOAD,
|
||||
NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211,
|
||||
NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT,
|
||||
NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT,
|
||||
/* we renamed this - stay compatible */
|
||||
NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT,
|
||||
NL80211_EXT_FEATURE_TXQS,
|
||||
NL80211_EXT_FEATURE_SCAN_RANDOM_SN,
|
||||
NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT,
|
||||
NL80211_EXT_FEATURE_CAN_REPLACE_PTK0,
|
||||
NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER,
|
||||
|
||||
/* add new features before the definition below */
|
||||
NUM_NL80211_EXT_FEATURES,
|
||||
@@ -5798,4 +5836,74 @@ enum nl80211_external_auth_action {
|
||||
NL80211_EXTERNAL_AUTH_ABORT,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_ftm_responder_attributes - fine timing measurement
|
||||
* responder attributes
|
||||
* @__NL80211_FTM_RESP_ATTR_INVALID: Invalid
|
||||
* @NL80211_FTM_RESP_ATTR_ENABLED: FTM responder is enabled
|
||||
* @NL80211_FTM_RESP_ATTR_LCI: The content of Measurement Report Element
|
||||
* (9.4.2.22 in 802.11-2016) with type 8 - LCI (9.4.2.22.10)
|
||||
* @NL80211_FTM_RESP_ATTR_CIVIC: The content of Measurement Report Element
|
||||
* (9.4.2.22 in 802.11-2016) with type 11 - Civic (Section 9.4.2.22.13)
|
||||
* @__NL80211_FTM_RESP_ATTR_LAST: Internal
|
||||
* @NL80211_FTM_RESP_ATTR_MAX: highest FTM responder attribute.
|
||||
*/
|
||||
enum nl80211_ftm_responder_attributes {
|
||||
__NL80211_FTM_RESP_ATTR_INVALID,
|
||||
|
||||
NL80211_FTM_RESP_ATTR_ENABLED,
|
||||
NL80211_FTM_RESP_ATTR_LCI,
|
||||
NL80211_FTM_RESP_ATTR_CIVICLOC,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_FTM_RESP_ATTR_LAST,
|
||||
NL80211_FTM_RESP_ATTR_MAX = __NL80211_FTM_RESP_ATTR_LAST - 1,
|
||||
};
|
||||
|
||||
/*
|
||||
* enum nl80211_ftm_responder_stats - FTM responder statistics
|
||||
*
|
||||
* These attribute types are used with %NL80211_ATTR_FTM_RESPONDER_STATS
|
||||
* when getting FTM responder statistics.
|
||||
*
|
||||
* @__NL80211_FTM_STATS_INVALID: attribute number 0 is reserved
|
||||
* @NL80211_FTM_STATS_SUCCESS_NUM: number of FTM sessions in which all frames
|
||||
* were ssfully answered (u32)
|
||||
* @NL80211_FTM_STATS_PARTIAL_NUM: number of FTM sessions in which part of the
|
||||
* frames were successfully answered (u32)
|
||||
* @NL80211_FTM_STATS_FAILED_NUM: number of failed FTM sessions (u32)
|
||||
* @NL80211_FTM_STATS_ASAP_NUM: number of ASAP sessions (u32)
|
||||
* @NL80211_FTM_STATS_NON_ASAP_NUM: number of non-ASAP sessions (u32)
|
||||
* @NL80211_FTM_STATS_TOTAL_DURATION_MSEC: total sessions durations - gives an
|
||||
* indication of how much time the responder was busy (u64, msec)
|
||||
* @NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM: number of unknown FTM triggers -
|
||||
* triggers from initiators that didn't finish successfully the negotiation
|
||||
* phase with the responder (u32)
|
||||
* @NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM: number of FTM reschedule requests
|
||||
* - initiator asks for a new scheduling although it already has scheduled
|
||||
* FTM slot (u32)
|
||||
* @NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM: number of FTM triggers out of
|
||||
* scheduled window (u32)
|
||||
* @NL80211_FTM_STATS_PAD: used for padding, ignore
|
||||
* @__NL80211_TXQ_ATTR_AFTER_LAST: Internal
|
||||
* @NL80211_FTM_STATS_MAX: highest possible FTM responder stats attribute
|
||||
*/
|
||||
enum nl80211_ftm_responder_stats {
|
||||
__NL80211_FTM_STATS_INVALID,
|
||||
NL80211_FTM_STATS_SUCCESS_NUM,
|
||||
NL80211_FTM_STATS_PARTIAL_NUM,
|
||||
NL80211_FTM_STATS_FAILED_NUM,
|
||||
NL80211_FTM_STATS_ASAP_NUM,
|
||||
NL80211_FTM_STATS_NON_ASAP_NUM,
|
||||
NL80211_FTM_STATS_TOTAL_DURATION_MSEC,
|
||||
NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM,
|
||||
NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM,
|
||||
NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM,
|
||||
NL80211_FTM_STATS_PAD,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_FTM_STATS_AFTER_LAST,
|
||||
NL80211_FTM_STATS_MAX = __NL80211_FTM_STATS_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
@@ -52,6 +52,7 @@
|
||||
#define PCI_COMMAND_INTX_DISABLE 0x400 /* INTx Emulation Disable */
|
||||
|
||||
#define PCI_STATUS 0x06 /* 16 bits */
|
||||
#define PCI_STATUS_IMM_READY 0x01 /* Immediate Readiness */
|
||||
#define PCI_STATUS_INTERRUPT 0x08 /* Interrupt status */
|
||||
#define PCI_STATUS_CAP_LIST 0x10 /* Support Capability List */
|
||||
#define PCI_STATUS_66MHZ 0x20 /* Support 66 MHz PCI 2.1 bus */
|
||||
|
@@ -646,10 +646,12 @@ struct perf_event_mmap_page {
|
||||
*
|
||||
* PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events
|
||||
* PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event
|
||||
* PERF_RECORD_MISC_FORK_EXEC - PERF_RECORD_FORK event (perf internal)
|
||||
* PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events
|
||||
*/
|
||||
#define PERF_RECORD_MISC_MMAP_DATA (1 << 13)
|
||||
#define PERF_RECORD_MISC_COMM_EXEC (1 << 13)
|
||||
#define PERF_RECORD_MISC_FORK_EXEC (1 << 13)
|
||||
#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13)
|
||||
/*
|
||||
* These PERF_RECORD_MISC_* flags below are safely reused
|
||||
|
@@ -483,6 +483,8 @@ enum {
|
||||
TCA_FLOWER_KEY_ENC_OPTS,
|
||||
TCA_FLOWER_KEY_ENC_OPTS_MASK,
|
||||
|
||||
TCA_FLOWER_IN_HW_COUNT,
|
||||
|
||||
__TCA_FLOWER_MAX,
|
||||
};
|
||||
|
||||
|
@@ -395,9 +395,9 @@ enum {
|
||||
struct tc_htb_xstats {
|
||||
__u32 lends;
|
||||
__u32 borrows;
|
||||
__u32 giants; /* too big packets (rate will not be accurate) */
|
||||
__u32 tokens;
|
||||
__u32 ctokens;
|
||||
__u32 giants; /* unused since 'Make HTB scheduler work with TSO.' */
|
||||
__s32 tokens;
|
||||
__s32 ctokens;
|
||||
};
|
||||
|
||||
/* HFSC section */
|
||||
@@ -1084,4 +1084,50 @@ enum {
|
||||
CAKE_ATM_MAX
|
||||
};
|
||||
|
||||
|
||||
/* TAPRIO */
|
||||
enum {
|
||||
TC_TAPRIO_CMD_SET_GATES = 0x00,
|
||||
TC_TAPRIO_CMD_SET_AND_HOLD = 0x01,
|
||||
TC_TAPRIO_CMD_SET_AND_RELEASE = 0x02,
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_TAPRIO_SCHED_ENTRY_UNSPEC,
|
||||
TCA_TAPRIO_SCHED_ENTRY_INDEX, /* u32 */
|
||||
TCA_TAPRIO_SCHED_ENTRY_CMD, /* u8 */
|
||||
TCA_TAPRIO_SCHED_ENTRY_GATE_MASK, /* u32 */
|
||||
TCA_TAPRIO_SCHED_ENTRY_INTERVAL, /* u32 */
|
||||
__TCA_TAPRIO_SCHED_ENTRY_MAX,
|
||||
};
|
||||
#define TCA_TAPRIO_SCHED_ENTRY_MAX (__TCA_TAPRIO_SCHED_ENTRY_MAX - 1)
|
||||
|
||||
/* The format for schedule entry list is:
|
||||
* [TCA_TAPRIO_SCHED_ENTRY_LIST]
|
||||
* [TCA_TAPRIO_SCHED_ENTRY]
|
||||
* [TCA_TAPRIO_SCHED_ENTRY_CMD]
|
||||
* [TCA_TAPRIO_SCHED_ENTRY_GATES]
|
||||
* [TCA_TAPRIO_SCHED_ENTRY_INTERVAL]
|
||||
*/
|
||||
enum {
|
||||
TCA_TAPRIO_SCHED_UNSPEC,
|
||||
TCA_TAPRIO_SCHED_ENTRY,
|
||||
__TCA_TAPRIO_SCHED_MAX,
|
||||
};
|
||||
|
||||
#define TCA_TAPRIO_SCHED_MAX (__TCA_TAPRIO_SCHED_MAX - 1)
|
||||
|
||||
enum {
|
||||
TCA_TAPRIO_ATTR_UNSPEC,
|
||||
TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */
|
||||
TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST, /* nested of entry */
|
||||
TCA_TAPRIO_ATTR_SCHED_BASE_TIME, /* s64 */
|
||||
TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY, /* single entry */
|
||||
TCA_TAPRIO_ATTR_SCHED_CLOCKID, /* s32 */
|
||||
TCA_TAPRIO_PAD,
|
||||
__TCA_TAPRIO_ATTR_MAX,
|
||||
};
|
||||
|
||||
#define TCA_TAPRIO_ATTR_MAX (__TCA_TAPRIO_ATTR_MAX - 1)
|
||||
|
||||
#endif
|
||||
|
@@ -301,6 +301,7 @@ enum sctp_sinfo_flags {
|
||||
SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */
|
||||
/* 2 bits here have been used by SCTP_PR_SCTP_MASK */
|
||||
SCTP_SENDALL = (1 << 6),
|
||||
SCTP_PR_SCTP_ALL = (1 << 7),
|
||||
SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */
|
||||
SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */
|
||||
};
|
||||
@@ -567,6 +568,8 @@ struct sctp_assoc_reset_event {
|
||||
|
||||
#define SCTP_ASSOC_CHANGE_DENIED 0x0004
|
||||
#define SCTP_ASSOC_CHANGE_FAILED 0x0008
|
||||
#define SCTP_STREAM_CHANGE_DENIED SCTP_ASSOC_CHANGE_DENIED
|
||||
#define SCTP_STREAM_CHANGE_FAILED SCTP_ASSOC_CHANGE_FAILED
|
||||
struct sctp_stream_change_event {
|
||||
__u16 strchange_type;
|
||||
__u16 strchange_flags;
|
||||
@@ -1150,6 +1153,7 @@ struct sctp_add_streams {
|
||||
/* SCTP Stream schedulers */
|
||||
enum sctp_sched_type {
|
||||
SCTP_SS_FCFS,
|
||||
SCTP_SS_DEFAULT = SCTP_SS_FCFS,
|
||||
SCTP_SS_PRIO,
|
||||
SCTP_SS_RR,
|
||||
SCTP_SS_MAX = SCTP_SS_RR
|
||||
|
@@ -132,4 +132,21 @@ struct serial_rs485 {
|
||||
are a royal PITA .. */
|
||||
};
|
||||
|
||||
/*
|
||||
* Serial interface for controlling ISO7816 settings on chips with suitable
|
||||
* support. Set with TIOCSISO7816 and get with TIOCGISO7816 if supported by
|
||||
* your platform.
|
||||
*/
|
||||
struct serial_iso7816 {
|
||||
__u32 flags; /* ISO7816 feature flags */
|
||||
#define SER_ISO7816_ENABLED (1 << 0)
|
||||
#define SER_ISO7816_T_PARAM (0x0f << 4)
|
||||
#define SER_ISO7816_T(t) (((t) & 0x0f) << 4)
|
||||
__u32 tg;
|
||||
__u32 sc_fi;
|
||||
__u32 sc_di;
|
||||
__u32 clk;
|
||||
__u32 reserved[5];
|
||||
};
|
||||
|
||||
#endif /* _UAPI_LINUX_SERIAL_H */
|
||||
|
@@ -65,7 +65,9 @@ struct shmid_ds {
|
||||
#define SHM_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
|
||||
#define SHM_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
|
||||
#define SHM_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
|
||||
#define SHM_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
|
||||
#define SHM_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
|
||||
#define SHM_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
|
||||
#define SHM_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
|
||||
#define SHM_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
|
||||
#define SHM_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
|
||||
|
@@ -18,14 +18,17 @@ struct smc_diag_req {
|
||||
* on the internal clcsock, and more SMC-related socket data
|
||||
*/
|
||||
struct smc_diag_msg {
|
||||
__u8 diag_family;
|
||||
__u8 diag_state;
|
||||
__u8 diag_mode;
|
||||
__u8 diag_shutdown;
|
||||
__u8 diag_family;
|
||||
__u8 diag_state;
|
||||
union {
|
||||
__u8 diag_mode;
|
||||
__u8 diag_fallback; /* the old name of the field */
|
||||
};
|
||||
__u8 diag_shutdown;
|
||||
struct inet_diag_sockid id;
|
||||
|
||||
__u32 diag_uid;
|
||||
__u64 diag_inode;
|
||||
__u32 diag_uid;
|
||||
__aligned_u64 diag_inode;
|
||||
};
|
||||
|
||||
/* Mode of a connection */
|
||||
@@ -99,11 +102,11 @@ struct smc_diag_fallback {
|
||||
};
|
||||
|
||||
struct smcd_diag_dmbinfo { /* SMC-D Socket internals */
|
||||
__u32 linkid; /* Link identifier */
|
||||
__u64 peer_gid; /* Peer GID */
|
||||
__u64 my_gid; /* My GID */
|
||||
__u64 token; /* Token of DMB */
|
||||
__u64 peer_token; /* Token of remote DMBE */
|
||||
__u32 linkid; /* Link identifier */
|
||||
__aligned_u64 peer_gid; /* Peer GID */
|
||||
__aligned_u64 my_gid; /* My GID */
|
||||
__aligned_u64 token; /* Token of DMB */
|
||||
__aligned_u64 peer_token; /* Token of remote DMBE */
|
||||
};
|
||||
|
||||
#endif /* _UAPI_SMC_DIAG_H_ */
|
||||
|
@@ -34,7 +34,7 @@
|
||||
*/
|
||||
|
||||
|
||||
#define TASKSTATS_VERSION 8
|
||||
#define TASKSTATS_VERSION 9
|
||||
#define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN
|
||||
* in linux/sched.h */
|
||||
|
||||
@@ -164,6 +164,10 @@ struct taskstats {
|
||||
/* Delay waiting for memory reclaim */
|
||||
__u64 freepages_count;
|
||||
__u64 freepages_delay_total;
|
||||
|
||||
/* Delay waiting for thrashing page */
|
||||
__u64 thrashing_count;
|
||||
__u64 thrashing_delay_total;
|
||||
};
|
||||
|
||||
|
||||
|
@@ -40,5 +40,6 @@ struct udphdr {
|
||||
#define UDP_ENCAP_L2TPINUDP 3 /* rfc2661 */
|
||||
#define UDP_ENCAP_GTP0 4 /* GSM TS 09.60 */
|
||||
#define UDP_ENCAP_GTP1U 5 /* 3GPP TS 29.060 */
|
||||
#define UDP_ENCAP_RXRPC 6
|
||||
|
||||
#endif /* _UAPI_LINUX_UDP_H */
|
||||
|
@@ -4,6 +4,7 @@
|
||||
* Copyright (C) 2008 Novell, Inc.
|
||||
* Copyright (C) 2008 Greg Kroah-Hartman <gregkh@suse.de>
|
||||
* Copyright (C) 2015 Dave Penkler <dpenkler@gmail.com>
|
||||
* Copyright (C) 2018 IVI Foundation, Inc.
|
||||
*
|
||||
* This file holds USB constants defined by the USB Device Class
|
||||
* and USB488 Subclass Definitions for Test and Measurement devices
|
||||
@@ -40,11 +41,38 @@
|
||||
#define USBTMC488_REQUEST_GOTO_LOCAL 161
|
||||
#define USBTMC488_REQUEST_LOCAL_LOCKOUT 162
|
||||
|
||||
struct usbtmc_request {
|
||||
__u8 bRequestType;
|
||||
__u8 bRequest;
|
||||
__u16 wValue;
|
||||
__u16 wIndex;
|
||||
__u16 wLength;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct usbtmc_ctrlrequest {
|
||||
struct usbtmc_request req;
|
||||
void __user *data; /* pointer to user space */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct usbtmc_termchar {
|
||||
__u8 term_char;
|
||||
__u8 term_char_enabled;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*
|
||||
* usbtmc_message->flags:
|
||||
*/
|
||||
#define USBTMC_FLAG_ASYNC 0x0001
|
||||
#define USBTMC_FLAG_APPEND 0x0002
|
||||
#define USBTMC_FLAG_IGNORE_TRAILER 0x0004
|
||||
|
||||
struct usbtmc_message {
|
||||
__u32 transfer_size; /* size of bytes to transfer */
|
||||
__u32 transferred; /* size of received/written bytes */
|
||||
__u32 flags; /* bit 0: 0 = synchronous; 1 = asynchronous */
|
||||
void __user *message; /* pointer to header and data in user space */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* Request values for USBTMC driver's ioctl entry point */
|
||||
#define USBTMC_IOC_NR 91
|
||||
#define USBTMC_IOCTL_INDICATOR_PULSE _IO(USBTMC_IOC_NR, 1)
|
||||
@@ -53,10 +81,15 @@ struct usbtmc_termchar {
|
||||
#define USBTMC_IOCTL_ABORT_BULK_IN _IO(USBTMC_IOC_NR, 4)
|
||||
#define USBTMC_IOCTL_CLEAR_OUT_HALT _IO(USBTMC_IOC_NR, 6)
|
||||
#define USBTMC_IOCTL_CLEAR_IN_HALT _IO(USBTMC_IOC_NR, 7)
|
||||
#define USBTMC_IOCTL_CTRL_REQUEST _IOWR(USBTMC_IOC_NR, 8, struct usbtmc_ctrlrequest)
|
||||
#define USBTMC_IOCTL_GET_TIMEOUT _IOR(USBTMC_IOC_NR, 9, __u32)
|
||||
#define USBTMC_IOCTL_SET_TIMEOUT _IOW(USBTMC_IOC_NR, 10, __u32)
|
||||
#define USBTMC_IOCTL_EOM_ENABLE _IOW(USBTMC_IOC_NR, 11, __u8)
|
||||
#define USBTMC_IOCTL_CONFIG_TERMCHAR _IOW(USBTMC_IOC_NR, 12, struct usbtmc_termchar)
|
||||
#define USBTMC_IOCTL_WRITE _IOWR(USBTMC_IOC_NR, 13, struct usbtmc_message)
|
||||
#define USBTMC_IOCTL_READ _IOWR(USBTMC_IOC_NR, 14, struct usbtmc_message)
|
||||
#define USBTMC_IOCTL_WRITE_RESULT _IOWR(USBTMC_IOC_NR, 15, __u32)
|
||||
#define USBTMC_IOCTL_API_VERSION _IOR(USBTMC_IOC_NR, 16, __u32)
|
||||
|
||||
#define USBTMC488_IOCTL_GET_CAPS _IOR(USBTMC_IOC_NR, 17, unsigned char)
|
||||
#define USBTMC488_IOCTL_READ_STB _IOR(USBTMC_IOC_NR, 18, unsigned char)
|
||||
@@ -64,6 +97,14 @@ struct usbtmc_termchar {
|
||||
#define USBTMC488_IOCTL_GOTO_LOCAL _IO(USBTMC_IOC_NR, 20)
|
||||
#define USBTMC488_IOCTL_LOCAL_LOCKOUT _IO(USBTMC_IOC_NR, 21)
|
||||
#define USBTMC488_IOCTL_TRIGGER _IO(USBTMC_IOC_NR, 22)
|
||||
#define USBTMC488_IOCTL_WAIT_SRQ _IOW(USBTMC_IOC_NR, 23, __u32)
|
||||
|
||||
#define USBTMC_IOCTL_MSG_IN_ATTR _IOR(USBTMC_IOC_NR, 24, __u8)
|
||||
#define USBTMC_IOCTL_AUTO_ABORT _IOW(USBTMC_IOC_NR, 25, __u8)
|
||||
|
||||
/* Cancel and cleanup asynchronous calls */
|
||||
#define USBTMC_IOCTL_CANCEL_IO _IO(USBTMC_IOC_NR, 35)
|
||||
#define USBTMC_IOCTL_CLEANUP_IO _IO(USBTMC_IOC_NR, 36)
|
||||
|
||||
/* Driver encoded usb488 capabilities */
|
||||
#define USBTMC488_CAPABILITY_TRIGGER 1
|
||||
|
@@ -192,14 +192,14 @@ struct uvc_descriptor_header {
|
||||
|
||||
/* 3.7.2. Video Control Interface Header Descriptor */
|
||||
struct uvc_header_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u16 bcdUVC;
|
||||
__u16 wTotalLength;
|
||||
__u32 dwClockFrequency;
|
||||
__u8 bInCollection;
|
||||
__u8 baInterfaceNr[];
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__le16 bcdUVC;
|
||||
__le16 wTotalLength;
|
||||
__le32 dwClockFrequency;
|
||||
__u8 bInCollection;
|
||||
__u8 baInterfaceNr[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_HEADER_SIZE(n) (12+(n))
|
||||
@@ -209,57 +209,57 @@ struct uvc_header_descriptor {
|
||||
|
||||
#define DECLARE_UVC_HEADER_DESCRIPTOR(n) \
|
||||
struct UVC_HEADER_DESCRIPTOR(n) { \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u16 bcdUVC; \
|
||||
__u16 wTotalLength; \
|
||||
__u32 dwClockFrequency; \
|
||||
__u8 bInCollection; \
|
||||
__u8 baInterfaceNr[n]; \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__le16 bcdUVC; \
|
||||
__le16 wTotalLength; \
|
||||
__le32 dwClockFrequency; \
|
||||
__u8 bInCollection; \
|
||||
__u8 baInterfaceNr[n]; \
|
||||
} __attribute__ ((packed))
|
||||
|
||||
/* 3.7.2.1. Input Terminal Descriptor */
|
||||
struct uvc_input_terminal_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bTerminalID;
|
||||
__u16 wTerminalType;
|
||||
__u8 bAssocTerminal;
|
||||
__u8 iTerminal;
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bTerminalID;
|
||||
__le16 wTerminalType;
|
||||
__u8 bAssocTerminal;
|
||||
__u8 iTerminal;
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_INPUT_TERMINAL_SIZE 8
|
||||
|
||||
/* 3.7.2.2. Output Terminal Descriptor */
|
||||
struct uvc_output_terminal_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bTerminalID;
|
||||
__u16 wTerminalType;
|
||||
__u8 bAssocTerminal;
|
||||
__u8 bSourceID;
|
||||
__u8 iTerminal;
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bTerminalID;
|
||||
__le16 wTerminalType;
|
||||
__u8 bAssocTerminal;
|
||||
__u8 bSourceID;
|
||||
__u8 iTerminal;
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_OUTPUT_TERMINAL_SIZE 9
|
||||
|
||||
/* 3.7.2.3. Camera Terminal Descriptor */
|
||||
struct uvc_camera_terminal_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bTerminalID;
|
||||
__u16 wTerminalType;
|
||||
__u8 bAssocTerminal;
|
||||
__u8 iTerminal;
|
||||
__u16 wObjectiveFocalLengthMin;
|
||||
__u16 wObjectiveFocalLengthMax;
|
||||
__u16 wOcularFocalLength;
|
||||
__u8 bControlSize;
|
||||
__u8 bmControls[3];
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bTerminalID;
|
||||
__le16 wTerminalType;
|
||||
__u8 bAssocTerminal;
|
||||
__u8 iTerminal;
|
||||
__le16 wObjectiveFocalLengthMin;
|
||||
__le16 wObjectiveFocalLengthMax;
|
||||
__le16 wOcularFocalLength;
|
||||
__u8 bControlSize;
|
||||
__u8 bmControls[3];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_CAMERA_TERMINAL_SIZE(n) (15+(n))
|
||||
@@ -293,15 +293,15 @@ struct UVC_SELECTOR_UNIT_DESCRIPTOR(n) { \
|
||||
|
||||
/* 3.7.2.5. Processing Unit Descriptor */
|
||||
struct uvc_processing_unit_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bUnitID;
|
||||
__u8 bSourceID;
|
||||
__u16 wMaxMultiplier;
|
||||
__u8 bControlSize;
|
||||
__u8 bmControls[2];
|
||||
__u8 iProcessing;
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bUnitID;
|
||||
__u8 bSourceID;
|
||||
__le16 wMaxMultiplier;
|
||||
__u8 bControlSize;
|
||||
__u8 bmControls[2];
|
||||
__u8 iProcessing;
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_PROCESSING_UNIT_SIZE(n) (9+(n))
|
||||
@@ -343,29 +343,29 @@ struct UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) { \
|
||||
|
||||
/* 3.8.2.2. Video Control Interrupt Endpoint Descriptor */
|
||||
struct uvc_control_endpoint_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u16 wMaxTransferSize;
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__le16 wMaxTransferSize;
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_CONTROL_ENDPOINT_SIZE 5
|
||||
|
||||
/* 3.9.2.1. Input Header Descriptor */
|
||||
struct uvc_input_header_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bNumFormats;
|
||||
__u16 wTotalLength;
|
||||
__u8 bEndpointAddress;
|
||||
__u8 bmInfo;
|
||||
__u8 bTerminalLink;
|
||||
__u8 bStillCaptureMethod;
|
||||
__u8 bTriggerSupport;
|
||||
__u8 bTriggerUsage;
|
||||
__u8 bControlSize;
|
||||
__u8 bmaControls[];
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bNumFormats;
|
||||
__le16 wTotalLength;
|
||||
__u8 bEndpointAddress;
|
||||
__u8 bmInfo;
|
||||
__u8 bTerminalLink;
|
||||
__u8 bStillCaptureMethod;
|
||||
__u8 bTriggerSupport;
|
||||
__u8 bTriggerUsage;
|
||||
__u8 bControlSize;
|
||||
__u8 bmaControls[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_INPUT_HEADER_SIZE(n, p) (13+(n*p))
|
||||
@@ -375,32 +375,32 @@ struct uvc_input_header_descriptor {
|
||||
|
||||
#define DECLARE_UVC_INPUT_HEADER_DESCRIPTOR(n, p) \
|
||||
struct UVC_INPUT_HEADER_DESCRIPTOR(n, p) { \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bNumFormats; \
|
||||
__u16 wTotalLength; \
|
||||
__u8 bEndpointAddress; \
|
||||
__u8 bmInfo; \
|
||||
__u8 bTerminalLink; \
|
||||
__u8 bStillCaptureMethod; \
|
||||
__u8 bTriggerSupport; \
|
||||
__u8 bTriggerUsage; \
|
||||
__u8 bControlSize; \
|
||||
__u8 bmaControls[p][n]; \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bNumFormats; \
|
||||
__le16 wTotalLength; \
|
||||
__u8 bEndpointAddress; \
|
||||
__u8 bmInfo; \
|
||||
__u8 bTerminalLink; \
|
||||
__u8 bStillCaptureMethod; \
|
||||
__u8 bTriggerSupport; \
|
||||
__u8 bTriggerUsage; \
|
||||
__u8 bControlSize; \
|
||||
__u8 bmaControls[p][n]; \
|
||||
} __attribute__ ((packed))
|
||||
|
||||
/* 3.9.2.2. Output Header Descriptor */
|
||||
struct uvc_output_header_descriptor {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bNumFormats;
|
||||
__u16 wTotalLength;
|
||||
__u8 bEndpointAddress;
|
||||
__u8 bTerminalLink;
|
||||
__u8 bControlSize;
|
||||
__u8 bmaControls[];
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bNumFormats;
|
||||
__le16 wTotalLength;
|
||||
__u8 bEndpointAddress;
|
||||
__u8 bTerminalLink;
|
||||
__u8 bControlSize;
|
||||
__u8 bmaControls[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_OUTPUT_HEADER_SIZE(n, p) (9+(n*p))
|
||||
@@ -410,15 +410,15 @@ struct uvc_output_header_descriptor {
|
||||
|
||||
#define DECLARE_UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) \
|
||||
struct UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) { \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bNumFormats; \
|
||||
__u16 wTotalLength; \
|
||||
__u8 bEndpointAddress; \
|
||||
__u8 bTerminalLink; \
|
||||
__u8 bControlSize; \
|
||||
__u8 bmaControls[p][n]; \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bNumFormats; \
|
||||
__le16 wTotalLength; \
|
||||
__u8 bEndpointAddress; \
|
||||
__u8 bTerminalLink; \
|
||||
__u8 bControlSize; \
|
||||
__u8 bmaControls[p][n]; \
|
||||
} __attribute__ ((packed))
|
||||
|
||||
/* 3.9.2.6. Color matching descriptor */
|
||||
@@ -473,19 +473,19 @@ struct uvc_format_uncompressed {
|
||||
|
||||
/* Uncompressed Payload - 3.1.2. Uncompressed Video Frame Descriptor */
|
||||
struct uvc_frame_uncompressed {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bFrameIndex;
|
||||
__u8 bmCapabilities;
|
||||
__u16 wWidth;
|
||||
__u16 wHeight;
|
||||
__u32 dwMinBitRate;
|
||||
__u32 dwMaxBitRate;
|
||||
__u32 dwMaxVideoFrameBufferSize;
|
||||
__u32 dwDefaultFrameInterval;
|
||||
__u8 bFrameIntervalType;
|
||||
__u32 dwFrameInterval[];
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bFrameIndex;
|
||||
__u8 bmCapabilities;
|
||||
__le16 wWidth;
|
||||
__le16 wHeight;
|
||||
__le32 dwMinBitRate;
|
||||
__le32 dwMaxBitRate;
|
||||
__le32 dwMaxVideoFrameBufferSize;
|
||||
__le32 dwDefaultFrameInterval;
|
||||
__u8 bFrameIntervalType;
|
||||
__le32 dwFrameInterval[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_FRAME_UNCOMPRESSED_SIZE(n) (26+4*(n))
|
||||
@@ -495,19 +495,19 @@ struct uvc_frame_uncompressed {
|
||||
|
||||
#define DECLARE_UVC_FRAME_UNCOMPRESSED(n) \
|
||||
struct UVC_FRAME_UNCOMPRESSED(n) { \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bFrameIndex; \
|
||||
__u8 bmCapabilities; \
|
||||
__u16 wWidth; \
|
||||
__u16 wHeight; \
|
||||
__u32 dwMinBitRate; \
|
||||
__u32 dwMaxBitRate; \
|
||||
__u32 dwMaxVideoFrameBufferSize; \
|
||||
__u32 dwDefaultFrameInterval; \
|
||||
__u8 bFrameIntervalType; \
|
||||
__u32 dwFrameInterval[n]; \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bFrameIndex; \
|
||||
__u8 bmCapabilities; \
|
||||
__le16 wWidth; \
|
||||
__le16 wHeight; \
|
||||
__le32 dwMinBitRate; \
|
||||
__le32 dwMaxBitRate; \
|
||||
__le32 dwMaxVideoFrameBufferSize; \
|
||||
__le32 dwDefaultFrameInterval; \
|
||||
__u8 bFrameIntervalType; \
|
||||
__le32 dwFrameInterval[n]; \
|
||||
} __attribute__ ((packed))
|
||||
|
||||
/* MJPEG Payload - 3.1.1. MJPEG Video Format Descriptor */
|
||||
@@ -529,19 +529,19 @@ struct uvc_format_mjpeg {
|
||||
|
||||
/* MJPEG Payload - 3.1.2. MJPEG Video Frame Descriptor */
|
||||
struct uvc_frame_mjpeg {
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bFrameIndex;
|
||||
__u8 bmCapabilities;
|
||||
__u16 wWidth;
|
||||
__u16 wHeight;
|
||||
__u32 dwMinBitRate;
|
||||
__u32 dwMaxBitRate;
|
||||
__u32 dwMaxVideoFrameBufferSize;
|
||||
__u32 dwDefaultFrameInterval;
|
||||
__u8 bFrameIntervalType;
|
||||
__u32 dwFrameInterval[];
|
||||
__u8 bLength;
|
||||
__u8 bDescriptorType;
|
||||
__u8 bDescriptorSubType;
|
||||
__u8 bFrameIndex;
|
||||
__u8 bmCapabilities;
|
||||
__le16 wWidth;
|
||||
__le16 wHeight;
|
||||
__le32 dwMinBitRate;
|
||||
__le32 dwMaxBitRate;
|
||||
__le32 dwMaxVideoFrameBufferSize;
|
||||
__le32 dwDefaultFrameInterval;
|
||||
__u8 bFrameIntervalType;
|
||||
__le32 dwFrameInterval[];
|
||||
} __attribute__((__packed__));
|
||||
|
||||
#define UVC_DT_FRAME_MJPEG_SIZE(n) (26+4*(n))
|
||||
@@ -551,19 +551,19 @@ struct uvc_frame_mjpeg {
|
||||
|
||||
#define DECLARE_UVC_FRAME_MJPEG(n) \
|
||||
struct UVC_FRAME_MJPEG(n) { \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bFrameIndex; \
|
||||
__u8 bmCapabilities; \
|
||||
__u16 wWidth; \
|
||||
__u16 wHeight; \
|
||||
__u32 dwMinBitRate; \
|
||||
__u32 dwMaxBitRate; \
|
||||
__u32 dwMaxVideoFrameBufferSize; \
|
||||
__u32 dwDefaultFrameInterval; \
|
||||
__u8 bFrameIntervalType; \
|
||||
__u32 dwFrameInterval[n]; \
|
||||
__u8 bLength; \
|
||||
__u8 bDescriptorType; \
|
||||
__u8 bDescriptorSubType; \
|
||||
__u8 bFrameIndex; \
|
||||
__u8 bmCapabilities; \
|
||||
__le16 wWidth; \
|
||||
__le16 wHeight; \
|
||||
__le32 dwMinBitRate; \
|
||||
__le32 dwMaxBitRate; \
|
||||
__le32 dwMaxVideoFrameBufferSize; \
|
||||
__le32 dwDefaultFrameInterval; \
|
||||
__u8 bFrameIntervalType; \
|
||||
__le32 dwFrameInterval[n]; \
|
||||
} __attribute__ ((packed))
|
||||
|
||||
#endif /* __LINUX_USB_VIDEO_H */
|
||||
|
@@ -402,6 +402,9 @@ enum v4l2_mpeg_video_multi_slice_mode {
|
||||
#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228)
|
||||
#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229)
|
||||
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS (V4L2_CID_MPEG_BASE+250)
|
||||
#define V4L2_CID_MPEG_VIDEO_MPEG2_QUANTIZATION (V4L2_CID_MPEG_BASE+251)
|
||||
|
||||
#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)
|
||||
#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)
|
||||
#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302)
|
||||
@@ -1092,4 +1095,66 @@ enum v4l2_detect_md_mode {
|
||||
#define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)
|
||||
#define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)
|
||||
|
||||
#define V4L2_MPEG2_PICTURE_CODING_TYPE_I 1
|
||||
#define V4L2_MPEG2_PICTURE_CODING_TYPE_P 2
|
||||
#define V4L2_MPEG2_PICTURE_CODING_TYPE_B 3
|
||||
#define V4L2_MPEG2_PICTURE_CODING_TYPE_D 4
|
||||
|
||||
struct v4l2_mpeg2_sequence {
|
||||
/* ISO/IEC 13818-2, ITU-T Rec. H.262: Sequence header */
|
||||
__u16 horizontal_size;
|
||||
__u16 vertical_size;
|
||||
__u32 vbv_buffer_size;
|
||||
|
||||
/* ISO/IEC 13818-2, ITU-T Rec. H.262: Sequence extension */
|
||||
__u8 profile_and_level_indication;
|
||||
__u8 progressive_sequence;
|
||||
__u8 chroma_format;
|
||||
};
|
||||
|
||||
struct v4l2_mpeg2_picture {
|
||||
/* ISO/IEC 13818-2, ITU-T Rec. H.262: Picture header */
|
||||
__u8 picture_coding_type;
|
||||
|
||||
/* ISO/IEC 13818-2, ITU-T Rec. H.262: Picture coding extension */
|
||||
__u8 f_code[2][2];
|
||||
__u8 intra_dc_precision;
|
||||
__u8 picture_structure;
|
||||
__u8 top_field_first;
|
||||
__u8 frame_pred_frame_dct;
|
||||
__u8 concealment_motion_vectors;
|
||||
__u8 q_scale_type;
|
||||
__u8 intra_vlc_format;
|
||||
__u8 alternate_scan;
|
||||
__u8 repeat_first_field;
|
||||
__u8 progressive_frame;
|
||||
};
|
||||
|
||||
struct v4l2_ctrl_mpeg2_slice_params {
|
||||
__u32 bit_size;
|
||||
__u32 data_bit_offset;
|
||||
|
||||
struct v4l2_mpeg2_sequence sequence;
|
||||
struct v4l2_mpeg2_picture picture;
|
||||
|
||||
/* ISO/IEC 13818-2, ITU-T Rec. H.262: Slice */
|
||||
__u8 quantiser_scale_code;
|
||||
|
||||
__u8 backward_ref_index;
|
||||
__u8 forward_ref_index;
|
||||
};
|
||||
|
||||
struct v4l2_ctrl_mpeg2_quantization {
|
||||
/* ISO/IEC 13818-2, ITU-T Rec. H.262: Quant matrix extension */
|
||||
__u8 load_intra_quantiser_matrix;
|
||||
__u8 load_non_intra_quantiser_matrix;
|
||||
__u8 load_chroma_intra_quantiser_matrix;
|
||||
__u8 load_chroma_non_intra_quantiser_matrix;
|
||||
|
||||
__u8 intra_quantiser_matrix[64];
|
||||
__u8 non_intra_quantiser_matrix[64];
|
||||
__u8 chroma_intra_quantiser_matrix[64];
|
||||
__u8 chroma_non_intra_quantiser_matrix[64];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -200,6 +200,7 @@ struct vfio_device_info {
|
||||
#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */
|
||||
#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */
|
||||
#define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */
|
||||
#define VFIO_DEVICE_FLAGS_AP (1 << 5) /* vfio-ap device */
|
||||
__u32 num_regions; /* Max region index + 1 */
|
||||
__u32 num_irqs; /* Max IRQ index + 1 */
|
||||
};
|
||||
@@ -215,6 +216,7 @@ struct vfio_device_info {
|
||||
#define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform"
|
||||
#define VFIO_DEVICE_API_AMBA_STRING "vfio-amba"
|
||||
#define VFIO_DEVICE_API_CCW_STRING "vfio-ccw"
|
||||
#define VFIO_DEVICE_API_AP_STRING "vfio-ap"
|
||||
|
||||
/**
|
||||
* VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
|
||||
@@ -301,6 +303,56 @@ struct vfio_region_info_cap_type {
|
||||
#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)
|
||||
#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)
|
||||
|
||||
#define VFIO_REGION_TYPE_GFX (1)
|
||||
#define VFIO_REGION_SUBTYPE_GFX_EDID (1)
|
||||
|
||||
/**
|
||||
* struct vfio_region_gfx_edid - EDID region layout.
|
||||
*
|
||||
* Set display link state and EDID blob.
|
||||
*
|
||||
* The EDID blob has monitor information such as brand, name, serial
|
||||
* number, physical size, supported video modes and more.
|
||||
*
|
||||
* This special region allows userspace (typically qemu) set a virtual
|
||||
* EDID for the virtual monitor, which allows a flexible display
|
||||
* configuration.
|
||||
*
|
||||
* For the edid blob spec look here:
|
||||
* https://en.wikipedia.org/wiki/Extended_Display_Identification_Data
|
||||
*
|
||||
* On linux systems you can find the EDID blob in sysfs:
|
||||
* /sys/class/drm/${card}/${connector}/edid
|
||||
*
|
||||
* You can use the edid-decode ulility (comes with xorg-x11-utils) to
|
||||
* decode the EDID blob.
|
||||
*
|
||||
* @edid_offset: location of the edid blob, relative to the
|
||||
* start of the region (readonly).
|
||||
* @edid_max_size: max size of the edid blob (readonly).
|
||||
* @edid_size: actual edid size (read/write).
|
||||
* @link_state: display link state (read/write).
|
||||
* VFIO_DEVICE_GFX_LINK_STATE_UP: Monitor is turned on.
|
||||
* VFIO_DEVICE_GFX_LINK_STATE_DOWN: Monitor is turned off.
|
||||
* @max_xres: max display width (0 == no limitation, readonly).
|
||||
* @max_yres: max display height (0 == no limitation, readonly).
|
||||
*
|
||||
* EDID update protocol:
|
||||
* (1) set link-state to down.
|
||||
* (2) update edid blob and size.
|
||||
* (3) set link-state to up.
|
||||
*/
|
||||
struct vfio_region_gfx_edid {
|
||||
__u32 edid_offset;
|
||||
__u32 edid_max_size;
|
||||
__u32 edid_size;
|
||||
__u32 max_xres;
|
||||
__u32 max_yres;
|
||||
__u32 link_state;
|
||||
#define VFIO_DEVICE_GFX_LINK_STATE_UP 1
|
||||
#define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2
|
||||
};
|
||||
|
||||
/*
|
||||
* The MSIX mappable capability informs that MSIX data of a BAR can be mmapped
|
||||
* which allows direct access to non-MSIX registers which happened to be within
|
||||
|
@@ -225,8 +225,8 @@ enum v4l2_colorspace {
|
||||
/* For RGB colorspaces such as produces by most webcams. */
|
||||
V4L2_COLORSPACE_SRGB = 8,
|
||||
|
||||
/* AdobeRGB colorspace */
|
||||
V4L2_COLORSPACE_ADOBERGB = 9,
|
||||
/* opRGB colorspace */
|
||||
V4L2_COLORSPACE_OPRGB = 9,
|
||||
|
||||
/* BT.2020 colorspace, used for UHDTV. */
|
||||
V4L2_COLORSPACE_BT2020 = 10,
|
||||
@@ -258,7 +258,7 @@ enum v4l2_xfer_func {
|
||||
*
|
||||
* V4L2_COLORSPACE_SRGB, V4L2_COLORSPACE_JPEG: V4L2_XFER_FUNC_SRGB
|
||||
*
|
||||
* V4L2_COLORSPACE_ADOBERGB: V4L2_XFER_FUNC_ADOBERGB
|
||||
* V4L2_COLORSPACE_OPRGB: V4L2_XFER_FUNC_OPRGB
|
||||
*
|
||||
* V4L2_COLORSPACE_SMPTE240M: V4L2_XFER_FUNC_SMPTE240M
|
||||
*
|
||||
@@ -269,7 +269,7 @@ enum v4l2_xfer_func {
|
||||
V4L2_XFER_FUNC_DEFAULT = 0,
|
||||
V4L2_XFER_FUNC_709 = 1,
|
||||
V4L2_XFER_FUNC_SRGB = 2,
|
||||
V4L2_XFER_FUNC_ADOBERGB = 3,
|
||||
V4L2_XFER_FUNC_OPRGB = 3,
|
||||
V4L2_XFER_FUNC_SMPTE240M = 4,
|
||||
V4L2_XFER_FUNC_NONE = 5,
|
||||
V4L2_XFER_FUNC_DCI_P3 = 6,
|
||||
@@ -281,7 +281,7 @@ enum v4l2_xfer_func {
|
||||
* This depends on the colorspace.
|
||||
*/
|
||||
#define V4L2_MAP_XFER_FUNC_DEFAULT(colsp) \
|
||||
((colsp) == V4L2_COLORSPACE_ADOBERGB ? V4L2_XFER_FUNC_ADOBERGB : \
|
||||
((colsp) == V4L2_COLORSPACE_OPRGB ? V4L2_XFER_FUNC_OPRGB : \
|
||||
((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_XFER_FUNC_SMPTE240M : \
|
||||
((colsp) == V4L2_COLORSPACE_DCI_P3 ? V4L2_XFER_FUNC_DCI_P3 : \
|
||||
((colsp) == V4L2_COLORSPACE_RAW ? V4L2_XFER_FUNC_NONE : \
|
||||
@@ -295,7 +295,7 @@ enum v4l2_ycbcr_encoding {
|
||||
*
|
||||
* V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M,
|
||||
* V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_SRGB,
|
||||
* V4L2_COLORSPACE_ADOBERGB and V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601
|
||||
* V4L2_COLORSPACE_OPRGB and V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601
|
||||
*
|
||||
* V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709
|
||||
*
|
||||
@@ -382,6 +382,17 @@ enum v4l2_quantization {
|
||||
(((is_rgb_or_hsv) || (colsp) == V4L2_COLORSPACE_JPEG) ? \
|
||||
V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE))
|
||||
|
||||
/*
|
||||
* Deprecated names for opRGB colorspace (IEC 61966-2-5)
|
||||
*
|
||||
* WARNING: Please don't use these deprecated defines in your code, as
|
||||
* there is a chance we have to remove them in the future.
|
||||
*/
|
||||
#ifndef __KERNEL__
|
||||
#define V4L2_COLORSPACE_ADOBERGB V4L2_COLORSPACE_OPRGB
|
||||
#define V4L2_XFER_FUNC_ADOBERGB V4L2_XFER_FUNC_OPRGB
|
||||
#endif
|
||||
|
||||
enum v4l2_priority {
|
||||
V4L2_PRIORITY_UNSET = 0, /* not initialized */
|
||||
V4L2_PRIORITY_BACKGROUND = 1,
|
||||
@@ -635,6 +646,7 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3') /* H263 */
|
||||
#define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */
|
||||
#define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */
|
||||
#define V4L2_PIX_FMT_MPEG2_SLICE v4l2_fourcc('M', 'G', '2', 'S') /* MPEG-2 parsed slice data */
|
||||
#define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 part 2 ES */
|
||||
#define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D') /* Xvid */
|
||||
#define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */
|
||||
@@ -676,6 +688,7 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
||||
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
||||
#define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel Planar Greyscale 10-bit and Depth 16-bit */
|
||||
#define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') /* Sunxi Tiled NV12 Format */
|
||||
|
||||
/* 10bit raw bayer packed, 32 bytes for every 25 pixels, last LSB 6 bits unused */
|
||||
#define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b') /* IPU3 packed 10-bit BGGR bayer */
|
||||
@@ -703,6 +716,7 @@ struct v4l2_pix_format {
|
||||
#define V4L2_META_FMT_VSP1_HGO v4l2_fourcc('V', 'S', 'P', 'H') /* R-Car VSP1 1-D Histogram */
|
||||
#define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T') /* R-Car VSP1 2-D Histogram */
|
||||
#define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H') /* UVC Payload Header metadata */
|
||||
#define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */
|
||||
|
||||
/* priv field value to indicates that subsequent fields are valid. */
|
||||
#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
|
||||
@@ -856,9 +870,16 @@ struct v4l2_requestbuffers {
|
||||
__u32 count;
|
||||
__u32 type; /* enum v4l2_buf_type */
|
||||
__u32 memory; /* enum v4l2_memory */
|
||||
__u32 reserved[2];
|
||||
__u32 capabilities;
|
||||
__u32 reserved[1];
|
||||
};
|
||||
|
||||
/* capabilities for struct v4l2_requestbuffers and v4l2_create_buffers */
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MMAP (1 << 0)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_USERPTR (1 << 1)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_DMABUF (1 << 2)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_REQUESTS (1 << 3)
|
||||
|
||||
/**
|
||||
* struct v4l2_plane - plane info for multi-planar buffers
|
||||
* @bytesused: number of bytes occupied by data in the plane (payload)
|
||||
@@ -917,6 +938,7 @@ struct v4l2_plane {
|
||||
* @length: size in bytes of the buffer (NOT its payload) for single-plane
|
||||
* buffers (when type != *_MPLANE); number of elements in the
|
||||
* planes array for multi-plane buffers
|
||||
* @request_fd: fd of the request that this buffer should use
|
||||
*
|
||||
* Contains data exchanged by application and driver using one of the Streaming
|
||||
* I/O methods.
|
||||
@@ -941,7 +963,10 @@ struct v4l2_buffer {
|
||||
} m;
|
||||
__u32 length;
|
||||
__u32 reserved2;
|
||||
__u32 reserved;
|
||||
union {
|
||||
__s32 request_fd;
|
||||
__u32 reserved;
|
||||
};
|
||||
};
|
||||
|
||||
/* Flags for 'flags' field */
|
||||
@@ -959,6 +984,8 @@ struct v4l2_buffer {
|
||||
#define V4L2_BUF_FLAG_BFRAME 0x00000020
|
||||
/* Buffer is ready, but the data contained within is corrupted. */
|
||||
#define V4L2_BUF_FLAG_ERROR 0x00000040
|
||||
/* Buffer is added to an unqueued request */
|
||||
#define V4L2_BUF_FLAG_IN_REQUEST 0x00000080
|
||||
/* timecode field is valid */
|
||||
#define V4L2_BUF_FLAG_TIMECODE 0x00000100
|
||||
/* Buffer is prepared for queuing */
|
||||
@@ -977,6 +1004,8 @@ struct v4l2_buffer {
|
||||
#define V4L2_BUF_FLAG_TSTAMP_SRC_SOE 0x00010000
|
||||
/* mem2mem encoder/decoder */
|
||||
#define V4L2_BUF_FLAG_LAST 0x00100000
|
||||
/* request_fd is valid */
|
||||
#define V4L2_BUF_FLAG_REQUEST_FD 0x00800000
|
||||
|
||||
/**
|
||||
* struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
|
||||
@@ -1400,6 +1429,13 @@ struct v4l2_bt_timings {
|
||||
* InfoFrame).
|
||||
*/
|
||||
#define V4L2_DV_FL_HAS_HDMI_VIC (1 << 8)
|
||||
/*
|
||||
* CEA-861 specific: only valid for video receivers.
|
||||
* If set, then HW can detect the difference between regular FPS and
|
||||
* 1000/1001 FPS. Note: This flag is only valid for HDMI VIC codes with
|
||||
* the V4L2_DV_FL_CAN_REDUCE_FPS flag set.
|
||||
*/
|
||||
#define V4L2_DV_FL_CAN_DETECT_REDUCED_FPS (1 << 9)
|
||||
|
||||
/* A few useful defines to calculate the total blanking and frame sizes */
|
||||
#define V4L2_DV_BT_BLANKING_WIDTH(bt) \
|
||||
@@ -1586,6 +1622,8 @@ struct v4l2_ext_control {
|
||||
__u8 __user *p_u8;
|
||||
__u16 __user *p_u16;
|
||||
__u32 __user *p_u32;
|
||||
struct v4l2_ctrl_mpeg2_slice_params __user *p_mpeg2_slice_params;
|
||||
struct v4l2_ctrl_mpeg2_quantization __user *p_mpeg2_quantization;
|
||||
void __user *ptr;
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
@@ -1599,7 +1637,8 @@ struct v4l2_ext_controls {
|
||||
};
|
||||
__u32 count;
|
||||
__u32 error_idx;
|
||||
__u32 reserved[2];
|
||||
__s32 request_fd;
|
||||
__u32 reserved[1];
|
||||
struct v4l2_ext_control *controls;
|
||||
};
|
||||
|
||||
@@ -1612,6 +1651,7 @@ struct v4l2_ext_controls {
|
||||
#define V4L2_CTRL_MAX_DIMS (4)
|
||||
#define V4L2_CTRL_WHICH_CUR_VAL 0
|
||||
#define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000
|
||||
#define V4L2_CTRL_WHICH_REQUEST_VAL 0x0f010000
|
||||
|
||||
enum v4l2_ctrl_type {
|
||||
V4L2_CTRL_TYPE_INTEGER = 1,
|
||||
@@ -1629,6 +1669,8 @@ enum v4l2_ctrl_type {
|
||||
V4L2_CTRL_TYPE_U8 = 0x0100,
|
||||
V4L2_CTRL_TYPE_U16 = 0x0101,
|
||||
V4L2_CTRL_TYPE_U32 = 0x0102,
|
||||
V4L2_CTRL_TYPE_MPEG2_SLICE_PARAMS = 0x0103,
|
||||
V4L2_CTRL_TYPE_MPEG2_QUANTIZATION = 0x0104,
|
||||
};
|
||||
|
||||
/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
|
||||
@@ -2302,6 +2344,7 @@ struct v4l2_dbg_chip_info {
|
||||
* return: number of created buffers
|
||||
* @memory: enum v4l2_memory; buffer memory type
|
||||
* @format: frame format, for which buffers are requested
|
||||
* @capabilities: capabilities of this buffer type.
|
||||
* @reserved: future extensions
|
||||
*/
|
||||
struct v4l2_create_buffers {
|
||||
@@ -2309,7 +2352,8 @@ struct v4l2_create_buffers {
|
||||
__u32 count;
|
||||
__u32 memory;
|
||||
struct v4l2_format format;
|
||||
__u32 reserved[8];
|
||||
__u32 capabilities;
|
||||
__u32 reserved[7];
|
||||
};
|
||||
|
||||
/*
|
||||
|
@@ -34,15 +34,23 @@
|
||||
#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */
|
||||
#define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */
|
||||
#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */
|
||||
#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 /* VQ to report free pages */
|
||||
#define VIRTIO_BALLOON_F_PAGE_POISON 4 /* Guest is using page poisoning */
|
||||
|
||||
/* Size of a PFN in the balloon interface. */
|
||||
#define VIRTIO_BALLOON_PFN_SHIFT 12
|
||||
|
||||
#define VIRTIO_BALLOON_CMD_ID_STOP 0
|
||||
#define VIRTIO_BALLOON_CMD_ID_DONE 1
|
||||
struct virtio_balloon_config {
|
||||
/* Number of pages host wants Guest to give up. */
|
||||
__u32 num_pages;
|
||||
/* Number of pages we've actually got in balloon. */
|
||||
__u32 actual;
|
||||
/* Free page report command id, readonly by guest */
|
||||
__u32 free_page_report_cmd_id;
|
||||
/* Stores PAGE_POISON if page poisoning is in use */
|
||||
__u32 poison_val;
|
||||
};
|
||||
|
||||
#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */
|
||||
|
@@ -763,10 +763,28 @@ struct ib_uverbs_sge {
|
||||
__u32 lkey;
|
||||
};
|
||||
|
||||
enum ib_uverbs_wr_opcode {
|
||||
IB_UVERBS_WR_RDMA_WRITE = 0,
|
||||
IB_UVERBS_WR_RDMA_WRITE_WITH_IMM = 1,
|
||||
IB_UVERBS_WR_SEND = 2,
|
||||
IB_UVERBS_WR_SEND_WITH_IMM = 3,
|
||||
IB_UVERBS_WR_RDMA_READ = 4,
|
||||
IB_UVERBS_WR_ATOMIC_CMP_AND_SWP = 5,
|
||||
IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = 6,
|
||||
IB_UVERBS_WR_LOCAL_INV = 7,
|
||||
IB_UVERBS_WR_BIND_MW = 8,
|
||||
IB_UVERBS_WR_SEND_WITH_INV = 9,
|
||||
IB_UVERBS_WR_TSO = 10,
|
||||
IB_UVERBS_WR_RDMA_READ_WITH_INV = 11,
|
||||
IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = 12,
|
||||
IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = 13,
|
||||
/* Review enum ib_wr_opcode before modifying this */
|
||||
};
|
||||
|
||||
struct ib_uverbs_send_wr {
|
||||
__aligned_u64 wr_id;
|
||||
__u32 num_sge;
|
||||
__u32 opcode;
|
||||
__u32 opcode; /* see enum ib_uverbs_wr_opcode */
|
||||
__u32 send_flags;
|
||||
union {
|
||||
__be32 imm_data;
|
||||
|
@@ -45,6 +45,9 @@ enum {
|
||||
MLX5_QP_FLAG_BFREG_INDEX = 1 << 3,
|
||||
MLX5_QP_FLAG_TYPE_DCT = 1 << 4,
|
||||
MLX5_QP_FLAG_TYPE_DCI = 1 << 5,
|
||||
MLX5_QP_FLAG_TIR_ALLOW_SELF_LB_UC = 1 << 6,
|
||||
MLX5_QP_FLAG_TIR_ALLOW_SELF_LB_MC = 1 << 7,
|
||||
MLX5_QP_FLAG_ALLOW_SCATTER_CQE = 1 << 8,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -349,9 +352,22 @@ struct mlx5_ib_create_qp_rss {
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
enum mlx5_ib_create_qp_resp_mask {
|
||||
MLX5_IB_CREATE_QP_RESP_MASK_TIRN = 1UL << 0,
|
||||
MLX5_IB_CREATE_QP_RESP_MASK_TISN = 1UL << 1,
|
||||
MLX5_IB_CREATE_QP_RESP_MASK_RQN = 1UL << 2,
|
||||
MLX5_IB_CREATE_QP_RESP_MASK_SQN = 1UL << 3,
|
||||
};
|
||||
|
||||
struct mlx5_ib_create_qp_resp {
|
||||
__u32 bfreg_index;
|
||||
__u32 reserved;
|
||||
__u32 comp_mask;
|
||||
__u32 tirn;
|
||||
__u32 tisn;
|
||||
__u32 rqn;
|
||||
__u32 sqn;
|
||||
__u32 reserved1;
|
||||
};
|
||||
|
||||
struct mlx5_ib_alloc_mw {
|
||||
|
@@ -125,6 +125,7 @@ enum mlx5_ib_flow_matcher_create_attrs {
|
||||
MLX5_IB_ATTR_FLOW_MATCHER_MATCH_MASK,
|
||||
MLX5_IB_ATTR_FLOW_MATCHER_FLOW_TYPE,
|
||||
MLX5_IB_ATTR_FLOW_MATCHER_MATCH_CRITERIA,
|
||||
MLX5_IB_ATTR_FLOW_MATCHER_FLOW_FLAGS,
|
||||
};
|
||||
|
||||
enum mlx5_ib_flow_matcher_destroy_attrs {
|
||||
@@ -155,6 +156,8 @@ enum mlx5_ib_create_flow_attrs {
|
||||
MLX5_IB_ATTR_CREATE_FLOW_DEST_QP,
|
||||
MLX5_IB_ATTR_CREATE_FLOW_DEST_DEVX,
|
||||
MLX5_IB_ATTR_CREATE_FLOW_MATCHER,
|
||||
MLX5_IB_ATTR_CREATE_FLOW_ARR_FLOW_ACTIONS,
|
||||
MLX5_IB_ATTR_CREATE_FLOW_TAG,
|
||||
};
|
||||
|
||||
enum mlx5_ib_destoy_flow_attrs {
|
||||
@@ -166,4 +169,22 @@ enum mlx5_ib_flow_methods {
|
||||
MLX5_IB_METHOD_DESTROY_FLOW,
|
||||
};
|
||||
|
||||
enum mlx5_ib_flow_action_methods {
|
||||
MLX5_IB_METHOD_FLOW_ACTION_CREATE_MODIFY_HEADER = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_METHOD_FLOW_ACTION_CREATE_PACKET_REFORMAT,
|
||||
};
|
||||
|
||||
enum mlx5_ib_create_flow_action_create_modify_header_attrs {
|
||||
MLX5_IB_ATTR_CREATE_MODIFY_HEADER_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_ATTR_CREATE_MODIFY_HEADER_ACTIONS_PRM,
|
||||
MLX5_IB_ATTR_CREATE_MODIFY_HEADER_FT_TYPE,
|
||||
};
|
||||
|
||||
enum mlx5_ib_create_flow_action_create_packet_reformat_attrs {
|
||||
MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
|
||||
MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_TYPE,
|
||||
MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_FT_TYPE,
|
||||
MLX5_IB_ATTR_CREATE_PACKET_REFORMAT_DATA_BUF,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -39,5 +39,17 @@ enum mlx5_ib_uapi_flow_action_flags {
|
||||
MLX5_IB_UAPI_FLOW_ACTION_FLAGS_REQUIRE_METADATA = 1 << 0,
|
||||
};
|
||||
|
||||
enum mlx5_ib_uapi_flow_table_type {
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX = 0x0,
|
||||
MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX = 0x1,
|
||||
};
|
||||
|
||||
enum mlx5_ib_uapi_flow_action_packet_reformat_type {
|
||||
MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TUNNEL_TO_L2 = 0x0,
|
||||
MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L2_TUNNEL = 0x1,
|
||||
MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L3_TUNNEL_TO_L2 = 0x2,
|
||||
MLX5_IB_UAPI_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL = 0x3,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -227,8 +227,9 @@ enum rdma_nldev_command {
|
||||
RDMA_NLDEV_CMD_UNSPEC,
|
||||
|
||||
RDMA_NLDEV_CMD_GET, /* can dump */
|
||||
RDMA_NLDEV_CMD_SET,
|
||||
|
||||
/* 2 - 4 are free to use */
|
||||
/* 3 - 4 are free to use */
|
||||
|
||||
RDMA_NLDEV_CMD_PORT_GET = 5, /* can dump */
|
||||
|
||||
|
@@ -53,7 +53,7 @@ enum {
|
||||
|
||||
struct ib_uverbs_attr {
|
||||
__u16 attr_id; /* command specific type attribute */
|
||||
__u16 len; /* only for pointers */
|
||||
__u16 len; /* only for pointers and IDRs array */
|
||||
__u16 flags; /* combination of UVERBS_ATTR_F_XXXX */
|
||||
union {
|
||||
struct {
|
||||
@@ -63,7 +63,10 @@ struct ib_uverbs_attr {
|
||||
__u16 reserved;
|
||||
} attr_data;
|
||||
union {
|
||||
/* Used by PTR_IN/OUT, ENUM_IN and IDR */
|
||||
/*
|
||||
* ptr to command, inline data, idr/fd or
|
||||
* ptr to __u32 array of IDRs
|
||||
*/
|
||||
__aligned_u64 data;
|
||||
/* Used by FD_IN and FD_OUT */
|
||||
__s64 data_s64;
|
||||
|
106
include/uapi/scsi/scsi_bsg_ufs.h
Normal file
106
include/uapi/scsi/scsi_bsg_ufs.h
Normal file
@@ -0,0 +1,106 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* UFS Transport SGIO v4 BSG Message Support
|
||||
*
|
||||
* Copyright (C) 2011-2013 Samsung India Software Operations
|
||||
* Copyright (C) 2018 Western Digital Corporation
|
||||
*/
|
||||
#ifndef SCSI_BSG_UFS_H
|
||||
#define SCSI_BSG_UFS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
/*
|
||||
* This file intended to be included by both kernel and user space
|
||||
*/
|
||||
|
||||
#define UFS_CDB_SIZE 16
|
||||
#define UPIU_TRANSACTION_UIC_CMD 0x1F
|
||||
/* uic commands are 4DW long, per UFSHCI V2.1 paragraph 5.6.1 */
|
||||
#define UIC_CMD_SIZE (sizeof(__u32) * 4)
|
||||
|
||||
/**
|
||||
* struct utp_upiu_header - UPIU header structure
|
||||
* @dword_0: UPIU header DW-0
|
||||
* @dword_1: UPIU header DW-1
|
||||
* @dword_2: UPIU header DW-2
|
||||
*/
|
||||
struct utp_upiu_header {
|
||||
__be32 dword_0;
|
||||
__be32 dword_1;
|
||||
__be32 dword_2;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct utp_upiu_query - upiu request buffer structure for
|
||||
* query request.
|
||||
* @opcode: command to perform B-0
|
||||
* @idn: a value that indicates the particular type of data B-1
|
||||
* @index: Index to further identify data B-2
|
||||
* @selector: Index to further identify data B-3
|
||||
* @reserved_osf: spec reserved field B-4,5
|
||||
* @length: number of descriptor bytes to read/write B-6,7
|
||||
* @value: Attribute value to be written DW-5
|
||||
* @reserved: spec reserved DW-6,7
|
||||
*/
|
||||
struct utp_upiu_query {
|
||||
__u8 opcode;
|
||||
__u8 idn;
|
||||
__u8 index;
|
||||
__u8 selector;
|
||||
__be16 reserved_osf;
|
||||
__be16 length;
|
||||
__be32 value;
|
||||
__be32 reserved[2];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct utp_upiu_cmd - Command UPIU structure
|
||||
* @data_transfer_len: Data Transfer Length DW-3
|
||||
* @cdb: Command Descriptor Block CDB DW-4 to DW-7
|
||||
*/
|
||||
struct utp_upiu_cmd {
|
||||
__be32 exp_data_transfer_len;
|
||||
__u8 cdb[UFS_CDB_SIZE];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct utp_upiu_req - general upiu request structure
|
||||
* @header:UPIU header structure DW-0 to DW-2
|
||||
* @sc: fields structure for scsi command DW-3 to DW-7
|
||||
* @qr: fields structure for query request DW-3 to DW-7
|
||||
*/
|
||||
struct utp_upiu_req {
|
||||
struct utp_upiu_header header;
|
||||
union {
|
||||
struct utp_upiu_cmd sc;
|
||||
struct utp_upiu_query qr;
|
||||
struct utp_upiu_query tr;
|
||||
/* use utp_upiu_query to host the 4 dwords of uic command */
|
||||
struct utp_upiu_query uc;
|
||||
};
|
||||
};
|
||||
|
||||
/* request (CDB) structure of the sg_io_v4 */
|
||||
struct ufs_bsg_request {
|
||||
__u32 msgcode;
|
||||
struct utp_upiu_req upiu_req;
|
||||
};
|
||||
|
||||
/* response (request sense data) structure of the sg_io_v4 */
|
||||
struct ufs_bsg_reply {
|
||||
/*
|
||||
* The completion result. Result exists in two forms:
|
||||
* if negative, it is an -Exxx system errno value. There will
|
||||
* be no further reply information supplied.
|
||||
* else, it's the 4-byte scsi error result, with driver, host,
|
||||
* msg and status fields. The per-msgcode reply structure
|
||||
* will contain valid data.
|
||||
*/
|
||||
__u32 result;
|
||||
|
||||
/* If there was reply_payload, how much was received? */
|
||||
__u32 reply_payload_rcv_len;
|
||||
|
||||
struct utp_upiu_req upiu_rsp;
|
||||
};
|
||||
#endif /* UFS_BSG_H */
|
@@ -752,7 +752,7 @@ struct snd_timer_info {
|
||||
#define SNDRV_TIMER_PSFLG_EARLY_EVENT (1<<2) /* write early event to the poll queue */
|
||||
|
||||
struct snd_timer_params {
|
||||
unsigned int flags; /* flags - SNDRV_MIXER_PSFLG_* */
|
||||
unsigned int flags; /* flags - SNDRV_TIMER_PSFLG_* */
|
||||
unsigned int ticks; /* requested resolution in ticks */
|
||||
unsigned int queue_size; /* total size of queue (32-1024) */
|
||||
unsigned int reserved0; /* reserved, was: failure locations */
|
||||
|
Reference in New Issue
Block a user