History

Merge drm/drm-next into drm-misc-next

Let's kick-off this release cycle.

Maxime Ripard committed 4 years ago

Commit a140a6a2 parents 28743e2 9abf23111870 files · +521243 −187428Browse files

Showing the changes to include/uapi (83 of 11870 files). Show all

Unified · Split

83 files
  1. include/uapi/asm-generic/hugetlb_encode.h +13 −13
  2. include/uapi/asm-generic/mman-common.h +2 −0
  3. include/uapi/drm/amdgpu_drm.h +8 −0
  4. include/uapi/linux/bpf.h +159 −25
  5. include/uapi/linux/btrfs.h +6 −0
  6. include/uapi/linux/btrfs_tree.h +4 −0
  7. include/uapi/linux/can.h +53 −2
  8. include/uapi/linux/can/raw.h +1 −0
  9. include/uapi/linux/counter.h +8 −0
  10. include/uapi/linux/dlm.h +0 −1
  11. include/uapi/linux/dn.h +0 −149
  12. include/uapi/linux/dw100.h +14 −0
  13. include/uapi/linux/ethtool.h +61 −2
  14. include/uapi/linux/ethtool_netlink.h +17 −0
  15. include/uapi/linux/fuse.h +5 −1
  16. include/uapi/linux/hid.h +20 −6
  17. include/uapi/linux/if_ether.h +1 −0
  18. include/uapi/linux/if_link.h +12 −0
  19. include/uapi/linux/if_macsec.h +2 −0
  20. include/uapi/linux/if_tun.h +2 −0
  21. include/uapi/linux/iio/types.h +9 −1
  22. include/uapi/linux/in.h +8 −14
  23. include/uapi/linux/input-event-codes.h +1 −0
  24. include/uapi/linux/io_uring.h +31 −22
  25. include/uapi/linux/kvm.h +1 −0
  26. include/uapi/linux/l2tp.h +0 −2
  27. include/uapi/linux/landlock.h +5 −5
  28. include/uapi/linux/lwtunnel.h +10 −0
  29. include/uapi/linux/netfilter.h +2 −0
  30. include/uapi/linux/netfilter/ipset/ip_set.h +0 −4
  31. include/uapi/linux/netfilter/xt_AUDIT.h +0 −4
  32. include/uapi/linux/netfilter/xt_connmark.h +4 −9
  33. include/uapi/linux/netfilter/xt_osf.h +0 −14
  34. include/uapi/linux/netfilter_decnet.h +0 −72
  35. include/uapi/linux/netlink.h +24 −7
  36. include/uapi/linux/nl80211.h +22 −3
  37. include/uapi/linux/openvswitch.h +3 −0
  38. include/uapi/linux/perf_event.h +52 −5
  39. include/uapi/linux/pkt_cls.h +2 −0
  40. include/uapi/linux/pkt_sched.h +11 −0
  41. include/uapi/linux/psci.h +14 −0
  42. include/uapi/linux/sed-opal.h +13 −0
  43. include/uapi/linux/seg6_local.h +24 −0
  44. include/uapi/linux/stat.h +3 −1
  45. include/uapi/linux/tc_act/tc_bpf.h +0 −5
  46. include/uapi/linux/tc_act/tc_skbedit.h +0 −13
  47. include/uapi/linux/tc_act/tc_skbmod.h +1 −6
  48. include/uapi/linux/tc_act/tc_tunnel_key.h +0 −5
  49. include/uapi/linux/tc_act/tc_vlan.h +0 −5
  50. include/uapi/linux/tls.h +30 −0
  51. include/uapi/linux/ublk_cmd.h +7 −1
  52. include/uapi/linux/usbip.h +26 −0
  53. include/uapi/linux/userfaultfd.h +4 −0
  54. include/uapi/linux/v4l2-controls.h +7 −1
  55. include/uapi/linux/vdpa.h +6 −0
  56. include/uapi/linux/vfio.h +142 −0
  57. include/uapi/linux/videodev2.h +6 −1
  58. include/uapi/linux/virtio_blk.h +19 −0
  59. include/uapi/linux/virtio_net.h +7 −7
  60. include/uapi/linux/xfrm.h +1 −1
  61. include/uapi/misc/habanalabs.h +112 −25
  62. include/uapi/misc/uacce/hisi_qm.h +16 −1
  63. include/uapi/mtd/mtd-abi.h +59 −5
  64. include/uapi/mtd/ubi-user.h +7 −1
  65. include/uapi/rdma/efa-abi.h +3 −1
  66. include/uapi/rdma/mlx5-abi.h +1 −0
  67. include/uapi/rdma/mlx5_user_ioctl_cmds.h +1 −0
  68. include/uapi/rdma/rdma_user_rxe.h +2 −2
  69. include/uapi/scsi/scsi_netlink_fc.h +5 −2
  70. include/uapi/sound/asequencer.h +0 −16
  71. include/uapi/sound/asoc.h +0 −4
  72. include/uapi/sound/asound.h +0 −16
  73. include/uapi/sound/asound_fm.h +0 −15
  74. include/uapi/sound/compress_offload.h +0 −17
  75. include/uapi/sound/compress_params.h +2 −36
  76. include/uapi/sound/emu10k1.h +0 −16
  77. include/uapi/sound/hdsp.h +0 −14
  78. include/uapi/sound/hdspm.h +0 −15
  79. include/uapi/sound/sb16_csp.h +0 −15
  80. include/uapi/sound/sfnt_info.h +0 −15
  81. include/uapi/sound/snd_sst_tokens.h +0 −10
  82. include/uapi/sound/tlv.h +0 −11
  83. include/uapi/sound/usb_stream.h +0 −14
include/uapi/asm-generic/hugetlb_encode.h+13−13
@@ -20,18 +20,18 @@ · 19 unmodified lines
20#define HUGETLB_FLAG_ENCODE_SHIFT 2620#define HUGETLB_FLAG_ENCODE_SHIFT 26
21#define HUGETLB_FLAG_ENCODE_MASK 0x3f21#define HUGETLB_FLAG_ENCODE_MASK 0x3f
22 22
23#define HUGETLB_FLAG_ENCODE_16KB (14 << HUGETLB_FLAG_ENCODE_SHIFT)23#define HUGETLB_FLAG_ENCODE_16KB (14U << HUGETLB_FLAG_ENCODE_SHIFT)
24#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT)24#define HUGETLB_FLAG_ENCODE_64KB (16U << HUGETLB_FLAG_ENCODE_SHIFT)
25#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT)25#define HUGETLB_FLAG_ENCODE_512KB (19U << HUGETLB_FLAG_ENCODE_SHIFT)
26#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT)26#define HUGETLB_FLAG_ENCODE_1MB (20U << HUGETLB_FLAG_ENCODE_SHIFT)
27#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT)27#define HUGETLB_FLAG_ENCODE_2MB (21U << HUGETLB_FLAG_ENCODE_SHIFT)
28#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT)28#define HUGETLB_FLAG_ENCODE_8MB (23U << HUGETLB_FLAG_ENCODE_SHIFT)
29#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT)29#define HUGETLB_FLAG_ENCODE_16MB (24U << HUGETLB_FLAG_ENCODE_SHIFT)
30#define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT)30#define HUGETLB_FLAG_ENCODE_32MB (25U << HUGETLB_FLAG_ENCODE_SHIFT)
31#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT)31#define HUGETLB_FLAG_ENCODE_256MB (28U << HUGETLB_FLAG_ENCODE_SHIFT)
32#define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT)32#define HUGETLB_FLAG_ENCODE_512MB (29U << HUGETLB_FLAG_ENCODE_SHIFT)
33#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT)33#define HUGETLB_FLAG_ENCODE_1GB (30U << HUGETLB_FLAG_ENCODE_SHIFT)
34#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT)34#define HUGETLB_FLAG_ENCODE_2GB (31U << HUGETLB_FLAG_ENCODE_SHIFT)
35#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT)35#define HUGETLB_FLAG_ENCODE_16GB (34U << HUGETLB_FLAG_ENCODE_SHIFT)
36 36
37#endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */37#endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */
include/uapi/asm-generic/mman-common.h+2−0
@@ -77,6 +77,8 @@ · 76 unmodified lines
77 77
78#define MADV_DONTNEED_LOCKED 24 /* like DONTNEED, but drop locked pages too */78#define MADV_DONTNEED_LOCKED 24 /* like DONTNEED, but drop locked pages too */
79 79
80#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */
81
80/* compatibility flags */82/* compatibility flags */
81#define MAP_FILE 083#define MAP_FILE 0
82 84
include/uapi/drm/amdgpu_drm.h+8−0
@@ -755,6 +755,14 @@ struct drm_amdgpu_cs_chunk_data { · 754 unmodified lines
755 #define AMDGPU_INFO_FW_TOC 0x15755 #define AMDGPU_INFO_FW_TOC 0x15
756 /* Subquery id: Query CAP firmware version */756 /* Subquery id: Query CAP firmware version */
757 #define AMDGPU_INFO_FW_CAP 0x16757 #define AMDGPU_INFO_FW_CAP 0x16
758 /* Subquery id: Query GFX RLCP firmware version */
759 #define AMDGPU_INFO_FW_GFX_RLCP 0x17
760 /* Subquery id: Query GFX RLCV firmware version */
761 #define AMDGPU_INFO_FW_GFX_RLCV 0x18
762 /* Subquery id: Query MES_KIQ firmware version */
763 #define AMDGPU_INFO_FW_MES_KIQ 0x19
764 /* Subquery id: Query MES firmware version */
765 #define AMDGPU_INFO_FW_MES 0x1a
758 766
759/* number of bytes moved for TTM migration */767/* number of bytes moved for TTM migration */
760#define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f768#define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f
include/uapi/linux/bpf.h+159−25
@@ -79,7 +79,7 @@ struct bpf_insn { · 78 unmodified lines
79/* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */79/* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */
80struct bpf_lpm_trie_key {80struct bpf_lpm_trie_key {
81 __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */81 __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */
82 __u8 data[]; /* Arbitrary size */82 __u8 data[0]; /* Arbitrary size */
83};83};
84 84
85struct bpf_cgroup_storage_key {85struct bpf_cgroup_storage_key {
@@ -87,10 +87,35 @@ struct bpf_cgroup_storage_key { · 1 unmodified line
87 __u32 attach_type; /* program attach type (enum bpf_attach_type) */87 __u32 attach_type; /* program attach type (enum bpf_attach_type) */
88};88};
89 89
90enum bpf_cgroup_iter_order {
91 BPF_CGROUP_ITER_ORDER_UNSPEC = 0,
92 BPF_CGROUP_ITER_SELF_ONLY, /* process only a single object. */
93 BPF_CGROUP_ITER_DESCENDANTS_PRE, /* walk descendants in pre-order. */
94 BPF_CGROUP_ITER_DESCENDANTS_POST, /* walk descendants in post-order. */
95 BPF_CGROUP_ITER_ANCESTORS_UP, /* walk ancestors upward. */
96};
97
90union bpf_iter_link_info {98union bpf_iter_link_info {
91 struct {99 struct {
92 __u32 map_fd;100 __u32 map_fd;
93 } map;101 } map;
102 struct {
103 enum bpf_cgroup_iter_order order;
104
105 /* At most one of cgroup_fd and cgroup_id can be non-zero. If
106 * both are zero, the walk starts from the default cgroup v2
107 * root. For walking v1 hierarchy, one should always explicitly
108 * specify cgroup_fd.
109 */
110 __u32 cgroup_fd;
111 __u64 cgroup_id;
112 } cgroup;
113 /* Parameters of task iterators. */
114 struct {
115 __u32 tid;
116 __u32 pid;
117 __u32 pid_fd;
118 } task;
94};119};
95 120
96/* BPF syscall commands, see bpf(2) man-page for more details. */121/* BPF syscall commands, see bpf(2) man-page for more details. */
@@ -909,6 +934,7 @@ enum bpf_map_type { · 812 unmodified lines
909 BPF_MAP_TYPE_INODE_STORAGE,934 BPF_MAP_TYPE_INODE_STORAGE,
910 BPF_MAP_TYPE_TASK_STORAGE,935 BPF_MAP_TYPE_TASK_STORAGE,
911 BPF_MAP_TYPE_BLOOM_FILTER,936 BPF_MAP_TYPE_BLOOM_FILTER,
937 BPF_MAP_TYPE_USER_RINGBUF,
912};938};
913 939
914/* Note that tracing related programs such as940/* Note that tracing related programs such as
@@ -1233,7 +1259,7 @@ enum { · 318 unmodified lines
1233 1259
1234/* Query effective (directly attached + inherited from ancestor cgroups)1260/* Query effective (directly attached + inherited from ancestor cgroups)
1235 * programs that will be executed for events within a cgroup.1261 * programs that will be executed for events within a cgroup.
1236 * attach_flags with this flag are returned only for directly attached programs.1262 * attach_flags with this flag are always returned 0.
1237 */1263 */
1238#define BPF_F_QUERY_EFFECTIVE (1U << 0)1264#define BPF_F_QUERY_EFFECTIVE (1U << 0)
1239 1265
@@ -1432,7 +1458,10 @@ union bpf_attr { · 192 unmodified lines
1432 __u32 attach_flags;1458 __u32 attach_flags;
1433 __aligned_u64 prog_ids;1459 __aligned_u64 prog_ids;
1434 __u32 prog_cnt;1460 __u32 prog_cnt;
1435 __aligned_u64 prog_attach_flags; /* output: per-program attach_flags */1461 /* output: per-program attach_flags.
1462 * not allowed to be set during effective query.
1463 */
1464 __aligned_u64 prog_attach_flags;
1436 } query;1465 } query;
1437 1466
1438 struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */1467 struct { /* anonymous struct used by BPF_RAW_TRACEPOINT_OPEN command */
@@ -2573,10 +2602,12 @@ union bpf_attr { · 1134 unmodified lines
2573 * There are two supported modes at this time:2602 * There are two supported modes at this time:
2574 *2603 *
2575 * * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer2604 * * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer
2576 * (room space is added or removed below the layer 2 header).2605 * (room space is added or removed between the layer 2 and
2606 * layer 3 headers).
2577 *2607 *
2578 * * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer2608 * * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer
2579 * (room space is added or removed below the layer 3 header).2609 * (room space is added or removed between the layer 3 and
2610 * layer 4 headers).
2580 *2611 *
2581 * The following flags are supported at this time:2612 * The following flags are supported at this time:
2582 *2613 *
@@ -3008,8 +3039,18 @@ union bpf_attr { · 425 unmodified lines
3008 * **BPF_F_USER_STACK**3039 * **BPF_F_USER_STACK**
3009 * Collect a user space stack instead of a kernel stack.3040 * Collect a user space stack instead of a kernel stack.
3010 * **BPF_F_USER_BUILD_ID**3041 * **BPF_F_USER_BUILD_ID**
3011 * Collect buildid+offset instead of ips for user stack,3042 * Collect (build_id, file_offset) instead of ips for user
3012 * only valid if **BPF_F_USER_STACK** is also specified.3043 * stack, only valid if **BPF_F_USER_STACK** is also
3044 * specified.
3045 *
3046 * *file_offset* is an offset relative to the beginning
3047 * of the executable or shared object file backing the vma
3048 * which the *ip* falls in. It is *not* an offset relative
3049 * to that object's base address. Accordingly, it must be
3050 * adjusted by adding (sh_addr - sh_offset), where
3051 * sh_{addr,offset} correspond to the executable section
3052 * containing *file_offset* in the object, for comparisons
3053 * to symbols' st_value to be valid.
3013 *3054 *
3014 * **bpf_get_stack**\ () can collect up to3055 * **bpf_get_stack**\ () can collect up to
3015 * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject3056 * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject
@@ -4425,7 +4466,7 @@ union bpf_attr { · 1409 unmodified lines
4425 *4466 *
4426 * **-EEXIST** if the option already exists.4467 * **-EEXIST** if the option already exists.
4427 *4468 *
4428 * **-EFAULT** on failrue to parse the existing header options.4469 * **-EFAULT** on failure to parse the existing header options.
4429 *4470 *
4430 * **-EPERM** if the helper cannot be used under the current4471 * **-EPERM** if the helper cannot be used under the current
4431 * *skops*\ **->op**.4472 * *skops*\ **->op**.
@@ -4634,7 +4675,7 @@ union bpf_attr { · 202 unmodified lines
4634 * a *map* with *task* as the **key**. From this4675 * a *map* with *task* as the **key**. From this
4635 * perspective, the usage is not much different from4676 * perspective, the usage is not much different from
4636 * **bpf_map_lookup_elem**\ (*map*, **&**\ *task*) except this4677 * **bpf_map_lookup_elem**\ (*map*, **&**\ *task*) except this
4637 * helper enforces the key must be an task_struct and the map must also4678 * helper enforces the key must be a task_struct and the map must also
4638 * be a **BPF_MAP_TYPE_TASK_STORAGE**.4679 * be a **BPF_MAP_TYPE_TASK_STORAGE**.
4639 *4680 *
4640 * Underneath, the value is stored locally at *task* instead of4681 * Underneath, the value is stored locally at *task* instead of
@@ -4692,7 +4733,7 @@ union bpf_attr { · 51 unmodified lines
4692 *4733 *
4693 * long bpf_ima_inode_hash(struct inode *inode, void *dst, u32 size)4734 * long bpf_ima_inode_hash(struct inode *inode, void *dst, u32 size)
4694 * Description4735 * Description
4695 * Returns the stored IMA hash of the *inode* (if it's avaialable).4736 * Returns the stored IMA hash of the *inode* (if it's available).
4696 * If the hash is larger than *size*, then only *size*4737 * If the hash is larger than *size*, then only *size*
4697 * bytes will be copied to *dst*4738 * bytes will be copied to *dst*
4698 * Return4739 * Return
@@ -4716,12 +4757,12 @@ union bpf_attr { · 17 unmodified lines
4716 *4757 *
4717 * The argument *len_diff* can be used for querying with a planned4758 * The argument *len_diff* can be used for querying with a planned
4718 * size change. This allows to check MTU prior to changing packet4759 * size change. This allows to check MTU prior to changing packet
4719 * ctx. Providing an *len_diff* adjustment that is larger than the4760 * ctx. Providing a *len_diff* adjustment that is larger than the
4720 * actual packet size (resulting in negative packet size) will in4761 * actual packet size (resulting in negative packet size) will in
4721 * principle not exceed the MTU, why it is not considered a4762 * principle not exceed the MTU, which is why it is not considered
4722 * failure. Other BPF-helpers are needed for performing the4763 * a failure. Other BPF helpers are needed for performing the
4723 * planned size change, why the responsability for catch a negative4764 * planned size change; therefore the responsibility for catching
4724 * packet size belong in those helpers.4765 * a negative packet size belongs in those helpers.
4725 *4766 *
4726 * Specifying *ifindex* zero means the MTU check is performed4767 * Specifying *ifindex* zero means the MTU check is performed
4727 * against the current net device. This is practical if this isn't4768 * against the current net device. This is practical if this isn't
@@ -4919,6 +4960,7 @@ union bpf_attr { · 191 unmodified lines
4919 * Get address of the traced function (for tracing and kprobe programs).4960 * Get address of the traced function (for tracing and kprobe programs).
4920 * Return4961 * Return
4921 * Address of the traced function.4962 * Address of the traced function.
4963 * 0 for kprobes placed within the function (not at the entry).
4922 *4964 *
4923 * u64 bpf_get_attach_cookie(void *ctx)4965 * u64 bpf_get_attach_cookie(void *ctx)
4924 * Description4966 * Description
@@ -5048,12 +5090,12 @@ union bpf_attr { · 123 unmodified lines
5048 *5090 *
5049 * long bpf_get_func_arg(void *ctx, u32 n, u64 *value)5091 * long bpf_get_func_arg(void *ctx, u32 n, u64 *value)
5050 * Description5092 * Description
5051 * Get **n**-th argument (zero based) of the traced function (for tracing programs)5093 * Get **n**-th argument register (zero based) of the traced function (for tracing programs)
5052 * returned in **value**.5094 * returned in **value**.
5053 *5095 *
5054 * Return5096 * Return
5055 * 0 on success.5097 * 0 on success.
5056 * **-EINVAL** if n >= arguments count of traced function.5098 * **-EINVAL** if n >= argument register count of traced function.
5057 *5099 *
5058 * long bpf_get_func_ret(void *ctx, u64 *value)5100 * long bpf_get_func_ret(void *ctx, u64 *value)
5059 * Description5101 * Description
@@ -5066,24 +5108,37 @@ union bpf_attr { · 6 unmodified lines
5066 *5108 *
5067 * long bpf_get_func_arg_cnt(void *ctx)5109 * long bpf_get_func_arg_cnt(void *ctx)
5068 * Description5110 * Description
5069 * Get number of arguments of the traced function (for tracing programs).5111 * Get number of registers of the traced function (for tracing programs) where
5112 * function arguments are stored in these registers.
5070 *5113 *
5071 * Return5114 * Return
5072 * The number of arguments of the traced function.5115 * The number of argument registers of the traced function.
5073 *5116 *
5074 * int bpf_get_retval(void)5117 * int bpf_get_retval(void)
5075 * Description5118 * Description
5076 * Get the syscall's return value that will be returned to userspace.5119 * Get the BPF program's return value that will be returned to the upper layers.
5077 *5120 *
5078 * This helper is currently supported by cgroup programs only.5121 * This helper is currently supported by cgroup programs and only by the hooks
5122 * where BPF program's return value is returned to the userspace via errno.
5079 * Return5123 * Return
5080 * The syscall's return value.5124 * The BPF program's return value.
5081 *5125 *
5082 * int bpf_set_retval(int retval)5126 * int bpf_set_retval(int retval)
5083 * Description5127 * Description
5084 * Set the syscall's return value that will be returned to userspace.5128 * Set the BPF program's return value that will be returned to the upper layers.
5129 *
5130 * This helper is currently supported by cgroup programs and only by the hooks
5131 * where BPF program's return value is returned to the userspace via errno.
5132 *
5133 * Note that there is the following corner case where the program exports an error
5134 * via bpf_set_retval but signals success via 'return 1':
5135 *
5136 * bpf_set_retval(-EPERM);
5137 * return 1;
5138 *
5139 * In this case, the BPF program's return value will use helper's -EPERM. This
5140 * still holds true for cgroup/bind{4,6} which supports extra 'return 3' success case.
5085 *5141 *
5086 * This helper is currently supported by cgroup programs only.
5087 * Return5142 * Return
5088 * 0 on success, or a negative error in case of failure.5143 * 0 on success, or a negative error in case of failure.
5089 *5144 *
@@ -5331,6 +5386,55 @@ union bpf_attr { · 241 unmodified lines
5331 * **-EACCES** if the SYN cookie is not valid.5386 * **-EACCES** if the SYN cookie is not valid.
5332 *5387 *
5333 * **-EPROTONOSUPPORT** if CONFIG_IPV6 is not builtin.5388 * **-EPROTONOSUPPORT** if CONFIG_IPV6 is not builtin.
5389 *
5390 * u64 bpf_ktime_get_tai_ns(void)
5391 * Description
5392 * A nonsettable system-wide clock derived from wall-clock time but
5393 * ignoring leap seconds. This clock does not experience
5394 * discontinuities and backwards jumps caused by NTP inserting leap
5395 * seconds as CLOCK_REALTIME does.
5396 *
5397 * See: **clock_gettime**\ (**CLOCK_TAI**)
5398 * Return
5399 * Current *ktime*.
5400 *
5401 * long bpf_user_ringbuf_drain(struct bpf_map *map, void *callback_fn, void *ctx, u64 flags)
5402 * Description
5403 * Drain samples from the specified user ring buffer, and invoke
5404 * the provided callback for each such sample:
5405 *
5406 * long (\*callback_fn)(struct bpf_dynptr \*dynptr, void \*ctx);
5407 *
5408 * If **callback_fn** returns 0, the helper will continue to try
5409 * and drain the next sample, up to a maximum of
5410 * BPF_MAX_USER_RINGBUF_SAMPLES samples. If the return value is 1,
5411 * the helper will skip the rest of the samples and return. Other
5412 * return values are not used now, and will be rejected by the
5413 * verifier.
5414 * Return
5415 * The number of drained samples if no error was encountered while
5416 * draining samples, or 0 if no samples were present in the ring
5417 * buffer. If a user-space producer was epoll-waiting on this map,
5418 * and at least one sample was drained, they will receive an event
5419 * notification notifying them of available space in the ring
5420 * buffer. If the BPF_RB_NO_WAKEUP flag is passed to this
5421 * function, no wakeup notification will be sent. If the
5422 * BPF_RB_FORCE_WAKEUP flag is passed, a wakeup notification will
5423 * be sent even if no sample was drained.
5424 *
5425 * On failure, the returned value is one of the following:
5426 *
5427 * **-EBUSY** if the ring buffer is contended, and another calling
5428 * context was concurrently draining the ring buffer.
5429 *
5430 * **-EINVAL** if user-space is not properly tracking the ring
5431 * buffer due to the producer position not being aligned to 8
5432 * bytes, a sample not being aligned to 8 bytes, or the producer
5433 * position not matching the advertised length of a sample.
5434 *
5435 * **-E2BIG** if user-space has tried to publish a sample which is
5436 * larger than the size of the ring buffer, or which cannot fit
5437 * within a struct bpf_dynptr.
5334 */5438 */
5335#define __BPF_FUNC_MAPPER(FN) \5439#define __BPF_FUNC_MAPPER(FN) \
5336 FN(unspec), \5440 FN(unspec), \
@@ -5541,6 +5645,8 @@ union bpf_attr { · 204 unmodified lines
5541 FN(tcp_raw_gen_syncookie_ipv6), \5645 FN(tcp_raw_gen_syncookie_ipv6), \
5542 FN(tcp_raw_check_syncookie_ipv4), \5646 FN(tcp_raw_check_syncookie_ipv4), \
5543 FN(tcp_raw_check_syncookie_ipv6), \5647 FN(tcp_raw_check_syncookie_ipv6), \
5648 FN(ktime_get_tai_ns), \
5649 FN(user_ringbuf_drain), \
5544 /* */5650 /* */
5545 5651
5546/* integer value in 'imm' field of BPF_CALL instruction selects which helper5652/* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -5603,6 +5709,11 @@ enum { · 56 unmodified lines
5603 BPF_F_SEQ_NUMBER = (1ULL << 3),5709 BPF_F_SEQ_NUMBER = (1ULL << 3),
5604};5710};
5605 5711
5712/* BPF_FUNC_skb_get_tunnel_key flags. */
5713enum {
5714 BPF_F_TUNINFO_FLAGS = (1ULL << 4),
5715};
5716
5606/* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and5717/* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and
5607 * BPF_FUNC_perf_event_read_value flags.5718 * BPF_FUNC_perf_event_read_value flags.
5608 */5719 */
@@ -5792,7 +5903,10 @@ struct bpf_tunnel_key { · 183 unmodified lines
5792 };5903 };
5793 __u8 tunnel_tos;5904 __u8 tunnel_tos;
5794 __u8 tunnel_ttl;5905 __u8 tunnel_ttl;
5795 __u16 tunnel_ext; /* Padding, future use. */5906 union {
5907 __u16 tunnel_ext; /* compat */
5908 __be16 tunnel_flags;
5909 };
5796 __u32 tunnel_label;5910 __u32 tunnel_label;
5797 union {5911 union {
5798 __u32 local_ipv4;5912 __u32 local_ipv4;
@@ -5836,6 +5950,11 @@ enum bpf_ret_code { · 37 unmodified lines
5836 * represented by BPF_REDIRECT above).5950 * represented by BPF_REDIRECT above).
5837 */5951 */
5838 BPF_LWT_REROUTE = 128,5952 BPF_LWT_REROUTE = 128,
5953 /* BPF_FLOW_DISSECTOR_CONTINUE: used by BPF_PROG_TYPE_FLOW_DISSECTOR
5954 * to indicate that no custom dissection was performed, and
5955 * fallback to standard dissector is requested.
5956 */
5957 BPF_FLOW_DISSECTOR_CONTINUE = 129,
5839};5958};
5840 5959
5841struct bpf_sock {5960struct bpf_sock {
@@ -6134,11 +6253,26 @@ struct bpf_link_info { · 292 unmodified lines
6134 struct {6253 struct {
6135 __aligned_u64 target_name; /* in/out: target_name buffer ptr */6254 __aligned_u64 target_name; /* in/out: target_name buffer ptr */
6136 __u32 target_name_len; /* in/out: target_name buffer len */6255 __u32 target_name_len; /* in/out: target_name buffer len */
6256
6257 /* If the iter specific field is 32 bits, it can be put
6258 * in the first or second union. Otherwise it should be
6259 * put in the second union.
6260 */
6137 union {6261 union {
6138 struct {6262 struct {
6139 __u32 map_id;6263 __u32 map_id;
6140 } map;6264 } map;
6141 };6265 };
6266 union {
6267 struct {
6268 __u64 cgroup_id;
6269 __u32 order;
6270 } cgroup;
6271 struct {
6272 __u32 tid;
6273 __u32 pid;
6274 } task;
6275 };
6142 } iter;6276 } iter;
6143 struct {6277 struct {
6144 __u32 netns_ino;6278 __u32 netns_ino;
include/uapi/linux/btrfs.h+6−0
@@ -290,6 +290,12 @@ struct btrfs_ioctl_fs_info_args { · 289 unmodified lines
290#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1)290#define BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID (1ULL << 1)
291#define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2)291#define BTRFS_FEATURE_COMPAT_RO_VERITY (1ULL << 2)
292 292
293/*
294 * Put all block group items into a dedicated block group tree, greatly
295 * reducing mount time for large filesystem due to better locality.
296 */
297#define BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE (1ULL << 3)
298
293#define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0)299#define BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF (1ULL << 0)
294#define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1)300#define BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL (1ULL << 1)
295#define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2)301#define BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS (1ULL << 2)
include/uapi/linux/btrfs_tree.h+4−0
@@ -965,6 +965,10 @@ static inline __u16 btrfs_qgroup_level(__u64 qgroupid) · 964 unmodified lines
965 */965 */
966#define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2)966#define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2)
967 967
968#define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | \
969 BTRFS_QGROUP_STATUS_FLAG_RESCAN | \
970 BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT)
971
968#define BTRFS_QGROUP_STATUS_VERSION 1972#define BTRFS_QGROUP_STATUS_VERSION 1
969 973
970struct btrfs_qgroup_status_item {974struct btrfs_qgroup_status_item {
include/uapi/linux/can.h+53−2
@@ -48,6 +48,7 @@ · 47 unmodified lines
48 48
49#include <linux/types.h>49#include <linux/types.h>
50#include <linux/socket.h>50#include <linux/socket.h>
51#include <linux/stddef.h> /* for offsetof */
51 52
52/* controller area network (CAN) kernel definitions */53/* controller area network (CAN) kernel definitions */
53 54
@@ -60,6 +61,7 @@ · 6 unmodified lines
60#define CAN_SFF_MASK 0x000007FFU /* standard frame format (SFF) */61#define CAN_SFF_MASK 0x000007FFU /* standard frame format (SFF) */
61#define CAN_EFF_MASK 0x1FFFFFFFU /* extended frame format (EFF) */62#define CAN_EFF_MASK 0x1FFFFFFFU /* extended frame format (EFF) */
62#define CAN_ERR_MASK 0x1FFFFFFFU /* omit EFF, RTR, ERR flags */63#define CAN_ERR_MASK 0x1FFFFFFFU /* omit EFF, RTR, ERR flags */
64#define CANXL_PRIO_MASK CAN_SFF_MASK /* 11 bit priority mask */
63 65
64/*66/*
65 * Controller Area Network Identifier structure67 * Controller Area Network Identifier structure
@@ -73,6 +75,7 @@ typedef __u32 canid_t; · 7 unmodified lines
73 75
74#define CAN_SFF_ID_BITS 1176#define CAN_SFF_ID_BITS 11
75#define CAN_EFF_ID_BITS 2977#define CAN_EFF_ID_BITS 29
78#define CANXL_PRIO_BITS CAN_SFF_ID_BITS
76 79
77/*80/*
78 * Controller Area Network Error Message Frame Mask structure81 * Controller Area Network Error Message Frame Mask structure
@@ -91,6 +94,16 @@ typedef __u32 can_err_mask_t; · 12 unmodified lines
91#define CANFD_MAX_DLC 1594#define CANFD_MAX_DLC 15
92#define CANFD_MAX_DLEN 6495#define CANFD_MAX_DLEN 64
93 96
97/*
98 * CAN XL payload length and DLC definitions according to ISO 11898-1
99 * CAN XL DLC ranges from 0 .. 2047 => data length from 1 .. 2048 byte
100 */
101#define CANXL_MIN_DLC 0
102#define CANXL_MAX_DLC 2047
103#define CANXL_MAX_DLC_MASK 0x07FF
104#define CANXL_MIN_DLEN 1
105#define CANXL_MAX_DLEN 2048
106
94/**107/**
95 * struct can_frame - Classical CAN frame structure (aka CAN 2.0B)108 * struct can_frame - Classical CAN frame structure (aka CAN 2.0B)
96 * @can_id: CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition109 * @can_id: CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition
@@ -141,8 +154,8 @@ struct can_frame { · 44 unmodified lines
141 * When this is done the former differentiation via CAN_MTU / CANFD_MTU gets154 * When this is done the former differentiation via CAN_MTU / CANFD_MTU gets
142 * lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of155 * lost. CANFD_FDF allows programmers to mark CAN FD frames in the case of
143 * using struct canfd_frame for mixed CAN / CAN FD content (dual use).156 * using struct canfd_frame for mixed CAN / CAN FD content (dual use).
144 * N.B. the Kernel APIs do NOT provide mixed CAN / CAN FD content inside of157 * Since the introduction of CAN XL the CANFD_FDF flag is set in all CAN FD
145 * struct canfd_frame therefore the CANFD_FDF flag is disregarded by Linux.158 * frame structures provided by the CAN subsystem of the Linux kernel.
146 */159 */
147#define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */160#define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */
148#define CANFD_ESI 0x02 /* error state indicator of the transmitting node */161#define CANFD_ESI 0x02 /* error state indicator of the transmitting node */
@@ -166,8 +179,46 @@ struct canfd_frame { · 17 unmodified lines
166 __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8)));179 __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8)));
167};180};
168 181
182/*
183 * defined bits for canxl_frame.flags
184 *
185 * The canxl_frame.flags element contains two bits CANXL_XLF and CANXL_SEC
186 * and shares the relative position of the struct can[fd]_frame.len element.
187 * The CANXL_XLF bit ALWAYS needs to be set to indicate a valid CAN XL frame.
188 * As a side effect setting this bit intentionally breaks the length checks
189 * for Classical CAN and CAN FD frames.
190 *
191 * Undefined bits in canxl_frame.flags are reserved and shall be set to zero.
192 */
193#define CANXL_XLF 0x80 /* mandatory CAN XL frame flag (must always be set!) */
194#define CANXL_SEC 0x01 /* Simple Extended Content (security/segmentation) */
195
196/**
197 * struct canxl_frame - CAN with e'X'tended frame 'L'ength frame structure
198 * @prio: 11 bit arbitration priority with zero'ed CAN_*_FLAG flags
199 * @flags: additional flags for CAN XL
200 * @sdt: SDU (service data unit) type
201 * @len: frame payload length in byte (CANXL_MIN_DLEN .. CANXL_MAX_DLEN)
202 * @af: acceptance field
203 * @data: CAN XL frame payload (CANXL_MIN_DLEN .. CANXL_MAX_DLEN byte)
204 *
205 * @prio shares the same position as @can_id from struct can[fd]_frame.
206 */
207struct canxl_frame {
208 canid_t prio; /* 11 bit priority for arbitration (canid_t) */
209 __u8 flags; /* additional flags for CAN XL */
210 __u8 sdt; /* SDU (service data unit) type */
211 __u16 len; /* frame payload length in byte */
212 __u32 af; /* acceptance field */
213 __u8 data[CANXL_MAX_DLEN];
214};
215
169#define CAN_MTU (sizeof(struct can_frame))216#define CAN_MTU (sizeof(struct can_frame))
170#define CANFD_MTU (sizeof(struct canfd_frame))217#define CANFD_MTU (sizeof(struct canfd_frame))
218#define CANXL_MTU (sizeof(struct canxl_frame))
219#define CANXL_HDR_SIZE (offsetof(struct canxl_frame, data))
220#define CANXL_MIN_MTU (CANXL_HDR_SIZE + 64)
221#define CANXL_MAX_MTU CANXL_MTU
171 222
172/* particular protocols of the protocol family PF_CAN */223/* particular protocols of the protocol family PF_CAN */
173#define CAN_RAW 1 /* RAW sockets */224#define CAN_RAW 1 /* RAW sockets */
include/uapi/linux/can/raw.h+1−0
@@ -62,6 +62,7 @@ enum { · 61 unmodified lines
62 CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */62 CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */
63 CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */63 CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */
64 CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */64 CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */
65 CAN_RAW_XL_FRAMES, /* allow CAN XL frames (default:off) */
65};66};
66 67
67#endif /* !_UAPI_CAN_RAW_H */68#endif /* !_UAPI_CAN_RAW_H */
include/uapi/linux/counter.h+8−0
@@ -63,6 +63,8 @@ enum counter_event_type { · 62 unmodified lines
63 COUNTER_EVENT_INDEX,63 COUNTER_EVENT_INDEX,
64 /* State of counter is changed */64 /* State of counter is changed */
65 COUNTER_EVENT_CHANGE_OF_STATE,65 COUNTER_EVENT_CHANGE_OF_STATE,
66 /* Count value captured */
67 COUNTER_EVENT_CAPTURE,
66};68};
67 69
68/**70/**
@@ -153,4 +155,10 @@ enum counter_synapse_action { · 84 unmodified lines
153 COUNTER_SYNAPSE_ACTION_BOTH_EDGES,155 COUNTER_SYNAPSE_ACTION_BOTH_EDGES,
154};156};
155 157
158/* Signal polarity values */
159enum counter_signal_polarity {
160 COUNTER_SIGNAL_POLARITY_POSITIVE,
161 COUNTER_SIGNAL_POLARITY_NEGATIVE,
162};
163
156#endif /* _UAPI_COUNTER_H_ */164#endif /* _UAPI_COUNTER_H_ */
include/uapi/linux/dlm.h+0−1
@@ -69,7 +69,6 @@ struct dlm_lksb { · 68 unmodified lines
69/* dlm_new_lockspace() flags */69/* dlm_new_lockspace() flags */
70 70
71#define DLM_LSFL_TIMEWARN 0x0000000271#define DLM_LSFL_TIMEWARN 0x00000002
72#define DLM_LSFL_FS 0x00000004
73#define DLM_LSFL_NEWEXCL 0x0000000872#define DLM_LSFL_NEWEXCL 0x00000008
74 73
75 74
include/uapi/linux/dn.h+0−149
@@ -1,149 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _LINUX_DN_H
3#define _LINUX_DN_H
4
5#include <linux/ioctl.h>
6#include <linux/types.h>
7#include <linux/if_ether.h>
8
9/*
10
11 DECnet Data Structures and Constants
12
13*/
14
15/*
16 * DNPROTO_NSP can't be the same as SOL_SOCKET,
17 * so increment each by one (compared to ULTRIX)
18 */
19#define DNPROTO_NSP 2 /* NSP protocol number */
20#define DNPROTO_ROU 3 /* Routing protocol number */
21#define DNPROTO_NML 4 /* Net mgt protocol number */
22#define DNPROTO_EVL 5 /* Evl protocol number (usr) */
23#define DNPROTO_EVR 6 /* Evl protocol number (evl) */
24#define DNPROTO_NSPT 7 /* NSP trace protocol number */
25
26
27#define DN_ADDL 2
28#define DN_MAXADDL 2 /* ULTRIX headers have 20 here, but pathworks has 2 */
29#define DN_MAXOPTL 16
30#define DN_MAXOBJL 16
31#define DN_MAXACCL 40
32#define DN_MAXALIASL 128
33#define DN_MAXNODEL 256
34#define DNBUFSIZE 65023
35
36/*
37 * SET/GET Socket options - must match the DSO_ numbers below
38 */
39#define SO_CONDATA 1
40#define SO_CONACCESS 2
41#define SO_PROXYUSR 3
42#define SO_LINKINFO 7
43
44#define DSO_CONDATA 1 /* Set/Get connect data */
45#define DSO_DISDATA 10 /* Set/Get disconnect data */
46#define DSO_CONACCESS 2 /* Set/Get connect access data */
47#define DSO_ACCEPTMODE 4 /* Set/Get accept mode */
48#define DSO_CONACCEPT 5 /* Accept deferred connection */
49#define DSO_CONREJECT 6 /* Reject deferred connection */
50#define DSO_LINKINFO 7 /* Set/Get link information */
51#define DSO_STREAM 8 /* Set socket type to stream */
52#define DSO_SEQPACKET 9 /* Set socket type to sequenced packet */
53#define DSO_MAXWINDOW 11 /* Maximum window size allowed */
54#define DSO_NODELAY 12 /* Turn off nagle */
55#define DSO_CORK 13 /* Wait for more data! */
56#define DSO_SERVICES 14 /* NSP Services field */
57#define DSO_INFO 15 /* NSP Info field */
58#define DSO_MAX 15 /* Maximum option number */
59
60
61/* LINK States */
62#define LL_INACTIVE 0
63#define LL_CONNECTING 1
64#define LL_RUNNING 2
65#define LL_DISCONNECTING 3
66
67#define ACC_IMMED 0
68#define ACC_DEFER 1
69
70#define SDF_WILD 1 /* Wild card object */
71#define SDF_PROXY 2 /* Addr eligible for proxy */
72#define SDF_UICPROXY 4 /* Use uic-based proxy */
73
74/* Structures */
75
76
77struct dn_naddr {
78 __le16 a_len;
79 __u8 a_addr[DN_MAXADDL]; /* Two bytes little endian */
80};
81
82struct sockaddr_dn {
83 __u16 sdn_family;
84 __u8 sdn_flags;
85 __u8 sdn_objnum;
86 __le16 sdn_objnamel;
87 __u8 sdn_objname[DN_MAXOBJL];
88 struct dn_naddr sdn_add;
89};
90#define sdn_nodeaddrl sdn_add.a_len /* Node address length */
91#define sdn_nodeaddr sdn_add.a_addr /* Node address */
92
93
94
95/*
96 * DECnet set/get DSO_CONDATA, DSO_DISDATA (optional data) structure
97 */
98struct optdata_dn {
99 __le16 opt_status; /* Extended status return */
100#define opt_sts opt_status
101 __le16 opt_optl; /* Length of user data */
102 __u8 opt_data[16]; /* User data */
103};
104
105struct accessdata_dn {
106 __u8 acc_accl;
107 __u8 acc_acc[DN_MAXACCL];
108 __u8 acc_passl;
109 __u8 acc_pass[DN_MAXACCL];
110 __u8 acc_userl;
111 __u8 acc_user[DN_MAXACCL];
112};
113
114/*
115 * DECnet logical link information structure
116 */
117struct linkinfo_dn {
118 __u16 idn_segsize; /* Segment size for link */
119 __u8 idn_linkstate; /* Logical link state */
120};
121
122/*
123 * Ethernet address format (for DECnet)
124 */
125union etheraddress {
126 __u8 dne_addr[ETH_ALEN]; /* Full ethernet address */
127 struct {
128 __u8 dne_hiord[4]; /* DECnet HIORD prefix */
129 __u8 dne_nodeaddr[2]; /* DECnet node address */
130 } dne_remote;
131};
132
133
134/*
135 * DECnet physical socket address format
136 */
137struct dn_addr {
138 __le16 dna_family; /* AF_DECnet */
139 union etheraddress dna_netaddr; /* DECnet ethernet address */
140};
141
142#define DECNET_IOCTL_BASE 0x89 /* PROTOPRIVATE range */
143
144#define SIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, struct dn_naddr)
145#define SIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, struct dn_naddr)
146#define OSIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, int)
147#define OSIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, int)
148
149#endif /* _LINUX_DN_H */
include/uapi/linux/dw100.h+14−0
@@ -0,0 +1,14 @@
1/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
2/* Copyright 2022 NXP */
3
4#ifndef __UAPI_DW100_H__
5#define __UAPI_DW100_H__
6
7#include <linux/v4l2-controls.h>
8
9/*
10 * Check Documentation/userspace-api/media/drivers/dw100.rst for control details.
11 */
12#define V4L2_CID_DW100_DEWARPING_16x16_VERTEX_MAP (V4L2_CID_USER_DW100_BASE + 1)
13
14#endif
include/uapi/linux/ethtool.h+61−2
@@ -736,6 +736,51 @@ enum ethtool_module_power_mode { · 735 unmodified lines
736 ETHTOOL_MODULE_POWER_MODE_HIGH,736 ETHTOOL_MODULE_POWER_MODE_HIGH,
737};737};
738 738
739/**
740 * enum ethtool_podl_pse_admin_state - operational state of the PoDL PSE
741 * functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState
742 * @ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN: state of PoDL PSE functions are
743 * unknown
744 * @ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED: PoDL PSE functions are disabled
745 * @ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED: PoDL PSE functions are enabled
746 */
747enum ethtool_podl_pse_admin_state {
748 ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1,
749 ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED,
750 ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED,
751};
752
753/**
754 * enum ethtool_podl_pse_pw_d_status - power detection status of the PoDL PSE.
755 * IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus:
756 * @ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN: PoDL PSE
757 * @ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED: "The enumeration “disabled” is
758 * asserted true when the PoDL PSE state diagram variable mr_pse_enable is
759 * false"
760 * @ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING: "The enumeration “searching” is
761 * asserted true when either of the PSE state diagram variables
762 * pi_detecting or pi_classifying is true."
763 * @ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING: "The enumeration “deliveringPower”
764 * is asserted true when the PoDL PSE state diagram variable pi_powered is
765 * true."
766 * @ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP: "The enumeration “sleep” is asserted
767 * true when the PoDL PSE state diagram variable pi_sleeping is true."
768 * @ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE: "The enumeration “idle” is asserted true
769 * when the logical combination of the PoDL PSE state diagram variables
770 * pi_prebiased*!pi_sleeping is true."
771 * @ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR: "The enumeration “error” is asserted
772 * true when the PoDL PSE state diagram variable overload_held is true."
773 */
774enum ethtool_podl_pse_pw_d_status {
775 ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1,
776 ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED,
777 ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING,
778 ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING,
779 ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP,
780 ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE,
781 ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR,
782};
783
739/**784/**
740 * struct ethtool_gstrings - string set for data tagging785 * struct ethtool_gstrings - string set for data tagging
741 * @cmd: Command number = %ETHTOOL_GSTRINGS786 * @cmd: Command number = %ETHTOOL_GSTRINGS
@@ -1840,6 +1885,20 @@ static inline int ethtool_validate_duplex(__u8 duplex) · 1098 unmodified lines
1840#define MASTER_SLAVE_STATE_SLAVE 31885#define MASTER_SLAVE_STATE_SLAVE 3
1841#define MASTER_SLAVE_STATE_ERR 41886#define MASTER_SLAVE_STATE_ERR 4
1842 1887
1888/* These are used to throttle the rate of data on the phy interface when the
1889 * native speed of the interface is higher than the link speed. These should
1890 * not be used for phy interfaces which natively support multiple speeds (e.g.
1891 * MII or SGMII).
1892 */
1893/* No rate matching performed. */
1894#define RATE_MATCH_NONE 0
1895/* The phy sends pause frames to throttle the MAC. */
1896#define RATE_MATCH_PAUSE 1
1897/* The phy asserts CRS to prevent the MAC from transmitting. */
1898#define RATE_MATCH_CRS 2
1899/* The MAC is programmed with a sufficiently-large IPG. */
1900#define RATE_MATCH_OPEN_LOOP 3
1901
1843/* Which connector port. */1902/* Which connector port. */
1844#define PORT_TP 0x001903#define PORT_TP 0x00
1845#define PORT_AUI 0x011904#define PORT_AUI 0x01
@@ -2033,8 +2092,8 @@ enum ethtool_reset_flags { · 187 unmodified lines
2033 * reported consistently by PHYLIB. Read-only.2092 * reported consistently by PHYLIB. Read-only.
2034 * @master_slave_cfg: Master/slave port mode.2093 * @master_slave_cfg: Master/slave port mode.
2035 * @master_slave_state: Master/slave port state.2094 * @master_slave_state: Master/slave port state.
2095 * @rate_matching: Rate adaptation performed by the PHY
2036 * @reserved: Reserved for future use; see the note on reserved space.2096 * @reserved: Reserved for future use; see the note on reserved space.
2037 * @reserved1: Reserved for future use; see the note on reserved space.
2038 * @link_mode_masks: Variable length bitmaps.2097 * @link_mode_masks: Variable length bitmaps.
2039 *2098 *
2040 * If autonegotiation is disabled, the speed and @duplex represent the2099 * If autonegotiation is disabled, the speed and @duplex represent the
@@ -2085,7 +2144,7 @@ struct ethtool_link_settings { · 44 unmodified lines
2085 __u8 transceiver;2144 __u8 transceiver;
2086 __u8 master_slave_cfg;2145 __u8 master_slave_cfg;
2087 __u8 master_slave_state;2146 __u8 master_slave_state;
2088 __u8 reserved1[1];2147 __u8 rate_matching;
2089 __u32 reserved[7];2148 __u32 reserved[7];
2090 __u32 link_mode_masks[];2149 __u32 link_mode_masks[];
2091 /* layout of link_mode_masks fields:2150 /* layout of link_mode_masks fields:
include/uapi/linux/ethtool_netlink.h+17−0
@@ -49,6 +49,8 @@ enum { · 48 unmodified lines
49 ETHTOOL_MSG_PHC_VCLOCKS_GET,49 ETHTOOL_MSG_PHC_VCLOCKS_GET,
50 ETHTOOL_MSG_MODULE_GET,50 ETHTOOL_MSG_MODULE_GET,
51 ETHTOOL_MSG_MODULE_SET,51 ETHTOOL_MSG_MODULE_SET,
52 ETHTOOL_MSG_PSE_GET,
53 ETHTOOL_MSG_PSE_SET,
52 54
53 /* add new constants above here */55 /* add new constants above here */
54 __ETHTOOL_MSG_USER_CNT,56 __ETHTOOL_MSG_USER_CNT,
@@ -94,6 +96,7 @@ enum { · 39 unmodified lines
94 ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,96 ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
95 ETHTOOL_MSG_MODULE_GET_REPLY,97 ETHTOOL_MSG_MODULE_GET_REPLY,
96 ETHTOOL_MSG_MODULE_NTF,98 ETHTOOL_MSG_MODULE_NTF,
99 ETHTOOL_MSG_PSE_GET_REPLY,
97 100
98 /* add new constants above here */101 /* add new constants above here */
99 __ETHTOOL_MSG_KERNEL_CNT,102 __ETHTOOL_MSG_KERNEL_CNT,
@@ -242,6 +245,7 @@ enum { · 142 unmodified lines
242 ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */245 ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG, /* u8 */
243 ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */246 ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
244 ETHTOOL_A_LINKMODES_LANES, /* u32 */247 ETHTOOL_A_LINKMODES_LANES, /* u32 */
248 ETHTOOL_A_LINKMODES_RATE_MATCHING, /* u8 */
245 249
246 /* add new constants above here */250 /* add new constants above here */
247 __ETHTOOL_A_LINKMODES_CNT,251 __ETHTOOL_A_LINKMODES_CNT,
@@ -862,6 +866,19 @@ enum { · 614 unmodified lines
862 ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)866 ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
863};867};
864 868
869/* Power Sourcing Equipment */
870enum {
871 ETHTOOL_A_PSE_UNSPEC,
872 ETHTOOL_A_PSE_HEADER, /* nest - _A_HEADER_* */
873 ETHTOOL_A_PODL_PSE_ADMIN_STATE, /* u32 */
874 ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, /* u32 */
875 ETHTOOL_A_PODL_PSE_PW_D_STATUS, /* u32 */
876
877 /* add new constants above here */
878 __ETHTOOL_A_PSE_CNT,
879 ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
880};
881
865/* generic netlink info */882/* generic netlink info */
866#define ETHTOOL_GENL_NAME "ethtool"883#define ETHTOOL_GENL_NAME "ethtool"
867#define ETHTOOL_GENL_VERSION 1884#define ETHTOOL_GENL_VERSION 1
include/uapi/linux/fuse.h+5−1
@@ -194,6 +194,9 @@ · 193 unmodified lines
194 * - add FUSE_SECURITY_CTX init flag194 * - add FUSE_SECURITY_CTX init flag
195 * - add security context to create, mkdir, symlink, and mknod requests195 * - add security context to create, mkdir, symlink, and mknod requests
196 * - add FUSE_HAS_INODE_DAX, FUSE_ATTR_DAX196 * - add FUSE_HAS_INODE_DAX, FUSE_ATTR_DAX
197 *
198 * 7.37
199 * - add FUSE_TMPFILE
197 */200 */
198 201
199#ifndef _LINUX_FUSE_H202#ifndef _LINUX_FUSE_H
@@ -229,7 +232,7 @@ · 29 unmodified lines
229#define FUSE_KERNEL_VERSION 7232#define FUSE_KERNEL_VERSION 7
230 233
231/** Minor version number of this interface */234/** Minor version number of this interface */
232#define FUSE_KERNEL_MINOR_VERSION 36235#define FUSE_KERNEL_MINOR_VERSION 37
233 236
234/** The node ID of the root inode */237/** The node ID of the root inode */
235#define FUSE_ROOT_ID 1238#define FUSE_ROOT_ID 1
@@ -537,6 +540,7 @@ enum fuse_opcode { · 301 unmodified lines
537 FUSE_SETUPMAPPING = 48,540 FUSE_SETUPMAPPING = 48,
538 FUSE_REMOVEMAPPING = 49,541 FUSE_REMOVEMAPPING = 49,
539 FUSE_SYNCFS = 50,542 FUSE_SYNCFS = 50,
543 FUSE_TMPFILE = 51,
540 544
541 /* CUSE specific operations */545 /* CUSE specific operations */
542 CUSE_INIT = 4096,546 CUSE_INIT = 4096,
include/uapi/linux/hid.h+20−6
@@ -42,16 +42,30 @@ · 41 unmodified lines
42#define USB_INTERFACE_PROTOCOL_KEYBOARD 142#define USB_INTERFACE_PROTOCOL_KEYBOARD 1
43#define USB_INTERFACE_PROTOCOL_MOUSE 243#define USB_INTERFACE_PROTOCOL_MOUSE 2
44 44
45/*
46 * HID report types --- Ouch! HID spec says 1 2 3!
47 */
48
49enum hid_report_type {
50 HID_INPUT_REPORT = 0,
51 HID_OUTPUT_REPORT = 1,
52 HID_FEATURE_REPORT = 2,
53
54 HID_REPORT_TYPES,
55};
56
45/*57/*
46 * HID class requests58 * HID class requests
47 */59 */
48 60
49#define HID_REQ_GET_REPORT 0x0161enum hid_class_request {
50#define HID_REQ_GET_IDLE 0x0262 HID_REQ_GET_REPORT = 0x01,
51#define HID_REQ_GET_PROTOCOL 0x0363 HID_REQ_GET_IDLE = 0x02,
52#define HID_REQ_SET_REPORT 0x0964 HID_REQ_GET_PROTOCOL = 0x03,
53#define HID_REQ_SET_IDLE 0x0A65 HID_REQ_SET_REPORT = 0x09,
54#define HID_REQ_SET_PROTOCOL 0x0B66 HID_REQ_SET_IDLE = 0x0A,
67 HID_REQ_SET_PROTOCOL = 0x0B,
68};
55 69
56/*70/*
57 * HID class descriptor types71 * HID class descriptor types
include/uapi/linux/if_ether.h+1−0
@@ -138,6 +138,7 @@ · 137 unmodified lines
138#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */138#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
139#define ETH_P_CAN 0x000C /* CAN: Controller Area Network */139#define ETH_P_CAN 0x000C /* CAN: Controller Area Network */
140#define ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/140#define ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/
141#define ETH_P_CANXL 0x000E /* CANXL: eXtended frame Length */
141#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/142#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
142#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */143#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
143#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */144#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
include/uapi/linux/if_link.h+12−0
@@ -370,6 +370,7 @@ enum { · 369 unmodified lines
370 IFLA_GRO_MAX_SIZE,370 IFLA_GRO_MAX_SIZE,
371 IFLA_TSO_MAX_SIZE,371 IFLA_TSO_MAX_SIZE,
372 IFLA_TSO_MAX_SEGS,372 IFLA_TSO_MAX_SEGS,
373 IFLA_ALLMULTI, /* Allmulti count: > 0 means acts ALLMULTI */
373 374
374 __IFLA_MAX375 __IFLA_MAX
375};376};
@@ -694,6 +695,7 @@ enum { · 318 unmodified lines
694 IFLA_XFRM_UNSPEC,695 IFLA_XFRM_UNSPEC,
695 IFLA_XFRM_LINK,696 IFLA_XFRM_LINK,
696 IFLA_XFRM_IF_ID,697 IFLA_XFRM_IF_ID,
698 IFLA_XFRM_COLLECT_METADATA,
697 __IFLA_XFRM_MAX699 __IFLA_XFRM_MAX
698};700};
699 701
@@ -1374,4 +1376,14 @@ enum { · 674 unmodified lines
1374 1376
1375#define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)1377#define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)
1376 1378
1379/* DSA section */
1380
1381enum {
1382 IFLA_DSA_UNSPEC,
1383 IFLA_DSA_MASTER,
1384 __IFLA_DSA_MAX,
1385};
1386
1387#define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1)
1388
1377#endif /* _UAPI_LINUX_IF_LINK_H */1389#endif /* _UAPI_LINUX_IF_LINK_H */
include/uapi/linux/if_macsec.h+2−0
@@ -22,6 +22,8 @@ · 21 unmodified lines
22 22
23#define MACSEC_KEYID_LEN 1623#define MACSEC_KEYID_LEN 16
24 24
25#define MACSEC_SALT_LEN 12
26
25/* cipher IDs as per IEEE802.1AE-2018 (Table 14-1) */27/* cipher IDs as per IEEE802.1AE-2018 (Table 14-1) */
26#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL28#define MACSEC_CIPHER_ID_GCM_AES_128 0x0080C20001000001ULL
27#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL29#define MACSEC_CIPHER_ID_GCM_AES_256 0x0080C20001000002ULL
include/uapi/linux/if_tun.h+2−0
@@ -67,6 +67,8 @@ · 66 unmodified lines
67#define IFF_TAP 0x000267#define IFF_TAP 0x0002
68#define IFF_NAPI 0x001068#define IFF_NAPI 0x0010
69#define IFF_NAPI_FRAGS 0x002069#define IFF_NAPI_FRAGS 0x0020
70/* Used in TUNSETIFF to bring up tun/tap without carrier */
71#define IFF_NO_CARRIER 0x0040
70#define IFF_NO_PI 0x100072#define IFF_NO_PI 0x1000
71/* This flag has no real effect */73/* This flag has no real effect */
72#define IFF_ONE_QUEUE 0x200074#define IFF_ONE_QUEUE 0x2000
include/uapi/linux/iio/types.h+9−1
@@ -95,6 +95,12 @@ enum iio_modifier { · 94 unmodified lines
95 IIO_MOD_ETHANOL,95 IIO_MOD_ETHANOL,
96 IIO_MOD_H2,96 IIO_MOD_H2,
97 IIO_MOD_O2,97 IIO_MOD_O2,
98 IIO_MOD_LINEAR_X,
99 IIO_MOD_LINEAR_Y,
100 IIO_MOD_LINEAR_Z,
101 IIO_MOD_PITCH,
102 IIO_MOD_YAW,
103 IIO_MOD_ROLL,
98};104};
99 105
100enum iio_event_type {106enum iio_event_type {
@@ -105,6 +111,7 @@ enum iio_event_type { · 4 unmodified lines
105 IIO_EV_TYPE_MAG_ADAPTIVE,111 IIO_EV_TYPE_MAG_ADAPTIVE,
106 IIO_EV_TYPE_CHANGE,112 IIO_EV_TYPE_CHANGE,
107 IIO_EV_TYPE_MAG_REFERENCED,113 IIO_EV_TYPE_MAG_REFERENCED,
114 IIO_EV_TYPE_GESTURE,
108};115};
109 116
110enum iio_event_direction {117enum iio_event_direction {
@@ -112,7 +119,8 @@ enum iio_event_direction { · 1 unmodified line
112 IIO_EV_DIR_RISING,119 IIO_EV_DIR_RISING,
113 IIO_EV_DIR_FALLING,120 IIO_EV_DIR_FALLING,
114 IIO_EV_DIR_NONE,121 IIO_EV_DIR_NONE,
122 IIO_EV_DIR_SINGLETAP,
123 IIO_EV_DIR_DOUBLETAP,
115};124};
116 125
117#endif /* _UAPI_IIO_TYPES_H_ */126#endif /* _UAPI_IIO_TYPES_H_ */
118
include/uapi/linux/in.h+8−14
@@ -68,6 +68,8 @@ enum { · 67 unmodified lines
68#define IPPROTO_PIM IPPROTO_PIM68#define IPPROTO_PIM IPPROTO_PIM
69 IPPROTO_COMP = 108, /* Compression Header Protocol */69 IPPROTO_COMP = 108, /* Compression Header Protocol */
70#define IPPROTO_COMP IPPROTO_COMP70#define IPPROTO_COMP IPPROTO_COMP
71 IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol */
72#define IPPROTO_L2TP IPPROTO_L2TP
71 IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */73 IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */
72#define IPPROTO_SCTP IPPROTO_SCTP74#define IPPROTO_SCTP IPPROTO_SCTP
73 IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */75 IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */
@@ -188,21 +190,13 @@ struct ip_mreq_source { · 114 unmodified lines
188};190};
189 191
190struct ip_msfilter {192struct ip_msfilter {
193 __be32 imsf_multiaddr;
194 __be32 imsf_interface;
195 __u32 imsf_fmode;
196 __u32 imsf_numsrc;
191 union {197 union {
192 struct {198 __be32 imsf_slist[1];
193 __be32 imsf_multiaddr_aux;199 __DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
194 __be32 imsf_interface_aux;
195 __u32 imsf_fmode_aux;
196 __u32 imsf_numsrc_aux;
197 __be32 imsf_slist[1];
198 };
199 struct {
200 __be32 imsf_multiaddr;
201 __be32 imsf_interface;
202 __u32 imsf_fmode;
203 __u32 imsf_numsrc;
204 __be32 imsf_slist_flex[];
205 };
206 };200 };
207};201};
208 202
include/uapi/linux/input-event-codes.h+1−0
@@ -862,6 +862,7 @@ · 861 unmodified lines
862#define ABS_TOOL_WIDTH 0x1c862#define ABS_TOOL_WIDTH 0x1c
863 863
864#define ABS_VOLUME 0x20864#define ABS_VOLUME 0x20
865#define ABS_PROFILE 0x21
865 866
866#define ABS_MISC 0x28867#define ABS_MISC 0x28
867 868
include/uapi/linux/io_uring.h+31−22
@@ -12,6 +12,10 @@ · 11 unmodified lines
12#include <linux/types.h>12#include <linux/types.h>
13#include <linux/time_types.h>13#include <linux/time_types.h>
14 14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
15/*19/*
16 * IO submission data structure (Submission Queue Entry)20 * IO submission data structure (Submission Queue Entry)
17 */21 */
@@ -52,6 +56,7 @@ struct io_uring_sqe { · 34 unmodified lines
52 __u32 hardlink_flags;56 __u32 hardlink_flags;
53 __u32 xattr_flags;57 __u32 xattr_flags;
54 __u32 msg_ring_flags;58 __u32 msg_ring_flags;
59 __u32 uring_cmd_flags;
55 };60 };
56 __u64 user_data; /* data to be passed back at completion time */61 __u64 user_data; /* data to be passed back at completion time */
57 /* pack this to avoid bogus arm OABI complaints */62 /* pack this to avoid bogus arm OABI complaints */
@@ -67,8 +72,8 @@ struct io_uring_sqe { · 9 unmodified lines
67 __s32 splice_fd_in;72 __s32 splice_fd_in;
68 __u32 file_index;73 __u32 file_index;
69 struct {74 struct {
70 __u16 notification_idx;
71 __u16 addr_len;75 __u16 addr_len;
76 __u16 __pad3[1];
72 };77 };
73 };78 };
74 union {79 union {
@@ -153,6 +158,13 @@ enum { · 78 unmodified lines
153 */158 */
154#define IORING_SETUP_SINGLE_ISSUER (1U << 12)159#define IORING_SETUP_SINGLE_ISSUER (1U << 12)
155 160
161/*
162 * Defer running task work to get events.
163 * Rather than running bits of task work whenever the task transitions
164 * try to do it just before it is needed.
165 */
166#define IORING_SETUP_DEFER_TASKRUN (1U << 13)
167
156enum io_uring_op {168enum io_uring_op {
157 IORING_OP_NOP,169 IORING_OP_NOP,
158 IORING_OP_READV,170 IORING_OP_READV,
@@ -174,8 +186,7 @@ enum io_uring_op { · 15 unmodified lines
174 IORING_OP_FALLOCATE,186 IORING_OP_FALLOCATE,
175 IORING_OP_OPENAT,187 IORING_OP_OPENAT,
176 IORING_OP_CLOSE,188 IORING_OP_CLOSE,
177 IORING_OP_RSRC_UPDATE,189 IORING_OP_FILES_UPDATE,
178 IORING_OP_FILES_UPDATE = IORING_OP_RSRC_UPDATE,
179 IORING_OP_STATX,190 IORING_OP_STATX,
180 IORING_OP_READ,191 IORING_OP_READ,
181 IORING_OP_WRITE,192 IORING_OP_WRITE,
@@ -202,12 +213,21 @@ enum io_uring_op { · 20 unmodified lines
202 IORING_OP_GETXATTR,213 IORING_OP_GETXATTR,
203 IORING_OP_SOCKET,214 IORING_OP_SOCKET,
204 IORING_OP_URING_CMD,215 IORING_OP_URING_CMD,
205 IORING_OP_SENDZC_NOTIF,216 IORING_OP_SEND_ZC,
217 IORING_OP_SENDMSG_ZC,
206 218
207 /* this goes last, obviously */219 /* this goes last, obviously */
208 IORING_OP_LAST,220 IORING_OP_LAST,
209};221};
210 222
223/*
224 * sqe->uring_cmd_flags
225 * IORING_URING_CMD_FIXED use registered buffer; pass thig flag
226 * along with setting sqe->buf_index.
227 */
228#define IORING_URING_CMD_FIXED (1U << 0)
229
230
211/*231/*
212 * sqe->fsync_flags232 * sqe->fsync_flags
213 */233 */
@@ -224,7 +244,6 @@ enum io_uring_op { · 10 unmodified lines
224#define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5)244#define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5)
225#define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME)245#define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME)
226#define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE)246#define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE)
227
228/*247/*
229 * sqe->splice_flags248 * sqe->splice_flags
230 * extends splice(2) flags249 * extends splice(2) flags
@@ -277,29 +296,16 @@ enum io_uring_op { · 46 unmodified lines
277 *296 *
278 * IORING_RECVSEND_FIXED_BUF Use registered buffers, the index is stored in297 * IORING_RECVSEND_FIXED_BUF Use registered buffers, the index is stored in
279 * the buf_index field.298 * the buf_index field.
280 *
281 * IORING_RECVSEND_NOTIF_FLUSH Flush a notification after a successful
282 * successful. Only for zerocopy sends.
283 */299 */
284#define IORING_RECVSEND_POLL_FIRST (1U << 0)300#define IORING_RECVSEND_POLL_FIRST (1U << 0)
285#define IORING_RECV_MULTISHOT (1U << 1)301#define IORING_RECV_MULTISHOT (1U << 1)
286#define IORING_RECVSEND_FIXED_BUF (1U << 2)302#define IORING_RECVSEND_FIXED_BUF (1U << 2)
287#define IORING_RECVSEND_NOTIF_FLUSH (1U << 3)
288 303
289/*304/*
290 * accept flags stored in sqe->ioprio305 * accept flags stored in sqe->ioprio
291 */306 */
292#define IORING_ACCEPT_MULTISHOT (1U << 0)307#define IORING_ACCEPT_MULTISHOT (1U << 0)
293 308
294
295/*
296 * IORING_OP_RSRC_UPDATE flags
297 */
298enum {
299 IORING_RSRC_UPDATE_FILES,
300 IORING_RSRC_UPDATE_NOTIF,
301};
302
303/*309/*
304 * IORING_OP_MSG_RING command types, stored in sqe->addr310 * IORING_OP_MSG_RING command types, stored in sqe->addr
305 */311 */
@@ -337,10 +343,13 @@ struct io_uring_cqe { · 31 unmodified lines
337 * IORING_CQE_F_BUFFER If set, the upper 16 bits are the buffer ID343 * IORING_CQE_F_BUFFER If set, the upper 16 bits are the buffer ID
338 * IORING_CQE_F_MORE If set, parent SQE will generate more CQE entries344 * IORING_CQE_F_MORE If set, parent SQE will generate more CQE entries
339 * IORING_CQE_F_SOCK_NONEMPTY If set, more data to read after socket recv345 * IORING_CQE_F_SOCK_NONEMPTY If set, more data to read after socket recv
346 * IORING_CQE_F_NOTIF Set for notification CQEs. Can be used to distinct
347 * them from sends.
340 */348 */
341#define IORING_CQE_F_BUFFER (1U << 0)349#define IORING_CQE_F_BUFFER (1U << 0)
342#define IORING_CQE_F_MORE (1U << 1)350#define IORING_CQE_F_MORE (1U << 1)
343#define IORING_CQE_F_SOCK_NONEMPTY (1U << 2)351#define IORING_CQE_F_SOCK_NONEMPTY (1U << 2)
352#define IORING_CQE_F_NOTIF (1U << 3)
344 353
345enum {354enum {
346 IORING_CQE_BUFFER_SHIFT = 16,355 IORING_CQE_BUFFER_SHIFT = 16,
@@ -481,10 +490,6 @@ enum { · 134 unmodified lines
481 /* register a range of fixed file slots for automatic slot allocation */490 /* register a range of fixed file slots for automatic slot allocation */
482 IORING_REGISTER_FILE_ALLOC_RANGE = 25,491 IORING_REGISTER_FILE_ALLOC_RANGE = 25,
483 492
484 /* zerocopy notification API */
485 IORING_REGISTER_NOTIFIERS = 26,
486 IORING_UNREGISTER_NOTIFIERS = 27,
487
488 /* this goes last */493 /* this goes last */
489 IORING_REGISTER_LAST494 IORING_REGISTER_LAST
490};495};
@@ -661,4 +666,8 @@ struct io_uring_recvmsg_out { · 170 unmodified lines
661 __u32 flags;666 __u32 flags;
662};667};
663 668
669#ifdef __cplusplus
670}
671#endif
672
664#endif673#endif
include/uapi/linux/kvm.h+1−0
@@ -1177,6 +1177,7 @@ struct kvm_ppc_resize_hpt { · 1176 unmodified lines
1177#define KVM_CAP_VM_DISABLE_NX_HUGE_PAGES 2201177#define KVM_CAP_VM_DISABLE_NX_HUGE_PAGES 220
1178#define KVM_CAP_S390_ZPCI_OP 2211178#define KVM_CAP_S390_ZPCI_OP 221
1179#define KVM_CAP_S390_CPU_TOPOLOGY 2221179#define KVM_CAP_S390_CPU_TOPOLOGY 222
1180#define KVM_CAP_DIRTY_LOG_RING_ACQ_REL 223
1180 1181
1181#ifdef KVM_CAP_IRQ_ROUTING1182#ifdef KVM_CAP_IRQ_ROUTING
1182 1183
include/uapi/linux/l2tp.h+0−2
@@ -13,8 +13,6 @@ · 12 unmodified lines
13#include <linux/in.h>13#include <linux/in.h>
14#include <linux/in6.h>14#include <linux/in6.h>
15 15
16#define IPPROTO_L2TP 115
17
18/**16/**
19 * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets17 * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets
20 * @l2tp_family: address family number AF_L2TPIP.18 * @l2tp_family: address family number AF_L2TPIP.
include/uapi/linux/landlock.h+5−5
@@ -26,7 +26,7 @@ struct landlock_ruleset_attr { · 25 unmodified lines
26 * Landlock filesystem access rights that are not part of26 * Landlock filesystem access rights that are not part of
27 * handled_access_fs are allowed. This is needed for backward27 * handled_access_fs are allowed. This is needed for backward
28 * compatibility reasons. One exception is the28 * compatibility reasons. One exception is the
29 * LANDLOCK_ACCESS_FS_REFER access right, which is always implicitly29 * %LANDLOCK_ACCESS_FS_REFER access right, which is always implicitly
30 * handled, but must still be explicitly handled to add new rules with30 * handled, but must still be explicitly handled to add new rules with
31 * this access right.31 * this access right.
32 */32 */
@@ -128,11 +128,11 @@ struct landlock_path_beneath_attr { · 95 unmodified lines
128 * hierarchy must also always have the same or a superset of restrictions of128 * hierarchy must also always have the same or a superset of restrictions of
129 * the source hierarchy. If it is not the case, or if the domain doesn't129 * the source hierarchy. If it is not the case, or if the domain doesn't
130 * handle this access right, such actions are denied by default with errno130 * handle this access right, such actions are denied by default with errno
131 * set to EXDEV. Linking also requires a LANDLOCK_ACCESS_FS_MAKE_* access131 * set to ``EXDEV``. Linking also requires a ``LANDLOCK_ACCESS_FS_MAKE_*``
132 * right on the destination directory, and renaming also requires a132 * access right on the destination directory, and renaming also requires a
133 * LANDLOCK_ACCESS_FS_REMOVE_* access right on the source's (file or133 * ``LANDLOCK_ACCESS_FS_REMOVE_*`` access right on the source's (file or
134 * directory) parent. Otherwise, such actions are denied with errno set to134 * directory) parent. Otherwise, such actions are denied with errno set to
135 * EACCES. The EACCES errno prevails over EXDEV to let user space135 * ``EACCES``. The ``EACCES`` errno prevails over ``EXDEV`` to let user space
136 * efficiently deal with an unrecoverable error.136 * efficiently deal with an unrecoverable error.
137 *137 *
138 * .. warning::138 * .. warning::
include/uapi/linux/lwtunnel.h+10−0
@@ -15,6 +15,7 @@ enum lwtunnel_encap_types { · 14 unmodified lines
15 LWTUNNEL_ENCAP_SEG6_LOCAL,15 LWTUNNEL_ENCAP_SEG6_LOCAL,
16 LWTUNNEL_ENCAP_RPL,16 LWTUNNEL_ENCAP_RPL,
17 LWTUNNEL_ENCAP_IOAM6,17 LWTUNNEL_ENCAP_IOAM6,
18 LWTUNNEL_ENCAP_XFRM,
18 __LWTUNNEL_ENCAP_MAX,19 __LWTUNNEL_ENCAP_MAX,
19};20};
20 21
@@ -111,4 +112,13 @@ enum { · 90 unmodified lines
111 112
112#define LWT_BPF_MAX_HEADROOM 256113#define LWT_BPF_MAX_HEADROOM 256
113 114
115enum {
116 LWT_XFRM_UNSPEC,
117 LWT_XFRM_IF_ID,
118 LWT_XFRM_LINK,
119 __LWT_XFRM_MAX,
120};
121
122#define LWT_XFRM_MAX (__LWT_XFRM_MAX - 1)
123
114#endif /* _UAPI_LWTUNNEL_H_ */124#endif /* _UAPI_LWTUNNEL_H_ */
include/uapi/linux/netfilter.h+2−0
@@ -63,7 +63,9 @@ enum { · 62 unmodified lines
63 NFPROTO_NETDEV = 5,63 NFPROTO_NETDEV = 5,
64 NFPROTO_BRIDGE = 7,64 NFPROTO_BRIDGE = 7,
65 NFPROTO_IPV6 = 10,65 NFPROTO_IPV6 = 10,
66#ifndef __KERNEL__ /* no longer supported by kernel */
66 NFPROTO_DECNET = 12,67 NFPROTO_DECNET = 12,
68#endif
67 NFPROTO_NUMPROTO,69 NFPROTO_NUMPROTO,
68};70};
69 71
include/uapi/linux/netfilter/ipset/ip_set.h+0−4
@@ -3,10 +3,6 @@ · 2 unmodified lines
3 * Patrick Schaaf <bof@bof.de>3 * Patrick Schaaf <bof@bof.de>
4 * Martin Josefsson <gandalf@wlug.westbo.se>4 * Martin Josefsson <gandalf@wlug.westbo.se>
5 * Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@netfilter.org>5 * Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@netfilter.org>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */6 */
11#ifndef _UAPI_IP_SET_H7#ifndef _UAPI_IP_SET_H
12#define _UAPI_IP_SET_H8#define _UAPI_IP_SET_H
include/uapi/linux/netfilter/xt_AUDIT.h+0−4
@@ -4,10 +4,6 @@ · 3 unmodified lines
4 *4 *
5 * (C) 2010-2011 Thomas Graf <tgraf@redhat.com>5 * (C) 2010-2011 Thomas Graf <tgraf@redhat.com>
6 * (C) 2010-2011 Red Hat, Inc.6 * (C) 2010-2011 Red Hat, Inc.
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */7 */
12 8
13#ifndef _XT_AUDIT_TARGET_H9#ifndef _XT_AUDIT_TARGET_H
include/uapi/linux/netfilter/xt_connmark.h+4−9
@@ -1,18 +1,13 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com>
3 * by Henrik Nordstrom <hno@marasystems.com>
4 */
5
2#ifndef _XT_CONNMARK_H6#ifndef _XT_CONNMARK_H
3#define _XT_CONNMARK_H7#define _XT_CONNMARK_H
4 8
5#include <linux/types.h>9#include <linux/types.h>
6 10
7/* Copyright (C) 2002,2004 MARA Systems AB <https://www.marasystems.com>
8 * by Henrik Nordstrom <hno@marasystems.com>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 */
15
16enum {11enum {
17 XT_CONNMARK_SET = 0,12 XT_CONNMARK_SET = 0,
18 XT_CONNMARK_SAVE,13 XT_CONNMARK_SAVE,
include/uapi/linux/netfilter/xt_osf.h+0−14
@@ -1,20 +1,6 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*2/*
3 * Copyright (c) 2003+ Evgeniy Polyakov <johnpol@2ka.mxt.ru>3 * Copyright (c) 2003+ Evgeniy Polyakov <johnpol@2ka.mxt.ru>
4 *
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
18 */4 */
19 5
20#ifndef _XT_OSF_H6#ifndef _XT_OSF_H
include/uapi/linux/netfilter_decnet.h+0−72
@@ -1,72 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef __LINUX_DECNET_NETFILTER_H
3#define __LINUX_DECNET_NETFILTER_H
4
5/* DECnet-specific defines for netfilter.
6 * This file (C) Steve Whitehouse 1999 derived from the
7 * ipv4 netfilter header file which is
8 * (C)1998 Rusty Russell -- This code is GPL.
9 */
10
11#include <linux/netfilter.h>
12
13/* only for userspace compatibility */
14#ifndef __KERNEL__
15
16#include <limits.h> /* for INT_MIN, INT_MAX */
17
18/* kernel define is in netfilter_defs.h */
19#define NF_DN_NUMHOOKS 7
20#endif /* ! __KERNEL__ */
21
22/* DECnet Hooks */
23/* After promisc drops, checksum checks. */
24#define NF_DN_PRE_ROUTING 0
25/* If the packet is destined for this box. */
26#define NF_DN_LOCAL_IN 1
27/* If the packet is destined for another interface. */
28#define NF_DN_FORWARD 2
29/* Packets coming from a local process. */
30#define NF_DN_LOCAL_OUT 3
31/* Packets about to hit the wire. */
32#define NF_DN_POST_ROUTING 4
33/* Input Hello Packets */
34#define NF_DN_HELLO 5
35/* Input Routing Packets */
36#define NF_DN_ROUTE 6
37
38enum nf_dn_hook_priorities {
39 NF_DN_PRI_FIRST = INT_MIN,
40 NF_DN_PRI_CONNTRACK = -200,
41 NF_DN_PRI_MANGLE = -150,
42 NF_DN_PRI_NAT_DST = -100,
43 NF_DN_PRI_FILTER = 0,
44 NF_DN_PRI_NAT_SRC = 100,
45 NF_DN_PRI_DNRTMSG = 200,
46 NF_DN_PRI_LAST = INT_MAX,
47};
48
49struct nf_dn_rtmsg {
50 int nfdn_ifindex;
51};
52
53#define NFDN_RTMSG(r) ((unsigned char *)(r) + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg)))
54
55#ifndef __KERNEL__
56/* backwards compatibility for userspace */
57#define DNRMG_L1_GROUP 0x01
58#define DNRMG_L2_GROUP 0x02
59#endif
60
61enum {
62 DNRNG_NLGRP_NONE,
63#define DNRNG_NLGRP_NONE DNRNG_NLGRP_NONE
64 DNRNG_NLGRP_L1,
65#define DNRNG_NLGRP_L1 DNRNG_NLGRP_L1
66 DNRNG_NLGRP_L2,
67#define DNRNG_NLGRP_L2 DNRNG_NLGRP_L2
68 __DNRNG_NLGRP_MAX
69};
70#define DNRNG_NLGRP_MAX (__DNRNG_NLGRP_MAX - 1)
71
72#endif /*__LINUX_DECNET_NETFILTER_H*/
include/uapi/linux/netlink.h+24−7
@@ -20,7 +20,7 @@ · 19 unmodified lines
20#define NETLINK_CONNECTOR 1120#define NETLINK_CONNECTOR 11
21#define NETLINK_NETFILTER 12 /* netfilter subsystem */21#define NETLINK_NETFILTER 12 /* netfilter subsystem */
22#define NETLINK_IP6_FW 1322#define NETLINK_IP6_FW 13
23#define NETLINK_DNRTMSG 14 /* DECnet routing messages */23#define NETLINK_DNRTMSG 14 /* DECnet routing messages (obsolete) */
24#define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */24#define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */
25#define NETLINK_GENERIC 1625#define NETLINK_GENERIC 16
26/* leave room for NETLINK_DM (DM Events) */26/* leave room for NETLINK_DM (DM Events) */
@@ -41,12 +41,20 @@ struct sockaddr_nl { · 14 unmodified lines
41 __u32 nl_groups; /* multicast groups mask */41 __u32 nl_groups; /* multicast groups mask */
42};42};
43 43
44/**
45 * struct nlmsghdr - fixed format metadata header of Netlink messages
46 * @nlmsg_len: Length of message including header
47 * @nlmsg_type: Message content type
48 * @nlmsg_flags: Additional flags
49 * @nlmsg_seq: Sequence number
50 * @nlmsg_pid: Sending process port ID
51 */
44struct nlmsghdr {52struct nlmsghdr {
45 __u32 nlmsg_len; /* Length of message including header */53 __u32 nlmsg_len;
46 __u16 nlmsg_type; /* Message content */54 __u16 nlmsg_type;
47 __u16 nlmsg_flags; /* Additional flags */55 __u16 nlmsg_flags;
48 __u32 nlmsg_seq; /* Sequence number */56 __u32 nlmsg_seq;
49 __u32 nlmsg_pid; /* Sending process port ID */57 __u32 nlmsg_pid;
50};58};
51 59
52/* Flags values */60/* Flags values */
@@ -54,7 +62,7 @@ struct nlmsghdr { · 1 unmodified line
54#define NLM_F_REQUEST 0x01 /* It is request message. */62#define NLM_F_REQUEST 0x01 /* It is request message. */
55#define NLM_F_MULTI 0x02 /* Multipart message, terminated by NLMSG_DONE */63#define NLM_F_MULTI 0x02 /* Multipart message, terminated by NLMSG_DONE */
56#define NLM_F_ACK 0x04 /* Reply with ack, with zero or error code */64#define NLM_F_ACK 0x04 /* Reply with ack, with zero or error code */
57#define NLM_F_ECHO 0x08 /* Echo this request */65#define NLM_F_ECHO 0x08 /* Receive resulting notifications */
58#define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */66#define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */
59#define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */67#define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */
60 68
@@ -132,6 +140,10 @@ struct nlmsgerr { · 71 unmodified lines
132 * be used - in the success case - to identify a created140 * be used - in the success case - to identify a created
133 * object or operation or similar (binary)141 * object or operation or similar (binary)
134 * @NLMSGERR_ATTR_POLICY: policy for a rejected attribute142 * @NLMSGERR_ATTR_POLICY: policy for a rejected attribute
143 * @NLMSGERR_ATTR_MISS_TYPE: type of a missing required attribute,
144 * %NLMSGERR_ATTR_MISS_NEST will not be present if the attribute was
145 * missing at the message level
146 * @NLMSGERR_ATTR_MISS_NEST: offset of the nest where attribute was missing
135 * @__NLMSGERR_ATTR_MAX: number of attributes147 * @__NLMSGERR_ATTR_MAX: number of attributes
136 * @NLMSGERR_ATTR_MAX: highest attribute number148 * @NLMSGERR_ATTR_MAX: highest attribute number
137 */149 */
@@ -141,6 +153,8 @@ enum nlmsgerr_attrs { · 3 unmodified lines
141 NLMSGERR_ATTR_OFFS,153 NLMSGERR_ATTR_OFFS,
142 NLMSGERR_ATTR_COOKIE,154 NLMSGERR_ATTR_COOKIE,
143 NLMSGERR_ATTR_POLICY,155 NLMSGERR_ATTR_POLICY,
156 NLMSGERR_ATTR_MISS_TYPE,
157 NLMSGERR_ATTR_MISS_NEST,
144 158
145 __NLMSGERR_ATTR_MAX,159 __NLMSGERR_ATTR_MAX,
146 NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1160 NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1
@@ -337,6 +351,9 @@ enum netlink_attribute_type { · 190 unmodified lines
337 * bitfield32 type (U32)351 * bitfield32 type (U32)
338 * @NL_POLICY_TYPE_ATTR_MASK: mask of valid bits for unsigned integers (U64)352 * @NL_POLICY_TYPE_ATTR_MASK: mask of valid bits for unsigned integers (U64)
339 * @NL_POLICY_TYPE_ATTR_PAD: pad attribute for 64-bit alignment353 * @NL_POLICY_TYPE_ATTR_PAD: pad attribute for 64-bit alignment
354 *
355 * @__NL_POLICY_TYPE_ATTR_MAX: number of attributes
356 * @NL_POLICY_TYPE_ATTR_MAX: highest attribute number
340 */357 */
341enum netlink_policy_type_attr {358enum netlink_policy_type_attr {
342 NL_POLICY_TYPE_ATTR_UNSPEC,359 NL_POLICY_TYPE_ATTR_UNSPEC,
include/uapi/linux/nl80211.h+22−3
@@ -377,14 +377,22 @@ · 376 unmodified lines
377 * the non-transmitting interfaces are deleted as well.377 * the non-transmitting interfaces are deleted as well.
378 *378 *
379 * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified379 * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified
380 * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC.380 * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC
381 * represents peer's MLD address for MLO pairwise key. For MLO group key,
382 * the link is identified by %NL80211_ATTR_MLO_LINK_ID.
381 * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT,383 * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT,
382 * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD.384 * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD.
385 * For MLO connection, the link to set default key is identified by
386 * %NL80211_ATTR_MLO_LINK_ID.
383 * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA,387 * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA,
384 * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER,388 * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER,
385 * and %NL80211_ATTR_KEY_SEQ attributes.389 * and %NL80211_ATTR_KEY_SEQ attributes. %NL80211_ATTR_MAC represents
390 * peer's MLD address for MLO pairwise key. The link to add MLO
391 * group key is identified by %NL80211_ATTR_MLO_LINK_ID.
386 * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX392 * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX
387 * or %NL80211_ATTR_MAC.393 * or %NL80211_ATTR_MAC. %NL80211_ATTR_MAC represents peer's MLD address
394 * for MLO pairwise key. The link to delete group key is identified by
395 * %NL80211_ATTR_MLO_LINK_ID.
388 *396 *
389 * @NL80211_CMD_GET_BEACON: (not used)397 * @NL80211_CMD_GET_BEACON: (not used)
390 * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface398 * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface
@@ -4951,6 +4959,7 @@ enum nl80211_bss_scan_width { · 4560 unmodified lines
4951 * using the nesting index as the antenna number.4959 * using the nesting index as the antenna number.
4952 * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz4960 * @NL80211_BSS_FREQUENCY_OFFSET: frequency offset in KHz
4953 * @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8).4961 * @NL80211_BSS_MLO_LINK_ID: MLO link ID of the BSS (u8).
4962 * @NL80211_BSS_MLD_ADDR: MLD address of this BSS if connected to it.
4954 * @__NL80211_BSS_AFTER_LAST: internal4963 * @__NL80211_BSS_AFTER_LAST: internal
4955 * @NL80211_BSS_MAX: highest BSS attribute4964 * @NL80211_BSS_MAX: highest BSS attribute
4956 */4965 */
@@ -4977,6 +4986,7 @@ enum nl80211_bss { · 20 unmodified lines
4977 NL80211_BSS_CHAIN_SIGNAL,4986 NL80211_BSS_CHAIN_SIGNAL,
4978 NL80211_BSS_FREQUENCY_OFFSET,4987 NL80211_BSS_FREQUENCY_OFFSET,
4979 NL80211_BSS_MLO_LINK_ID,4988 NL80211_BSS_MLO_LINK_ID,
4989 NL80211_BSS_MLD_ADDR,
4980 4990
4981 /* keep last */4991 /* keep last */
4982 __NL80211_BSS_AFTER_LAST,4992 __NL80211_BSS_AFTER_LAST,
@@ -6273,6 +6283,14 @@ enum nl80211_feature_flags { · 1290 unmodified lines
6273 * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC6283 * @NL80211_EXT_FEATURE_RADAR_BACKGROUND: Device supports background radar/CAC
6274 * detection.6284 * detection.
6275 *6285 *
6286 * @NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE: Device can perform a MAC address
6287 * change without having to bring the underlying network device down
6288 * first. For example, in station mode this can be used to vary the
6289 * origin MAC address prior to a connection to a new AP for privacy
6290 * or other reasons. Note that certain driver specific restrictions
6291 * might apply, e.g. no scans in progress, no offchannel operations
6292 * in progress, and no active connections.
6293 *
6276 * @NUM_NL80211_EXT_FEATURES: number of extended features.6294 * @NUM_NL80211_EXT_FEATURES: number of extended features.
6277 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.6295 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
6278 */6296 */
@@ -6340,6 +6358,7 @@ enum nl80211_ext_feature_index { · 61 unmodified lines
6340 NL80211_EXT_FEATURE_BSS_COLOR,6358 NL80211_EXT_FEATURE_BSS_COLOR,
6341 NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,6359 NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
6342 NL80211_EXT_FEATURE_RADAR_BACKGROUND,6360 NL80211_EXT_FEATURE_RADAR_BACKGROUND,
6361 NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE,
6343 6362
6344 /* add new features before the definition below */6363 /* add new features before the definition below */
6345 NUM_NL80211_EXT_FEATURES,6364 NUM_NL80211_EXT_FEATURES,
include/uapi/linux/openvswitch.h+3−0
@@ -76,6 +76,8 @@ enum ovs_datapath_cmd { · 75 unmodified lines
76 * datapath. Always present in notifications.76 * datapath. Always present in notifications.
77 * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the77 * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the
78 * datapath. Always present in notifications.78 * datapath. Always present in notifications.
79 * @OVS_DP_ATTR_IFINDEX: Interface index for a new datapath netdev. Only
80 * valid for %OVS_DP_CMD_NEW requests.
79 *81 *
80 * These attributes follow the &struct ovs_header within the Generic Netlink82 * These attributes follow the &struct ovs_header within the Generic Netlink
81 * payload for %OVS_DP_* commands.83 * payload for %OVS_DP_* commands.
@@ -92,6 +94,7 @@ enum ovs_datapath_attr { · 10 unmodified lines
92 OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in94 OVS_DP_ATTR_PER_CPU_PIDS, /* Netlink PIDS to receive upcalls in
93 * per-cpu dispatch mode95 * per-cpu dispatch mode
94 */96 */
97 OVS_DP_ATTR_IFINDEX,
95 __OVS_DP_ATTR_MAX98 __OVS_DP_ATTR_MAX
96};99};
97 100
include/uapi/linux/perf_event.h+52−5
@@ -164,8 +164,6 @@ enum perf_event_sample_format { · 163 unmodified lines
164 PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24,164 PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24,
165 165
166 PERF_SAMPLE_MAX = 1U << 25, /* non-ABI */166 PERF_SAMPLE_MAX = 1U << 25, /* non-ABI */
167
168 __PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63, /* non-ABI; internal use */
169};167};
170 168
171#define PERF_SAMPLE_WEIGHT_TYPE (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT)169#define PERF_SAMPLE_WEIGHT_TYPE (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT)
@@ -204,6 +202,8 @@ enum perf_branch_sample_type_shift { · 32 unmodified lines
204 202
205 PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, /* save low level index of raw branch records */203 PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, /* save low level index of raw branch records */
206 204
205 PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18, /* save privilege mode */
206
207 PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */207 PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */
208};208};
209 209
@@ -233,6 +233,8 @@ enum perf_branch_sample_type { · 23 unmodified lines
233 233
234 PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT,234 PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT,
235 235
236 PERF_SAMPLE_BRANCH_PRIV_SAVE = 1U << PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT,
237
236 PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT,238 PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT,
237};239};
238 240
@@ -253,9 +255,48 @@ enum { · 14 unmodified lines
253 PERF_BR_COND_RET = 10, /* conditional function return */255 PERF_BR_COND_RET = 10, /* conditional function return */
254 PERF_BR_ERET = 11, /* exception return */256 PERF_BR_ERET = 11, /* exception return */
255 PERF_BR_IRQ = 12, /* irq */257 PERF_BR_IRQ = 12, /* irq */
258 PERF_BR_SERROR = 13, /* system error */
259 PERF_BR_NO_TX = 14, /* not in transaction */
260 PERF_BR_EXTEND_ABI = 15, /* extend ABI */
256 PERF_BR_MAX,261 PERF_BR_MAX,
257};262};
258 263
264/*
265 * Common branch speculation outcome classification
266 */
267enum {
268 PERF_BR_SPEC_NA = 0, /* Not available */
269 PERF_BR_SPEC_WRONG_PATH = 1, /* Speculative but on wrong path */
270 PERF_BR_NON_SPEC_CORRECT_PATH = 2, /* Non-speculative but on correct path */
271 PERF_BR_SPEC_CORRECT_PATH = 3, /* Speculative and on correct path */
272 PERF_BR_SPEC_MAX,
273};
274
275enum {
276 PERF_BR_NEW_FAULT_ALGN = 0, /* Alignment fault */
277 PERF_BR_NEW_FAULT_DATA = 1, /* Data fault */
278 PERF_BR_NEW_FAULT_INST = 2, /* Inst fault */
279 PERF_BR_NEW_ARCH_1 = 3, /* Architecture specific */
280 PERF_BR_NEW_ARCH_2 = 4, /* Architecture specific */
281 PERF_BR_NEW_ARCH_3 = 5, /* Architecture specific */
282 PERF_BR_NEW_ARCH_4 = 6, /* Architecture specific */
283 PERF_BR_NEW_ARCH_5 = 7, /* Architecture specific */
284 PERF_BR_NEW_MAX,
285};
286
287enum {
288 PERF_BR_PRIV_UNKNOWN = 0,
289 PERF_BR_PRIV_USER = 1,
290 PERF_BR_PRIV_KERNEL = 2,
291 PERF_BR_PRIV_HV = 3,
292};
293
294#define PERF_BR_ARM64_FIQ PERF_BR_NEW_ARCH_1
295#define PERF_BR_ARM64_DEBUG_HALT PERF_BR_NEW_ARCH_2
296#define PERF_BR_ARM64_DEBUG_EXIT PERF_BR_NEW_ARCH_3
297#define PERF_BR_ARM64_DEBUG_INST PERF_BR_NEW_ARCH_4
298#define PERF_BR_ARM64_DEBUG_DATA PERF_BR_NEW_ARCH_5
299
259#define PERF_SAMPLE_BRANCH_PLM_ALL \300#define PERF_SAMPLE_BRANCH_PLM_ALL \
260 (PERF_SAMPLE_BRANCH_USER|\301 (PERF_SAMPLE_BRANCH_USER|\
261 PERF_SAMPLE_BRANCH_KERNEL|\302 PERF_SAMPLE_BRANCH_KERNEL|\
@@ -1295,7 +1336,9 @@ union perf_mem_data_src { · 1033 unmodified lines
1295#define PERF_MEM_LVLNUM_L2 0x02 /* L2 */1336#define PERF_MEM_LVLNUM_L2 0x02 /* L2 */
1296#define PERF_MEM_LVLNUM_L3 0x03 /* L3 */1337#define PERF_MEM_LVLNUM_L3 0x03 /* L3 */
1297#define PERF_MEM_LVLNUM_L4 0x04 /* L4 */1338#define PERF_MEM_LVLNUM_L4 0x04 /* L4 */
1298/* 5-0xa available */1339/* 5-0x8 available */
1340#define PERF_MEM_LVLNUM_EXTN_MEM 0x09 /* Extension memory */
1341#define PERF_MEM_LVLNUM_IO 0x0a /* I/O */
1299#define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */1342#define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */
1300#define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */1343#define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */
1301#define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */1344#define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */
@@ -1313,7 +1356,7 @@ union perf_mem_data_src { · 11 unmodified lines
1313#define PERF_MEM_SNOOP_SHIFT 191356#define PERF_MEM_SNOOP_SHIFT 19
1314 1357
1315#define PERF_MEM_SNOOPX_FWD 0x01 /* forward */1358#define PERF_MEM_SNOOPX_FWD 0x01 /* forward */
1316/* 1 free */1359#define PERF_MEM_SNOOPX_PEER 0x02 /* xfer from peer */
1317#define PERF_MEM_SNOOPX_SHIFT 381360#define PERF_MEM_SNOOPX_SHIFT 38
1318 1361
1319/* locked instruction */1362/* locked instruction */
@@ -1363,6 +1406,7 @@ union perf_mem_data_src { · 43 unmodified lines
1363 * abort: aborting a hardware transaction1406 * abort: aborting a hardware transaction
1364 * cycles: cycles from last branch (or 0 if not supported)1407 * cycles: cycles from last branch (or 0 if not supported)
1365 * type: branch type1408 * type: branch type
1409 * spec: branch speculation info (or 0 if not supported)
1366 */1410 */
1367struct perf_branch_entry {1411struct perf_branch_entry {
1368 __u64 from;1412 __u64 from;
@@ -1373,7 +1417,10 @@ struct perf_branch_entry { · 4 unmodified lines
1373 abort:1, /* transaction abort */1417 abort:1, /* transaction abort */
1374 cycles:16, /* cycle count to last branch */1418 cycles:16, /* cycle count to last branch */
1375 type:4, /* branch type */1419 type:4, /* branch type */
1376 reserved:40;1420 spec:2, /* branch speculation info */
1421 new_type:4, /* additional branch type */
1422 priv:3, /* privilege level */
1423 reserved:31;
1377};1424};
1378 1425
1379union perf_sample_weight {1426union perf_sample_weight {
include/uapi/linux/pkt_cls.h+2−0
@@ -592,6 +592,8 @@ enum { · 591 unmodified lines
592 TCA_FLOWER_KEY_PPPOE_SID, /* be16 */592 TCA_FLOWER_KEY_PPPOE_SID, /* be16 */
593 TCA_FLOWER_KEY_PPP_PROTO, /* be16 */593 TCA_FLOWER_KEY_PPP_PROTO, /* be16 */
594 594
595 TCA_FLOWER_KEY_L2TPV3_SID, /* be32 */
596
595 __TCA_FLOWER_MAX,597 __TCA_FLOWER_MAX,
596};598};
597 599
include/uapi/linux/pkt_sched.h+11−0
@@ -1232,6 +1232,16 @@ enum { · 1231 unmodified lines
1232#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0)1232#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST _BITUL(0)
1233#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1)1233#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD _BITUL(1)
1234 1234
1235enum {
1236 TCA_TAPRIO_TC_ENTRY_UNSPEC,
1237 TCA_TAPRIO_TC_ENTRY_INDEX, /* u32 */
1238 TCA_TAPRIO_TC_ENTRY_MAX_SDU, /* u32 */
1239
1240 /* add new constants above here */
1241 __TCA_TAPRIO_TC_ENTRY_CNT,
1242 TCA_TAPRIO_TC_ENTRY_MAX = (__TCA_TAPRIO_TC_ENTRY_CNT - 1)
1243};
1244
1235enum {1245enum {
1236 TCA_TAPRIO_ATTR_UNSPEC,1246 TCA_TAPRIO_ATTR_UNSPEC,
1237 TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */1247 TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */
@@ -1245,6 +1255,7 @@ enum { · 7 unmodified lines
1245 TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */1255 TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */
1246 TCA_TAPRIO_ATTR_FLAGS, /* u32 */1256 TCA_TAPRIO_ATTR_FLAGS, /* u32 */
1247 TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */1257 TCA_TAPRIO_ATTR_TXTIME_DELAY, /* u32 */
1258 TCA_TAPRIO_ATTR_TC_ENTRY, /* nest */
1248 __TCA_TAPRIO_ATTR_MAX,1259 __TCA_TAPRIO_ATTR_MAX,
1249};1260};
1250 1261
include/uapi/linux/psci.h+14−0
@@ -48,12 +48,26 @@ · 47 unmodified lines
48#define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7)48#define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7)
49 49
50#define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10)50#define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10)
51#define PSCI_1_0_FN_CPU_FREEZE PSCI_0_2_FN(11)
52#define PSCI_1_0_FN_CPU_DEFAULT_SUSPEND PSCI_0_2_FN(12)
53#define PSCI_1_0_FN_NODE_HW_STATE PSCI_0_2_FN(13)
51#define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14)54#define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14)
52#define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15)55#define PSCI_1_0_FN_SET_SUSPEND_MODE PSCI_0_2_FN(15)
56#define PSCI_1_0_FN_STAT_RESIDENCY PSCI_0_2_FN(16)
57#define PSCI_1_0_FN_STAT_COUNT PSCI_0_2_FN(17)
58
53#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)59#define PSCI_1_1_FN_SYSTEM_RESET2 PSCI_0_2_FN(18)
60#define PSCI_1_1_FN_MEM_PROTECT PSCI_0_2_FN(19)
61#define PSCI_1_1_FN_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN(19)
54 62
63#define PSCI_1_0_FN64_CPU_DEFAULT_SUSPEND PSCI_0_2_FN64(12)
64#define PSCI_1_0_FN64_NODE_HW_STATE PSCI_0_2_FN64(13)
55#define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14)65#define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14)
66#define PSCI_1_0_FN64_STAT_RESIDENCY PSCI_0_2_FN64(16)
67#define PSCI_1_0_FN64_STAT_COUNT PSCI_0_2_FN64(17)
68
56#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)69#define PSCI_1_1_FN64_SYSTEM_RESET2 PSCI_0_2_FN64(18)
70#define PSCI_1_1_FN64_MEM_PROTECT_CHECK_RANGE PSCI_0_2_FN64(19)
57 71
58/* PSCI v0.2 power state encoding for CPU_SUSPEND function */72/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
59#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff73#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
include/uapi/linux/sed-opal.h+13−0
@@ -132,6 +132,18 @@ struct opal_read_write_table { · 131 unmodified lines
132 __u64 priv;132 __u64 priv;
133};133};
134 134
135#define OPAL_FL_SUPPORTED 0x00000001
136#define OPAL_FL_LOCKING_SUPPORTED 0x00000002
137#define OPAL_FL_LOCKING_ENABLED 0x00000004
138#define OPAL_FL_LOCKED 0x00000008
139#define OPAL_FL_MBR_ENABLED 0x00000010
140#define OPAL_FL_MBR_DONE 0x00000020
141
142struct opal_status {
143 __u32 flags;
144 __u32 reserved;
145};
146
135#define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock)147#define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock)
136#define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock)148#define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock)
137#define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key)149#define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key)
@@ -148,5 +160,6 @@ struct opal_read_write_table { · 10 unmodified lines
148#define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done)160#define IOC_OPAL_MBR_DONE _IOW('p', 233, struct opal_mbr_done)
149#define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr)161#define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr)
150#define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table)162#define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table)
163#define IOC_OPAL_GET_STATUS _IOR('p', 236, struct opal_status)
151 164
152#endif /* _UAPI_SED_OPAL_H */165#endif /* _UAPI_SED_OPAL_H */
include/uapi/linux/seg6_local.h+24−0
@@ -28,6 +28,7 @@ enum { · 27 unmodified lines
28 SEG6_LOCAL_BPF,28 SEG6_LOCAL_BPF,
29 SEG6_LOCAL_VRFTABLE,29 SEG6_LOCAL_VRFTABLE,
30 SEG6_LOCAL_COUNTERS,30 SEG6_LOCAL_COUNTERS,
31 SEG6_LOCAL_FLAVORS,
31 __SEG6_LOCAL_MAX,32 __SEG6_LOCAL_MAX,
32};33};
33#define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1)34#define SEG6_LOCAL_MAX (__SEG6_LOCAL_MAX - 1)
@@ -110,4 +111,27 @@ enum { · 76 unmodified lines
110 111
111#define SEG6_LOCAL_CNT_MAX (__SEG6_LOCAL_CNT_MAX - 1)112#define SEG6_LOCAL_CNT_MAX (__SEG6_LOCAL_CNT_MAX - 1)
112 113
114/* SRv6 End* Flavor attributes */
115enum {
116 SEG6_LOCAL_FLV_UNSPEC,
117 SEG6_LOCAL_FLV_OPERATION,
118 SEG6_LOCAL_FLV_LCBLOCK_BITS,
119 SEG6_LOCAL_FLV_LCNODE_FN_BITS,
120 __SEG6_LOCAL_FLV_MAX,
121};
122
123#define SEG6_LOCAL_FLV_MAX (__SEG6_LOCAL_FLV_MAX - 1)
124
125/* Designed flavor operations for SRv6 End* Behavior */
126enum {
127 SEG6_LOCAL_FLV_OP_UNSPEC,
128 SEG6_LOCAL_FLV_OP_PSP,
129 SEG6_LOCAL_FLV_OP_USP,
130 SEG6_LOCAL_FLV_OP_USD,
131 SEG6_LOCAL_FLV_OP_NEXT_CSID,
132 __SEG6_LOCAL_FLV_OP_MAX
133};
134
135#define SEG6_LOCAL_FLV_OP_MAX (__SEG6_LOCAL_FLV_OP_MAX - 1)
136
113#endif137#endif
include/uapi/linux/stat.h+3−1
@@ -124,7 +124,8 @@ struct statx { · 123 unmodified lines
124 __u32 stx_dev_minor;124 __u32 stx_dev_minor;
125 /* 0x90 */125 /* 0x90 */
126 __u64 stx_mnt_id;126 __u64 stx_mnt_id;
127 __u64 __spare2;127 __u32 stx_dio_mem_align; /* Memory buffer alignment for direct I/O */
128 __u32 stx_dio_offset_align; /* File offset alignment for direct I/O */
128 /* 0xa0 */129 /* 0xa0 */
129 __u64 __spare3[12]; /* Spare space for future expansion */130 __u64 __spare3[12]; /* Spare space for future expansion */
130 /* 0x100 */131 /* 0x100 */
@@ -152,6 +153,7 @@ struct statx { · 21 unmodified lines
152#define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */153#define STATX_BASIC_STATS 0x000007ffU /* The stuff in the normal stat struct */
153#define STATX_BTIME 0x00000800U /* Want/got stx_btime */154#define STATX_BTIME 0x00000800U /* Want/got stx_btime */
154#define STATX_MNT_ID 0x00001000U /* Got stx_mnt_id */155#define STATX_MNT_ID 0x00001000U /* Got stx_mnt_id */
156#define STATX_DIOALIGN 0x00002000U /* Want/got direct I/O alignment info */
155 157
156#define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */158#define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */
157 159
include/uapi/linux/tc_act/tc_bpf.h+0−5
@@ -1,11 +1,6 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*2/*
3 * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>3 * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 */4 */
10 5
11#ifndef __LINUX_TC_BPF_H6#ifndef __LINUX_TC_BPF_H
include/uapi/linux/tc_act/tc_skbedit.h+0−13
@@ -2,19 +2,6 @@ · 1 unmodified line
2/*2/*
3 * Copyright (c) 2008, Intel Corporation.3 * Copyright (c) 2008, Intel Corporation.
4 *4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
16 * Place - Suite 330, Boston, MA 02111-1307 USA.
17 *
18 * Author: Alexander Duyck <alexander.h.duyck@intel.com>5 * Author: Alexander Duyck <alexander.h.duyck@intel.com>
19 */6 */
20 7
include/uapi/linux/tc_act/tc_skbmod.h+1−6
@@ -1,12 +1,7 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*2/*
3 * Copyright (c) 2016, Jamal Hadi Salim3 * Copyright (c) 2016, Jamal Hadi Salim
4 *4 */
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9*/
10 5
11#ifndef __LINUX_TC_SKBMOD_H6#ifndef __LINUX_TC_SKBMOD_H
12#define __LINUX_TC_SKBMOD_H7#define __LINUX_TC_SKBMOD_H
include/uapi/linux/tc_act/tc_tunnel_key.h+0−5
@@ -2,11 +2,6 @@ · 1 unmodified line
2/*2/*
3 * Copyright (c) 2016, Amir Vadai <amir@vadai.me>3 * Copyright (c) 2016, Amir Vadai <amir@vadai.me>
4 * Copyright (c) 2016, Mellanox Technologies. All rights reserved.4 * Copyright (c) 2016, Mellanox Technologies. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 */5 */
11 6
12#ifndef __LINUX_TC_TUNNEL_KEY_H7#ifndef __LINUX_TC_TUNNEL_KEY_H
include/uapi/linux/tc_act/tc_vlan.h+0−5
@@ -1,11 +1,6 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*2/*
3 * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us>3 * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 */4 */
10 5
11#ifndef __LINUX_TC_VLAN_H6#ifndef __LINUX_TC_VLAN_H
include/uapi/linux/tls.h+30−0
@@ -100,6 +100,20 @@ · 99 unmodified lines
100#define TLS_CIPHER_SM4_CCM_TAG_SIZE 16100#define TLS_CIPHER_SM4_CCM_TAG_SIZE 16
101#define TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE 8101#define TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE 8
102 102
103#define TLS_CIPHER_ARIA_GCM_128 57
104#define TLS_CIPHER_ARIA_GCM_128_IV_SIZE 8
105#define TLS_CIPHER_ARIA_GCM_128_KEY_SIZE 16
106#define TLS_CIPHER_ARIA_GCM_128_SALT_SIZE 4
107#define TLS_CIPHER_ARIA_GCM_128_TAG_SIZE 16
108#define TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE 8
109
110#define TLS_CIPHER_ARIA_GCM_256 58
111#define TLS_CIPHER_ARIA_GCM_256_IV_SIZE 8
112#define TLS_CIPHER_ARIA_GCM_256_KEY_SIZE 32
113#define TLS_CIPHER_ARIA_GCM_256_SALT_SIZE 4
114#define TLS_CIPHER_ARIA_GCM_256_TAG_SIZE 16
115#define TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE 8
116
103#define TLS_SET_RECORD_TYPE 1117#define TLS_SET_RECORD_TYPE 1
104#define TLS_GET_RECORD_TYPE 2118#define TLS_GET_RECORD_TYPE 2
105 119
@@ -156,6 +170,22 @@ struct tls12_crypto_info_sm4_ccm { · 50 unmodified lines
156 unsigned char rec_seq[TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE];170 unsigned char rec_seq[TLS_CIPHER_SM4_CCM_REC_SEQ_SIZE];
157};171};
158 172
173struct tls12_crypto_info_aria_gcm_128 {
174 struct tls_crypto_info info;
175 unsigned char iv[TLS_CIPHER_ARIA_GCM_128_IV_SIZE];
176 unsigned char key[TLS_CIPHER_ARIA_GCM_128_KEY_SIZE];
177 unsigned char salt[TLS_CIPHER_ARIA_GCM_128_SALT_SIZE];
178 unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_128_REC_SEQ_SIZE];
179};
180
181struct tls12_crypto_info_aria_gcm_256 {
182 struct tls_crypto_info info;
183 unsigned char iv[TLS_CIPHER_ARIA_GCM_256_IV_SIZE];
184 unsigned char key[TLS_CIPHER_ARIA_GCM_256_KEY_SIZE];
185 unsigned char salt[TLS_CIPHER_ARIA_GCM_256_SALT_SIZE];
186 unsigned char rec_seq[TLS_CIPHER_ARIA_GCM_256_REC_SEQ_SIZE];
187};
188
159enum {189enum {
160 TLS_INFO_UNSPEC,190 TLS_INFO_UNSPEC,
161 TLS_INFO_VERSION,191 TLS_INFO_VERSION,
include/uapi/linux/ublk_cmd.h+7−1
@@ -17,7 +17,8 @@ · 16 unmodified lines
17#define UBLK_CMD_STOP_DEV 0x0717#define UBLK_CMD_STOP_DEV 0x07
18#define UBLK_CMD_SET_PARAMS 0x0818#define UBLK_CMD_SET_PARAMS 0x08
19#define UBLK_CMD_GET_PARAMS 0x0919#define UBLK_CMD_GET_PARAMS 0x09
20 20#define UBLK_CMD_START_USER_RECOVERY 0x10
21#define UBLK_CMD_END_USER_RECOVERY 0x11
21/*22/*
22 * IO commands, issued by ublk server, and handled by ublk driver.23 * IO commands, issued by ublk server, and handled by ublk driver.
23 *24 *
@@ -74,9 +75,14 @@ · 50 unmodified lines
74 */75 */
75#define UBLK_F_NEED_GET_DATA (1UL << 2)76#define UBLK_F_NEED_GET_DATA (1UL << 2)
76 77
78#define UBLK_F_USER_RECOVERY (1UL << 3)
79
80#define UBLK_F_USER_RECOVERY_REISSUE (1UL << 4)
81
77/* device state */82/* device state */
78#define UBLK_S_DEV_DEAD 083#define UBLK_S_DEV_DEAD 0
79#define UBLK_S_DEV_LIVE 184#define UBLK_S_DEV_LIVE 1
85#define UBLK_S_DEV_QUIESCED 2
80 86
81/* shipped via sqe->cmd of io_uring command */87/* shipped via sqe->cmd of io_uring command */
82struct ublksrv_ctrl_cmd {88struct ublksrv_ctrl_cmd {
include/uapi/linux/usbip.h+26−0
@@ -24,4 +24,30 @@ enum usbip_device_status { · 23 unmodified lines
24 VDEV_ST_USED,24 VDEV_ST_USED,
25 VDEV_ST_ERROR25 VDEV_ST_ERROR
26};26};
27
28/* USB URB Transfer flags:
29 *
30 * USBIP server and client (vchi) pack URBs in TCP packets. The following
31 * are the transfer type defines used in USBIP protocol.
32 */
33
34#define USBIP_URB_SHORT_NOT_OK 0x0001
35#define USBIP_URB_ISO_ASAP 0x0002
36#define USBIP_URB_NO_TRANSFER_DMA_MAP 0x0004
37#define USBIP_URB_ZERO_PACKET 0x0040
38#define USBIP_URB_NO_INTERRUPT 0x0080
39#define USBIP_URB_FREE_BUFFER 0x0100
40#define USBIP_URB_DIR_IN 0x0200
41#define USBIP_URB_DIR_OUT 0
42#define USBIP_URB_DIR_MASK USBIP_URB_DIR_IN
43
44#define USBIP_URB_DMA_MAP_SINGLE 0x00010000
45#define USBIP_URB_DMA_MAP_PAGE 0x00020000
46#define USBIP_URB_DMA_MAP_SG 0x00040000
47#define USBIP_URB_MAP_LOCAL 0x00080000
48#define USBIP_URB_SETUP_MAP_SINGLE 0x00100000
49#define USBIP_URB_SETUP_MAP_LOCAL 0x00200000
50#define USBIP_URB_DMA_SG_COMBINED 0x00400000
51#define USBIP_URB_ALIGNED_TEMP_BUFFER 0x00800000
52
27#endif /* _UAPI_LINUX_USBIP_H */53#endif /* _UAPI_LINUX_USBIP_H */
include/uapi/linux/userfaultfd.h+4−0
@@ -12,6 +12,10 @@ · 11 unmodified lines
12 12
13#include <linux/types.h>13#include <linux/types.h>
14 14
15/* ioctls for /dev/userfaultfd */
16#define USERFAULTFD_IOC 0xAA
17#define USERFAULTFD_IOC_NEW _IO(USERFAULTFD_IOC, 0x00)
18
15/*19/*
16 * If the UFFDIO_API is upgraded someday, the UFFDIO_UNREGISTER and20 * If the UFFDIO_API is upgraded someday, the UFFDIO_UNREGISTER and
17 * UFFDIO_WAKE ioctls should be defined as _IOW and not as _IOR. In21 * UFFDIO_WAKE ioctls should be defined as _IOW and not as _IOR. In
include/uapi/linux/v4l2-controls.h+7−1
@@ -225,6 +225,12 @@ enum v4l2_colorfx { · 224 unmodified lines
225 */225 */
226#define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180)226#define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180)
227 227
228/*
229 * The base for DW100 driver controls.
230 * We reserve 16 controls for this driver.
231 */
232#define V4L2_CID_USER_DW100_BASE (V4L2_CID_USER_BASE + 0x1190)
233
228/* MPEG-class control IDs */234/* MPEG-class control IDs */
229/* The MPEG controls are applicable to all codec controls235/* The MPEG controls are applicable to all codec controls
230 * and the 'MPEG' part of the define is historical */236 * and the 'MPEG' part of the define is historical */
@@ -1730,7 +1736,7 @@ struct v4l2_vp8_segment { · 1499 unmodified lines
1730 * @sharpness_level: matches sharpness_level syntax element.1736 * @sharpness_level: matches sharpness_level syntax element.
1731 * @level: matches loop_filter_level syntax element.1737 * @level: matches loop_filter_level syntax element.
1732 * @padding: padding field. Should be zeroed by applications.1738 * @padding: padding field. Should be zeroed by applications.
1733 * @flags: see V4L2_VP8_LF_FLAG_{}.1739 * @flags: see V4L2_VP8_LF_{}.
1734 *1740 *
1735 * This structure contains loop filter related parameters.1741 * This structure contains loop filter related parameters.
1736 * See the 'mb_lf_adjustments()' part of the frame header syntax,1742 * See the 'mb_lf_adjustments()' part of the frame header syntax,
include/uapi/linux/vdpa.h+6−0
@@ -46,12 +46,18 @@ enum vdpa_attr { · 45 unmodified lines
46 46
47 VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */47 VDPA_ATTR_DEV_NEGOTIATED_FEATURES, /* u64 */
48 VDPA_ATTR_DEV_MGMTDEV_MAX_VQS, /* u32 */48 VDPA_ATTR_DEV_MGMTDEV_MAX_VQS, /* u32 */
49 /* virtio features that are supported by the vDPA management device */
49 VDPA_ATTR_DEV_SUPPORTED_FEATURES, /* u64 */50 VDPA_ATTR_DEV_SUPPORTED_FEATURES, /* u64 */
50 51
51 VDPA_ATTR_DEV_QUEUE_INDEX, /* u32 */52 VDPA_ATTR_DEV_QUEUE_INDEX, /* u32 */
52 VDPA_ATTR_DEV_VENDOR_ATTR_NAME, /* string */53 VDPA_ATTR_DEV_VENDOR_ATTR_NAME, /* string */
53 VDPA_ATTR_DEV_VENDOR_ATTR_VALUE, /* u64 */54 VDPA_ATTR_DEV_VENDOR_ATTR_VALUE, /* u64 */
54 55
56 VDPA_ATTR_DEV_FEATURES, /* u64 */
57
58 /* virtio features that are supported by the vDPA device */
59 VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES, /* u64 */
60
55 /* new attributes must be added above here */61 /* new attributes must be added above here */
56 VDPA_ATTR_MAX,62 VDPA_ATTR_MAX,
57};63};
include/uapi/linux/vfio.h+142−0
@@ -986,6 +986,148 @@ enum vfio_device_mig_state { · 985 unmodified lines
986 VFIO_DEVICE_STATE_RUNNING_P2P = 5,986 VFIO_DEVICE_STATE_RUNNING_P2P = 5,
987};987};
988 988
989/*
990 * Upon VFIO_DEVICE_FEATURE_SET, allow the device to be moved into a low power
991 * state with the platform-based power management. Device use of lower power
992 * states depends on factors managed by the runtime power management core,
993 * including system level support and coordinating support among dependent
994 * devices. Enabling device low power entry does not guarantee lower power
995 * usage by the device, nor is a mechanism provided through this feature to
996 * know the current power state of the device. If any device access happens
997 * (either from the host or through the vfio uAPI) when the device is in the
998 * low power state, then the host will move the device out of the low power
999 * state as necessary prior to the access. Once the access is completed, the
1000 * device may re-enter the low power state. For single shot low power support
1001 * with wake-up notification, see
1002 * VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP below. Access to mmap'd
1003 * device regions is disabled on LOW_POWER_ENTRY and may only be resumed after
1004 * calling LOW_POWER_EXIT.
1005 */
1006#define VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY 3
1007
1008/*
1009 * This device feature has the same behavior as
1010 * VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY with the exception that the user
1011 * provides an eventfd for wake-up notification. When the device moves out of
1012 * the low power state for the wake-up, the host will not allow the device to
1013 * re-enter a low power state without a subsequent user call to one of the low
1014 * power entry device feature IOCTLs. Access to mmap'd device regions is
1015 * disabled on LOW_POWER_ENTRY_WITH_WAKEUP and may only be resumed after the
1016 * low power exit. The low power exit can happen either through LOW_POWER_EXIT
1017 * or through any other access (where the wake-up notification has been
1018 * generated). The access to mmap'd device regions will not trigger low power
1019 * exit.
1020 *
1021 * The notification through the provided eventfd will be generated only when
1022 * the device has entered and is resumed from a low power state after
1023 * calling this device feature IOCTL. A device that has not entered low power
1024 * state, as managed through the runtime power management core, will not
1025 * generate a notification through the provided eventfd on access. Calling the
1026 * LOW_POWER_EXIT feature is optional in the case where notification has been
1027 * signaled on the provided eventfd that a resume from low power has occurred.
1028 */
1029struct vfio_device_low_power_entry_with_wakeup {
1030 __s32 wakeup_eventfd;
1031 __u32 reserved;
1032};
1033
1034#define VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP 4
1035
1036/*
1037 * Upon VFIO_DEVICE_FEATURE_SET, disallow use of device low power states as
1038 * previously enabled via VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY or
1039 * VFIO_DEVICE_FEATURE_LOW_POWER_ENTRY_WITH_WAKEUP device features.
1040 * This device feature IOCTL may itself generate a wakeup eventfd notification
1041 * in the latter case if the device had previously entered a low power state.
1042 */
1043#define VFIO_DEVICE_FEATURE_LOW_POWER_EXIT 5
1044
1045/*
1046 * Upon VFIO_DEVICE_FEATURE_SET start/stop device DMA logging.
1047 * VFIO_DEVICE_FEATURE_PROBE can be used to detect if the device supports
1048 * DMA logging.
1049 *
1050 * DMA logging allows a device to internally record what DMAs the device is
1051 * initiating and report them back to userspace. It is part of the VFIO
1052 * migration infrastructure that allows implementing dirty page tracking
1053 * during the pre copy phase of live migration. Only DMA WRITEs are logged,
1054 * and this API is not connected to VFIO_DEVICE_FEATURE_MIG_DEVICE_STATE.
1055 *
1056 * When DMA logging is started a range of IOVAs to monitor is provided and the
1057 * device can optimize its logging to cover only the IOVA range given. Each
1058 * DMA that the device initiates inside the range will be logged by the device
1059 * for later retrieval.
1060 *
1061 * page_size is an input that hints what tracking granularity the device
1062 * should try to achieve. If the device cannot do the hinted page size then
1063 * it's the driver choice which page size to pick based on its support.
1064 * On output the device will return the page size it selected.
1065 *
1066 * ranges is a pointer to an array of
1067 * struct vfio_device_feature_dma_logging_range.
1068 *
1069 * The core kernel code guarantees to support by minimum num_ranges that fit
1070 * into a single kernel page. User space can try higher values but should give
1071 * up if the above can't be achieved as of some driver limitations.
1072 *
1073 * A single call to start device DMA logging can be issued and a matching stop
1074 * should follow at the end. Another start is not allowed in the meantime.
1075 */
1076struct vfio_device_feature_dma_logging_control {
1077 __aligned_u64 page_size;
1078 __u32 num_ranges;
1079 __u32 __reserved;
1080 __aligned_u64 ranges;
1081};
1082
1083struct vfio_device_feature_dma_logging_range {
1084 __aligned_u64 iova;
1085 __aligned_u64 length;
1086};
1087
1088#define VFIO_DEVICE_FEATURE_DMA_LOGGING_START 6
1089
1090/*
1091 * Upon VFIO_DEVICE_FEATURE_SET stop device DMA logging that was started
1092 * by VFIO_DEVICE_FEATURE_DMA_LOGGING_START
1093 */
1094#define VFIO_DEVICE_FEATURE_DMA_LOGGING_STOP 7
1095
1096/*
1097 * Upon VFIO_DEVICE_FEATURE_GET read back and clear the device DMA log
1098 *
1099 * Query the device's DMA log for written pages within the given IOVA range.
1100 * During querying the log is cleared for the IOVA range.
1101 *
1102 * bitmap is a pointer to an array of u64s that will hold the output bitmap
1103 * with 1 bit reporting a page_size unit of IOVA. The mapping of IOVA to bits
1104 * is given by:
1105 * bitmap[(addr - iova)/page_size] & (1ULL << (addr % 64))
1106 *
1107 * The input page_size can be any power of two value and does not have to
1108 * match the value given to VFIO_DEVICE_FEATURE_DMA_LOGGING_START. The driver
1109 * will format its internal logging to match the reporting page size, possibly
1110 * by replicating bits if the internal page size is lower than requested.
1111 *
1112 * The LOGGING_REPORT will only set bits in the bitmap and never clear or
1113 * perform any initialization of the user provided bitmap.
1114 *
1115 * If any error is returned userspace should assume that the dirty log is
1116 * corrupted. Error recovery is to consider all memory dirty and try to
1117 * restart the dirty tracking, or to abort/restart the whole migration.
1118 *
1119 * If DMA logging is not enabled, an error will be returned.
1120 *
1121 */
1122struct vfio_device_feature_dma_logging_report {
1123 __aligned_u64 iova;
1124 __aligned_u64 length;
1125 __aligned_u64 page_size;
1126 __aligned_u64 bitmap;
1127};
1128
1129#define VFIO_DEVICE_FEATURE_DMA_LOGGING_REPORT 8
1130
989/* -------- API for Type1 VFIO IOMMU -------- */1131/* -------- API for Type1 VFIO IOMMU -------- */
990 1132
991/**1133/**
include/uapi/linux/videodev2.h+6−1
@@ -502,7 +502,6 @@ struct v4l2_capability { · 501 unmodified lines
502#define V4L2_CAP_META_CAPTURE 0x00800000 /* Is a metadata capture device */502#define V4L2_CAP_META_CAPTURE 0x00800000 /* Is a metadata capture device */
503 503
504#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */504#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */
505#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */
506#define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */505#define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */
507#define V4L2_CAP_META_OUTPUT 0x08000000 /* Is a metadata output device */506#define V4L2_CAP_META_OUTPUT 0x08000000 /* Is a metadata output device */
508 507
@@ -2435,6 +2434,7 @@ struct v4l2_event_vsync { · 1926 unmodified lines
2435#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0)2434#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0)
2436#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1)2435#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1)
2437#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2)2436#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2)
2437#define V4L2_EVENT_CTRL_CH_DIMENSIONS (1 << 3)
2438 2438
2439struct v4l2_event_ctrl {2439struct v4l2_event_ctrl {
2440 __u32 changes;2440 __u32 changes;
@@ -2682,6 +2682,11 @@ struct v4l2_create_buffers { · 241 unmodified lines
2682#ifndef __KERNEL__2682#ifndef __KERNEL__
2683#define V4L2_PIX_FMT_HM12 V4L2_PIX_FMT_NV12_16L162683#define V4L2_PIX_FMT_HM12 V4L2_PIX_FMT_NV12_16L16
2684#define V4L2_PIX_FMT_SUNXI_TILED_NV12 V4L2_PIX_FMT_NV12_32L322684#define V4L2_PIX_FMT_SUNXI_TILED_NV12 V4L2_PIX_FMT_NV12_32L32
2685/*
2686 * This capability was never implemented, anyone using this cap should drop it
2687 * from their code.
2688 */
2689#define V4L2_CAP_ASYNCIO 0x02000000
2685#endif2690#endif
2686 2691
2687#endif /* _UAPI__LINUX_VIDEODEV2_H */2692#endif /* _UAPI__LINUX_VIDEODEV2_H */
include/uapi/linux/virtio_blk.h+19−0
@@ -40,6 +40,7 @@ · 39 unmodified lines
40#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */40#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */
41#define VIRTIO_BLK_F_DISCARD 13 /* DISCARD is supported */41#define VIRTIO_BLK_F_DISCARD 13 /* DISCARD is supported */
42#define VIRTIO_BLK_F_WRITE_ZEROES 14 /* WRITE ZEROES is supported */42#define VIRTIO_BLK_F_WRITE_ZEROES 14 /* WRITE ZEROES is supported */
43#define VIRTIO_BLK_F_SECURE_ERASE 16 /* Secure Erase is supported */
43 44
44/* Legacy feature bits */45/* Legacy feature bits */
45#ifndef VIRTIO_BLK_NO_LEGACY46#ifndef VIRTIO_BLK_NO_LEGACY
@@ -121,6 +122,21 @@ struct virtio_blk_config { · 75 unmodified lines
121 __u8 write_zeroes_may_unmap;122 __u8 write_zeroes_may_unmap;
122 123
123 __u8 unused1[3];124 __u8 unused1[3];
125
126 /* the next 3 entries are guarded by VIRTIO_BLK_F_SECURE_ERASE */
127 /*
128 * The maximum secure erase sectors (in 512-byte sectors) for
129 * one segment.
130 */
131 __virtio32 max_secure_erase_sectors;
132 /*
133 * The maximum number of secure erase segments in a
134 * secure erase command.
135 */
136 __virtio32 max_secure_erase_seg;
137 /* Secure erase commands must be aligned to this number of sectors. */
138 __virtio32 secure_erase_sector_alignment;
139
124} __attribute__((packed));140} __attribute__((packed));
125 141
126/*142/*
@@ -155,6 +171,9 @@ struct virtio_blk_config { · 28 unmodified lines
155/* Write zeroes command */171/* Write zeroes command */
156#define VIRTIO_BLK_T_WRITE_ZEROES 13172#define VIRTIO_BLK_T_WRITE_ZEROES 13
157 173
174/* Secure erase command */
175#define VIRTIO_BLK_T_SECURE_ERASE 14
176
158#ifndef VIRTIO_BLK_NO_LEGACY177#ifndef VIRTIO_BLK_NO_LEGACY
159/* Barrier before this op. */178/* Barrier before this op. */
160#define VIRTIO_BLK_T_BARRIER 0x80000000179#define VIRTIO_BLK_T_BARRIER 0x80000000
include/uapi/linux/virtio_net.h+7−7
@@ -56,7 +56,7 @@ · 55 unmodified lines
56#define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow56#define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow
57 * Steering */57 * Steering */
58#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */58#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */
59#define VIRTIO_NET_F_NOTF_COAL 53 /* Guest can handle notifications coalescing */59#define VIRTIO_NET_F_NOTF_COAL 53 /* Device supports notifications coalescing */
60#define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */60#define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */
61#define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */61#define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */
62#define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */62#define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */
@@ -364,24 +364,24 @@ struct virtio_net_hash_config { · 301 unmodified lines
364 */364 */
365#define VIRTIO_NET_CTRL_NOTF_COAL 6365#define VIRTIO_NET_CTRL_NOTF_COAL 6
366/*366/*
367 * Set the tx-usecs/tx-max-packets patameters.367 * Set the tx-usecs/tx-max-packets parameters.
368 * tx-usecs - Maximum number of usecs to delay a TX notification.
369 * tx-max-packets - Maximum number of packets to send before a TX notification.
370 */368 */
371struct virtio_net_ctrl_coal_tx {369struct virtio_net_ctrl_coal_tx {
370 /* Maximum number of packets to send before a TX notification */
372 __le32 tx_max_packets;371 __le32 tx_max_packets;
372 /* Maximum number of usecs to delay a TX notification */
373 __le32 tx_usecs;373 __le32 tx_usecs;
374};374};
375 375
376#define VIRTIO_NET_CTRL_NOTF_COAL_TX_SET 0376#define VIRTIO_NET_CTRL_NOTF_COAL_TX_SET 0
377 377
378/*378/*
379 * Set the rx-usecs/rx-max-packets patameters.379 * Set the rx-usecs/rx-max-packets parameters.
380 * rx-usecs - Maximum number of usecs to delay a RX notification.
381 * rx-max-frames - Maximum number of packets to receive before a RX notification.
382 */380 */
383struct virtio_net_ctrl_coal_rx {381struct virtio_net_ctrl_coal_rx {
382 /* Maximum number of packets to receive before a RX notification */
384 __le32 rx_max_packets;383 __le32 rx_max_packets;
384 /* Maximum number of usecs to delay a RX notification */
385 __le32 rx_usecs;385 __le32 rx_usecs;
386};386};
387 387
include/uapi/linux/xfrm.h+1−1
@@ -296,7 +296,7 @@ enum xfrm_attr_type_t { · 295 unmodified lines
296 XFRMA_ETIMER_THRESH,296 XFRMA_ETIMER_THRESH,
297 XFRMA_SRCADDR, /* xfrm_address_t */297 XFRMA_SRCADDR, /* xfrm_address_t */
298 XFRMA_COADDR, /* xfrm_address_t */298 XFRMA_COADDR, /* xfrm_address_t */
299 XFRMA_LASTUSED, /* unsigned long */299 XFRMA_LASTUSED, /* __u64 */
300 XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */300 XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */
301 XFRMA_MIGRATE,301 XFRMA_MIGRATE,
302 XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */302 XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */
include/uapi/misc/habanalabs.h+112−25
@@ -707,6 +707,25 @@ enum hl_server_type { · 706 unmodified lines
707 HL_SERVER_GAUDI2_HLS2 = 5707 HL_SERVER_GAUDI2_HLS2 = 5
708};708};
709 709
710/*
711 * Notifier event values - for the notification mechanism and the HL_INFO_GET_EVENTS command
712 *
713 * HL_NOTIFIER_EVENT_TPC_ASSERT - Indicates TPC assert event
714 * HL_NOTIFIER_EVENT_UNDEFINED_OPCODE - Indicates undefined operation code
715 * HL_NOTIFIER_EVENT_DEVICE_RESET - Indicates device requires a reset
716 * HL_NOTIFIER_EVENT_CS_TIMEOUT - Indicates CS timeout error
717 * HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE - Indicates device is unavailable
718 * HL_NOTIFIER_EVENT_USER_ENGINE_ERR - Indicates device engine in error state
719 * HL_NOTIFIER_EVENT_GENERAL_HW_ERR - Indicates device HW error
720 */
721#define HL_NOTIFIER_EVENT_TPC_ASSERT (1ULL << 0)
722#define HL_NOTIFIER_EVENT_UNDEFINED_OPCODE (1ULL << 1)
723#define HL_NOTIFIER_EVENT_DEVICE_RESET (1ULL << 2)
724#define HL_NOTIFIER_EVENT_CS_TIMEOUT (1ULL << 3)
725#define HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE (1ULL << 4)
726#define HL_NOTIFIER_EVENT_USER_ENGINE_ERR (1ULL << 5)
727#define HL_NOTIFIER_EVENT_GENERAL_HW_ERR (1ULL << 6)
728
710/* Opcode for management ioctl729/* Opcode for management ioctl
711 *730 *
712 * HW_IP_INFO - Receive information about different IP blocks in the731 * HW_IP_INFO - Receive information about different IP blocks in the
@@ -754,6 +773,7 @@ enum hl_server_type { · 41 unmodified lines
754 * Razwi initiator.773 * Razwi initiator.
755 * Razwi cause, was it a page fault or MMU access error.774 * Razwi cause, was it a page fault or MMU access error.
756 * HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES - Retrieve valid page sizes for device memory allocation775 * HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES - Retrieve valid page sizes for device memory allocation
776 * HL_INFO_SECURED_ATTESTATION - Retrieve attestation report of the boot.
757 * HL_INFO_REGISTER_EVENTFD - Register eventfd for event notifications.777 * HL_INFO_REGISTER_EVENTFD - Register eventfd for event notifications.
758 * HL_INFO_UNREGISTER_EVENTFD - Unregister eventfd778 * HL_INFO_UNREGISTER_EVENTFD - Unregister eventfd
759 * HL_INFO_GET_EVENTS - Retrieve the last occurred events779 * HL_INFO_GET_EVENTS - Retrieve the last occurred events
@@ -783,14 +803,19 @@ enum hl_server_type { · 23 unmodified lines
783#define HL_INFO_CS_TIMEOUT_EVENT 24803#define HL_INFO_CS_TIMEOUT_EVENT 24
784#define HL_INFO_RAZWI_EVENT 25804#define HL_INFO_RAZWI_EVENT 25
785#define HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES 26805#define HL_INFO_DEV_MEM_ALLOC_PAGE_SIZES 26
806#define HL_INFO_SECURED_ATTESTATION 27
786#define HL_INFO_REGISTER_EVENTFD 28807#define HL_INFO_REGISTER_EVENTFD 28
787#define HL_INFO_UNREGISTER_EVENTFD 29808#define HL_INFO_UNREGISTER_EVENTFD 29
788#define HL_INFO_GET_EVENTS 30809#define HL_INFO_GET_EVENTS 30
789#define HL_INFO_UNDEFINED_OPCODE_EVENT 31810#define HL_INFO_UNDEFINED_OPCODE_EVENT 31
811#define HL_INFO_ENGINE_STATUS 32
790 812
791#define HL_INFO_VERSION_MAX_LEN 128813#define HL_INFO_VERSION_MAX_LEN 128
792#define HL_INFO_CARD_NAME_MAX_LEN 16814#define HL_INFO_CARD_NAME_MAX_LEN 16
793 815
816/* Maximum buffer size for retrieving engines status */
817#define HL_ENGINES_DATA_MAX_SIZE SZ_1M
818
794/**819/**
795 * struct hl_info_hw_ip_info - hardware information on various IPs in the ASIC820 * struct hl_info_hw_ip_info - hardware information on various IPs in the ASIC
796 * @sram_base_address: The first SRAM physical base address that is free to be821 * @sram_base_address: The first SRAM physical base address that is free to be
@@ -821,6 +846,7 @@ enum hl_server_type { · 24 unmodified lines
821 * @tpc_enabled_mask: Bit-mask that represents which TPCs are enabled. Relevant846 * @tpc_enabled_mask: Bit-mask that represents which TPCs are enabled. Relevant
822 * for Goya/Gaudi only.847 * for Goya/Gaudi only.
823 * @dram_enabled: Whether the DRAM is enabled.848 * @dram_enabled: Whether the DRAM is enabled.
849 * @security_enabled: Whether security is enabled on device.
824 * @mme_master_slave_mode: Indicate whether the MME is working in master/slave850 * @mme_master_slave_mode: Indicate whether the MME is working in master/slave
825 * configuration. Relevant for Greco and later.851 * configuration. Relevant for Greco and later.
826 * @cpucp_version: The CPUCP f/w version.852 * @cpucp_version: The CPUCP f/w version.
@@ -852,7 +878,7 @@ struct hl_info_hw_ip_info { · 25 unmodified lines
852 __u32 psoc_pci_pll_div_factor;878 __u32 psoc_pci_pll_div_factor;
853 __u8 tpc_enabled_mask;879 __u8 tpc_enabled_mask;
854 __u8 dram_enabled;880 __u8 dram_enabled;
855 __u8 reserved;881 __u8 security_enabled;
856 __u8 mme_master_slave_mode;882 __u8 mme_master_slave_mode;
857 __u8 cpucp_version[HL_INFO_VERSION_MAX_LEN];883 __u8 cpucp_version[HL_INFO_VERSION_MAX_LEN];
858 __u8 card_name[HL_INFO_CARD_NAME_MAX_LEN];884 __u8 card_name[HL_INFO_CARD_NAME_MAX_LEN];
@@ -876,13 +902,13 @@ struct hl_info_hw_idle { · 17 unmodified lines
876 __u32 is_idle;902 __u32 is_idle;
877 /*903 /*
878 * Bitmask of busy engines.904 * Bitmask of busy engines.
879 * Bits definition is according to `enum <chip>_enging_id'.905 * Bits definition is according to `enum <chip>_engine_id'.
880 */906 */
881 __u32 busy_engines_mask;907 __u32 busy_engines_mask;
882 908
883 /*909 /*
884 * Extended Bitmask of busy engines.910 * Extended Bitmask of busy engines.
885 * Bits definition is according to `enum <chip>_enging_id'.911 * Bits definition is according to `enum <chip>_engine_id'.
886 */912 */
887 __u64 busy_engines_mask_ext[HL_BUSY_ENGINES_MASK_EXT_SIZE];913 __u64 busy_engines_mask_ext[HL_BUSY_ENGINES_MASK_EXT_SIZE];
888};914};
@@ -1078,12 +1104,12 @@ struct hl_info_razwi_event { · 189 unmodified lines
1078 * struct hl_info_undefined_opcode_event - info about last undefined opcode error1104 * struct hl_info_undefined_opcode_event - info about last undefined opcode error
1079 * @timestamp: timestamp of the undefined opcode error1105 * @timestamp: timestamp of the undefined opcode error
1080 * @cb_addr_streams: CB addresses (per stream) that are currently exists in the PQ1106 * @cb_addr_streams: CB addresses (per stream) that are currently exists in the PQ
1081 * entiers. In case all streams array entries are1107 * entries. In case all streams array entries are
1082 * filled with values, it means the execution was in Lower-CP.1108 * filled with values, it means the execution was in Lower-CP.
1083 * @cq_addr: the address of the current handled command buffer1109 * @cq_addr: the address of the current handled command buffer
1084 * @cq_size: the size of the current handled command buffer1110 * @cq_size: the size of the current handled command buffer
1085 * @cb_addr_streams_len: num of streams - actual len of cb_addr_streams array.1111 * @cb_addr_streams_len: num of streams - actual len of cb_addr_streams array.
1086 * should be equal to 1 incase of undefined opcode1112 * should be equal to 1 in case of undefined opcode
1087 * in Upper-CP (specific stream) and equal to 4 incase1113 * in Upper-CP (specific stream) and equal to 4 incase
1088 * of undefined opcode in Lower-CP.1114 * of undefined opcode in Lower-CP.
1089 * @engine_id: engine-id that the error occurred on1115 * @engine_id: engine-id that the error occurred on
@@ -1109,6 +1135,45 @@ struct hl_info_dev_memalloc_page_sizes { · 19 unmodified lines
1109 __u64 page_order_bitmask;1135 __u64 page_order_bitmask;
1110};1136};
1111 1137
1138#define SEC_PCR_DATA_BUF_SZ 256
1139#define SEC_PCR_QUOTE_BUF_SZ 510 /* (512 - 2) 2 bytes used for size */
1140#define SEC_SIGNATURE_BUF_SZ 255 /* (256 - 1) 1 byte used for size */
1141#define SEC_PUB_DATA_BUF_SZ 510 /* (512 - 2) 2 bytes used for size */
1142#define SEC_CERTIFICATE_BUF_SZ 2046 /* (2048 - 2) 2 bytes used for size */
1143
1144/*
1145 * struct hl_info_sec_attest - attestation report of the boot
1146 * @nonce: number only used once. random number provided by host. this also passed to the quote
1147 * command as a qualifying data.
1148 * @pcr_quote_len: length of the attestation quote data (bytes)
1149 * @pub_data_len: length of the public data (bytes)
1150 * @certificate_len: length of the certificate (bytes)
1151 * @pcr_num_reg: number of PCR registers in the pcr_data array
1152 * @pcr_reg_len: length of each PCR register in the pcr_data array (bytes)
1153 * @quote_sig_len: length of the attestation report signature (bytes)
1154 * @pcr_data: raw values of the PCR registers
1155 * @pcr_quote: attestation report data structure
1156 * @quote_sig: signature structure of the attestation report
1157 * @public_data: public key for the signed attestation
1158 * (outPublic + name + qualifiedName)
1159 * @certificate: certificate for the attestation signing key
1160 */
1161struct hl_info_sec_attest {
1162 __u32 nonce;
1163 __u16 pcr_quote_len;
1164 __u16 pub_data_len;
1165 __u16 certificate_len;
1166 __u8 pcr_num_reg;
1167 __u8 pcr_reg_len;
1168 __u8 quote_sig_len;
1169 __u8 pcr_data[SEC_PCR_DATA_BUF_SZ];
1170 __u8 pcr_quote[SEC_PCR_QUOTE_BUF_SZ];
1171 __u8 quote_sig[SEC_SIGNATURE_BUF_SZ];
1172 __u8 public_data[SEC_PUB_DATA_BUF_SZ];
1173 __u8 certificate[SEC_CERTIFICATE_BUF_SZ];
1174 __u8 pad0[2];
1175};
1176
1112enum gaudi_dcores {1177enum gaudi_dcores {
1113 HL_GAUDI_WS_DCORE,1178 HL_GAUDI_WS_DCORE,
1114 HL_GAUDI_WN_DCORE,1179 HL_GAUDI_WN_DCORE,
@@ -1130,6 +1195,11 @@ enum gaudi_dcores { · 15 unmodified lines
1130 * resolution. Currently not in use.1195 * resolution. Currently not in use.
1131 * @pll_index: Index as defined in hl_<asic type>_pll_index enumeration.1196 * @pll_index: Index as defined in hl_<asic type>_pll_index enumeration.
1132 * @eventfd: event file descriptor for event notifications.1197 * @eventfd: event file descriptor for event notifications.
1198 * @user_buffer_actual_size: Actual data size which was copied to user allocated buffer by the
1199 * driver. It is possible for the user to allocate buffer larger than
1200 * needed, hence updating this variable so user will know the exact amount
1201 * of bytes copied by the kernel to the buffer.
1202 * @sec_attest_nonce: Nonce number used for attestation report.
1133 * @pad: Padding to 64 bit.1203 * @pad: Padding to 64 bit.
1134 */1204 */
1135struct hl_info_args {1205struct hl_info_args {
@@ -1143,6 +1213,8 @@ struct hl_info_args { · 7 unmodified lines
1143 __u32 period_ms;1213 __u32 period_ms;
1144 __u32 pll_index;1214 __u32 pll_index;
1145 __u32 eventfd;1215 __u32 eventfd;
1216 __u32 user_buffer_actual_size;
1217 __u32 sec_attest_nonce;
1146 };1218 };
1147 1219
1148 __u32 pad;1220 __u32 pad;
@@ -1337,17 +1409,47 @@ struct hl_cs_chunk { · 188 unmodified lines
1337#define HL_CS_FLAGS_RESERVE_SIGNALS_ONLY 0x10001409#define HL_CS_FLAGS_RESERVE_SIGNALS_ONLY 0x1000
1338#define HL_CS_FLAGS_UNRESERVE_SIGNALS_ONLY 0x20001410#define HL_CS_FLAGS_UNRESERVE_SIGNALS_ONLY 0x2000
1339 1411
1412/*
1413 * The engine cores CS is merged into the existing CS ioctls.
1414 * Use it to control the engine cores mode.
1415 */
1416#define HL_CS_FLAGS_ENGINE_CORE_COMMAND 0x4000
1417
1340#define HL_CS_STATUS_SUCCESS 01418#define HL_CS_STATUS_SUCCESS 0
1341 1419
1342#define HL_MAX_JOBS_PER_CS 5121420#define HL_MAX_JOBS_PER_CS 512
1343 1421
1422/* HL_ENGINE_CORE_ values
1423 *
1424 * HL_ENGINE_CORE_HALT: engine core halt
1425 * HL_ENGINE_CORE_RUN: engine core run
1426 */
1427#define HL_ENGINE_CORE_HALT (1 << 0)
1428#define HL_ENGINE_CORE_RUN (1 << 1)
1429
1344struct hl_cs_in {1430struct hl_cs_in {
1345 1431
1346 /* this holds address of array of hl_cs_chunk for restore phase */1432 union {
1347 __u64 chunks_restore;1433 struct {
1434 /* this holds address of array of hl_cs_chunk for restore phase */
1435 __u64 chunks_restore;
1436
1437 /* holds address of array of hl_cs_chunk for execution phase */
1438 __u64 chunks_execute;
1439 };
1440
1441 /* Valid only when HL_CS_FLAGS_ENGINE_CORE_COMMAND is set */
1442 struct {
1443 /* this holds address of array of uint32 for engine_cores */
1444 __u64 engine_cores;
1348 1445
1349 /* holds address of array of hl_cs_chunk for execution phase */1446 /* number of engine cores in engine_cores array */
1350 __u64 chunks_execute;1447 __u32 num_engine_cores;
1448
1449 /* the core command to be sent towards engine cores */
1450 __u32 core_command;
1451 };
1452 };
1351 1453
1352 union {1454 union {
1353 /*1455 /*
@@ -1412,7 +1514,7 @@ struct hl_cs_out { · 58 unmodified lines
1412 1514
1413 /* Valid only when HL_CS_FLAGS_RESERVE_SIGNALS_ONLY is set */1515 /* Valid only when HL_CS_FLAGS_RESERVE_SIGNALS_ONLY is set */
1414 struct {1516 struct {
1415 /* This is the resereved signal handle id */1517 /* This is the reserved signal handle id */
1416 __u32 handle_id;1518 __u32 handle_id;
1417 1519
1418 /* This is the signals count */1520 /* This is the signals count */
@@ -1874,21 +1976,6 @@ struct hl_debug_args { · 455 unmodified lines
1874 __u32 ctx_id;1976 __u32 ctx_id;
1875};1977};
1876 1978
1877/*
1878 * Notifier event values - for the notification mechanism and the HL_INFO_GET_EVENTS command
1879 *
1880 * HL_NOTIFIER_EVENT_TPC_ASSERT - Indicates TPC assert event
1881 * HL_NOTIFIER_EVENT_UNDEFINED_OPCODE - Indicates undefined operation code
1882 * HL_NOTIFIER_EVENT_DEVICE_RESET - Indicates device requires a reset
1883 * HL_NOTIFIER_EVENT_CS_TIMEOUT - Indicates CS timeout error
1884 * HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE - Indicates device is unavailable
1885 */
1886#define HL_NOTIFIER_EVENT_TPC_ASSERT (1ULL << 0)
1887#define HL_NOTIFIER_EVENT_UNDEFINED_OPCODE (1ULL << 1)
1888#define HL_NOTIFIER_EVENT_DEVICE_RESET (1ULL << 2)
1889#define HL_NOTIFIER_EVENT_CS_TIMEOUT (1ULL << 3)
1890#define HL_NOTIFIER_EVENT_DEVICE_UNAVAILABLE (1ULL << 4)
1891
1892/*1979/*
1893 * Various information operations such as:1980 * Various information operations such as:
1894 * - H/W IP information1981 * - H/W IP information
include/uapi/misc/uacce/hisi_qm.h+16−1
@@ -14,11 +14,26 @@ struct hisi_qp_ctx { · 13 unmodified lines
14 __u16 qc_type;14 __u16 qc_type;
15};15};
16 16
17/**
18 * struct hisi_qp_info - User data for hisi qp.
19 * @sqe_size: Submission queue element size
20 * @sq_depth: The number of sqe
21 * @cq_depth: The number of cqe
22 * @reserved: Reserved data
23 */
24struct hisi_qp_info {
25 __u32 sqe_size;
26 __u16 sq_depth;
27 __u16 cq_depth;
28 __u64 reserved;
29};
30
17#define HISI_QM_API_VER_BASE "hisi_qm_v1"31#define HISI_QM_API_VER_BASE "hisi_qm_v1"
18#define HISI_QM_API_VER2_BASE "hisi_qm_v2"32#define HISI_QM_API_VER2_BASE "hisi_qm_v2"
19#define HISI_QM_API_VER3_BASE "hisi_qm_v3"33#define HISI_QM_API_VER3_BASE "hisi_qm_v3"
20 34
21/* UACCE_CMD_QM_SET_QP_CTX: Set qp algorithm type */35/* UACCE_CMD_QM_SET_QP_CTX: Set qp algorithm type */
22#define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx)36#define UACCE_CMD_QM_SET_QP_CTX _IOWR('H', 10, struct hisi_qp_ctx)
23 37/* UACCE_CMD_QM_SET_QP_INFO: Set qp depth and BD size */
38#define UACCE_CMD_QM_SET_QP_INFO _IOWR('H', 11, struct hisi_qp_info)
24#endif39#endif
include/uapi/mtd/mtd-abi.h+59−5
@@ -55,9 +55,9 @@ struct mtd_oob_buf64 { · 54 unmodified lines
55 * @MTD_OPS_RAW: data are transferred as-is, with no error correction;55 * @MTD_OPS_RAW: data are transferred as-is, with no error correction;
56 * this mode implies %MTD_OPS_PLACE_OOB56 * this mode implies %MTD_OPS_PLACE_OOB
57 *57 *
58 * These modes can be passed to ioctl(MEMWRITE) and are also used internally.58 * These modes can be passed to ioctl(MEMWRITE) and ioctl(MEMREAD); they are
59 * See notes on "MTD file modes" for discussion on %MTD_OPS_RAW vs.59 * also used internally. See notes on "MTD file modes" for discussion on
60 * %MTD_FILE_MODE_RAW.60 * %MTD_OPS_RAW vs. %MTD_FILE_MODE_RAW.
61 */61 */
62enum {62enum {
63 MTD_OPS_PLACE_OOB = 0,63 MTD_OPS_PLACE_OOB = 0,
@@ -91,6 +91,53 @@ struct mtd_write_req { · 27 unmodified lines
91 __u8 padding[7];91 __u8 padding[7];
92};92};
93 93
94/**
95 * struct mtd_read_req_ecc_stats - ECC statistics for a read operation
96 *
97 * @uncorrectable_errors: the number of uncorrectable errors that happened
98 * during the read operation
99 * @corrected_bitflips: the number of bitflips corrected during the read
100 * operation
101 * @max_bitflips: the maximum number of bitflips detected in any single ECC
102 * step for the data read during the operation; this information
103 * can be used to decide whether the data stored in a specific
104 * region of the MTD device should be moved somewhere else to
105 * avoid data loss.
106 */
107struct mtd_read_req_ecc_stats {
108 __u32 uncorrectable_errors;
109 __u32 corrected_bitflips;
110 __u32 max_bitflips;
111};
112
113/**
114 * struct mtd_read_req - data structure for requesting a read operation
115 *
116 * @start: start address
117 * @len: length of data buffer (only lower 32 bits are used)
118 * @ooblen: length of OOB buffer (only lower 32 bits are used)
119 * @usr_data: user-provided data buffer
120 * @usr_oob: user-provided OOB buffer
121 * @mode: MTD mode (see "MTD operation modes")
122 * @padding: reserved, must be set to 0
123 * @ecc_stats: ECC statistics for the read operation
124 *
125 * This structure supports ioctl(MEMREAD) operations, allowing data and/or OOB
126 * reads in various modes. To read from OOB-only, set @usr_data == NULL, and to
127 * read data-only, set @usr_oob == NULL. However, setting both @usr_data and
128 * @usr_oob to NULL is not allowed.
129 */
130struct mtd_read_req {
131 __u64 start;
132 __u64 len;
133 __u64 ooblen;
134 __u64 usr_data;
135 __u64 usr_oob;
136 __u8 mode;
137 __u8 padding[7];
138 struct mtd_read_req_ecc_stats ecc_stats;
139};
140
94#define MTD_ABSENT 0141#define MTD_ABSENT 0
95#define MTD_RAM 1142#define MTD_RAM 1
96#define MTD_ROM 2143#define MTD_ROM 2
@@ -207,6 +254,12 @@ struct otp_info { · 110 unmodified lines
207#define MEMWRITE _IOWR('M', 24, struct mtd_write_req)254#define MEMWRITE _IOWR('M', 24, struct mtd_write_req)
208/* Erase a given range of user data (must be in mode %MTD_FILE_MODE_OTP_USER) */255/* Erase a given range of user data (must be in mode %MTD_FILE_MODE_OTP_USER) */
209#define OTPERASE _IOW('M', 25, struct otp_info)256#define OTPERASE _IOW('M', 25, struct otp_info)
257/*
258 * Most generic read interface; can read in-band and/or out-of-band in various
259 * modes (see "struct mtd_read_req"). This ioctl is not supported for flashes
260 * without OOB, e.g., NOR flash.
261 */
262#define MEMREAD _IOWR('M', 26, struct mtd_read_req)
210 263
211/*264/*
212 * Obsolete legacy interface. Keep it in order not to break userspace265 * Obsolete legacy interface. Keep it in order not to break userspace
@@ -270,8 +323,9 @@ struct mtd_ecc_stats { · 57 unmodified lines
270 * Note: %MTD_FILE_MODE_RAW provides the same functionality as %MTD_OPS_RAW -323 * Note: %MTD_FILE_MODE_RAW provides the same functionality as %MTD_OPS_RAW -
271 * raw access to the flash, without error correction or autoplacement schemes.324 * raw access to the flash, without error correction or autoplacement schemes.
272 * Wherever possible, the MTD_OPS_* mode will override the MTD_FILE_MODE_* mode325 * Wherever possible, the MTD_OPS_* mode will override the MTD_FILE_MODE_* mode
273 * (e.g., when using ioctl(MEMWRITE)), but in some cases, the MTD_FILE_MODE is326 * (e.g., when using ioctl(MEMWRITE) or ioctl(MEMREAD)), but in some cases, the
274 * used out of necessity (e.g., `write()', ioctl(MEMWRITEOOB64)).327 * MTD_FILE_MODE is used out of necessity (e.g., `write()',
328 * ioctl(MEMWRITEOOB64)).
275 */329 */
276enum mtd_file_modes {330enum mtd_file_modes {
277 MTD_FILE_MODE_NORMAL = MTD_OTP_OFF,331 MTD_FILE_MODE_NORMAL = MTD_OTP_OFF,
include/uapi/mtd/ubi-user.h+7−1
@@ -247,6 +247,7 @@ enum { · 246 unmodified lines
247 * @vid_hdr_offset: VID header offset (use defaults if %0)247 * @vid_hdr_offset: VID header offset (use defaults if %0)
248 * @max_beb_per1024: maximum expected number of bad PEB per 1024 PEBs248 * @max_beb_per1024: maximum expected number of bad PEB per 1024 PEBs
249 * @padding: reserved for future, not used, has to be zeroed249 * @padding: reserved for future, not used, has to be zeroed
250 * @disable_fm: whether disable fastmap
250 *251 *
251 * This data structure is used to specify MTD device UBI has to attach and the252 * This data structure is used to specify MTD device UBI has to attach and the
252 * parameters it has to use. The number which should be assigned to the new UBI253 * parameters it has to use. The number which should be assigned to the new UBI
@@ -281,13 +282,18 @@ enum { · 28 unmodified lines
281 * eraseblocks for new bad eraseblocks, but attempts to use available282 * eraseblocks for new bad eraseblocks, but attempts to use available
282 * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the283 * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the
283 * default kernel value of %CONFIG_MTD_UBI_BEB_LIMIT will be used.284 * default kernel value of %CONFIG_MTD_UBI_BEB_LIMIT will be used.
285 *
286 * If @disable_fm is not zero, ubi doesn't create new fastmap even the module
287 * param 'fm_autoconvert' is set, and existed old fastmap will be destroyed
288 * after doing full scanning.
284 */289 */
285struct ubi_attach_req {290struct ubi_attach_req {
286 __s32 ubi_num;291 __s32 ubi_num;
287 __s32 mtd_num;292 __s32 mtd_num;
288 __s32 vid_hdr_offset;293 __s32 vid_hdr_offset;
289 __s16 max_beb_per1024;294 __s16 max_beb_per1024;
290 __s8 padding[10];295 __s8 disable_fm;
296 __s8 padding[9];
291};297};
292 298
293/*299/*
include/uapi/rdma/efa-abi.h+3−1
@@ -1,6 +1,6 @@
1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) */
2/*2/*
3 * Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All rights reserved.3 * Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All rights reserved.
4 */4 */
5 5
6#ifndef EFA_ABI_USER_H6#ifndef EFA_ABI_USER_H
@@ -54,6 +54,7 @@ struct efa_ibv_alloc_pd_resp { · 47 unmodified lines
54 54
55enum {55enum {
56 EFA_CREATE_CQ_WITH_COMPLETION_CHANNEL = 1 << 0,56 EFA_CREATE_CQ_WITH_COMPLETION_CHANNEL = 1 << 0,
57 EFA_CREATE_CQ_WITH_SGID = 1 << 1,
57};58};
58 59
59struct efa_ibv_create_cq {60struct efa_ibv_create_cq {
@@ -118,6 +119,7 @@ enum { · 58 unmodified lines
118 EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0,119 EFA_QUERY_DEVICE_CAPS_RDMA_READ = 1 << 0,
119 EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1,120 EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1,
120 EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2,121 EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2,
122 EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3,
121};123};
122 124
123struct efa_ibv_ex_query_device_resp {125struct efa_ibv_ex_query_device_resp {
include/uapi/rdma/mlx5-abi.h+1−0
@@ -104,6 +104,7 @@ enum mlx5_ib_alloc_ucontext_resp_mask { · 103 unmodified lines
104 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2,104 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2,
105 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3,105 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3,
106 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4,106 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4,
107 MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_MKEY_UPDATE_TAG = 1UL << 5,
107};108};
108 109
109enum mlx5_user_cmds_supp_uhw {110enum mlx5_user_cmds_supp_uhw {
include/uapi/rdma/mlx5_user_ioctl_cmds.h+1−0
@@ -174,6 +174,7 @@ enum mlx5_ib_devx_umem_reg_attrs { · 173 unmodified lines
174 MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,174 MLX5_IB_ATTR_DEVX_UMEM_REG_ACCESS,
175 MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID,175 MLX5_IB_ATTR_DEVX_UMEM_REG_OUT_ID,
176 MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP,176 MLX5_IB_ATTR_DEVX_UMEM_REG_PGSZ_BITMAP,
177 MLX5_IB_ATTR_DEVX_UMEM_REG_DMABUF_FD,
177};178};
178 179
179enum mlx5_ib_devx_umem_dereg_attrs {180enum mlx5_ib_devx_umem_dereg_attrs {
include/uapi/rdma/rdma_user_rxe.h+2−2
@@ -74,7 +74,7 @@ struct rxe_av { · 73 unmodified lines
74 74
75struct rxe_send_wr {75struct rxe_send_wr {
76 __aligned_u64 wr_id;76 __aligned_u64 wr_id;
77 __u32 num_sge;77 __u32 reserved;
78 __u32 opcode;78 __u32 opcode;
79 __u32 send_flags;79 __u32 send_flags;
80 union {80 union {
@@ -166,7 +166,7 @@ struct rxe_send_wqe { · 85 unmodified lines
166 166
167struct rxe_recv_wqe {167struct rxe_recv_wqe {
168 __aligned_u64 wr_id;168 __aligned_u64 wr_id;
169 __u32 num_sge;169 __u32 reserved;
170 __u32 padding;170 __u32 padding;
171 struct rxe_dma_info dma;171 struct rxe_dma_info dma;
172};172};
include/uapi/scsi/scsi_netlink_fc.h+5−2
@@ -35,7 +35,7 @@ · 34 unmodified lines
35 * FC Transport Broadcast Event Message :35 * FC Transport Broadcast Event Message :
36 * FC_NL_ASYNC_EVENT36 * FC_NL_ASYNC_EVENT
37 *37 *
38 * Note: if Vendor Unique message, &event_data will be start of38 * Note: if Vendor Unique message, event_data_flex will be start of
39 * vendor unique payload, and the length of the payload is39 * vendor unique payload, and the length of the payload is
40 * per event_datalen40 * per event_datalen
41 *41 *
@@ -50,7 +50,10 @@ struct fc_nl_event { · 8 unmodified lines
50 __u16 event_datalen;50 __u16 event_datalen;
51 __u32 event_num;51 __u32 event_num;
52 __u32 event_code;52 __u32 event_code;
53 __u32 event_data;53 union {
54 __u32 event_data;
55 __DECLARE_FLEX_ARRAY(__u8, event_data_flex);
56 };
54} __attribute__((aligned(sizeof(__u64))));57} __attribute__((aligned(sizeof(__u64))));
55 58
56 59
include/uapi/sound/asequencer.h+0−16
@@ -3,22 +3,6 @@ · 2 unmodified lines
3 * Main header file for the ALSA sequencer3 * Main header file for the ALSA sequencer
4 * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl>4 * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl>
5 * (c) 1998-1999 by Jaroslav Kysela <perex@perex.cz>5 * (c) 1998-1999 by Jaroslav Kysela <perex@perex.cz>
6 *
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */6 */
23#ifndef _UAPI__SOUND_ASEQUENCER_H7#ifndef _UAPI__SOUND_ASEQUENCER_H
24#define _UAPI__SOUND_ASEQUENCER_H8#define _UAPI__SOUND_ASEQUENCER_H
include/uapi/sound/asoc.h+0−4
@@ -5,10 +5,6 @@ · 4 unmodified lines
5 * Copyright (C) 2012 Texas Instruments Inc.5 * Copyright (C) 2012 Texas Instruments Inc.
6 * Copyright (C) 2015 Intel Corporation.6 * Copyright (C) 2015 Intel Corporation.
7 *7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12 * Simple file API to load FW that includes mixers, coefficients, DAPM graphs,8 * Simple file API to load FW that includes mixers, coefficients, DAPM graphs,
13 * algorithms, equalisers, DAIs, widgets etc.9 * algorithms, equalisers, DAIs, widgets etc.
14*/10*/
include/uapi/sound/asound.h+0−16
@@ -3,22 +3,6 @@ · 2 unmodified lines
3 * Advanced Linux Sound Architecture - ALSA - Driver3 * Advanced Linux Sound Architecture - ALSA - Driver
4 * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,4 * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,
5 * Abramo Bagnara <abramo@alsa-project.org>5 * Abramo Bagnara <abramo@alsa-project.org>
6 *
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */6 */
23 7
24#ifndef _UAPI__SOUND_ASOUND_H8#ifndef _UAPI__SOUND_ASOUND_H
include/uapi/sound/asound_fm.h+0−15
@@ -10,21 +10,6 @@ · 9 unmodified lines
10 * 4Front Technologies10 * 4Front Technologies
11 *11 *
12 * Direct FM control12 * Direct FM control
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 *
28 */13 */
29 14
30#define SNDRV_DM_FM_MODE_OPL2 0x0015#define SNDRV_DM_FM_MODE_OPL2 0x00
include/uapi/sound/compress_offload.h+0−17
@@ -5,23 +5,6 @@ · 4 unmodified lines
5 * Copyright (C) 2011 Intel Corporation5 * Copyright (C) 2011 Intel Corporation
6 * Authors: Vinod Koul <vinod.koul@linux.intel.com>6 * Authors: Vinod Koul <vinod.koul@linux.intel.com>
7 * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>7 * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
8 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; version 2 of the License.
13 *
14 * This program is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write to the Free Software Foundation, Inc.,
21 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
22 *
23 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24 *
25 */8 */
26#ifndef __COMPRESS_OFFLOAD_H9#ifndef __COMPRESS_OFFLOAD_H
27#define __COMPRESS_OFFLOAD_H10#define __COMPRESS_OFFLOAD_H
include/uapi/sound/compress_params.h+2−36
@@ -7,47 +7,13 @@ · 6 unmodified lines
7 * Authors: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>7 * Authors: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
8 * Vinod Koul <vinod.koul@linux.intel.com>8 * Vinod Koul <vinod.koul@linux.intel.com>
9 *9 *
10 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; version 2 of the License.
15 *
16 * This program is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License along
22 * with this program; if not, write to the Free Software Foundation, Inc.,
23 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
24 *
25 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~10 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26 *11 *
27 * The definitions in this file are derived from the OpenMAX AL version 1.112 * The definitions in this file are derived from the OpenMAX AL version 1.1
28 * and OpenMAX IL v 1.1.2 header files which contain the copyright notice below.13 * and OpenMAX IL v 1.1.2 header files which contain the copyright notice below
14 * and are licensed under the MIT license.
29 *15 *
30 * Copyright (c) 2007-2010 The Khronos Group Inc.16 * Copyright (c) 2007-2010 The Khronos Group Inc.
31 *
32 * Permission is hereby granted, free of charge, to any person obtaining
33 * a copy of this software and/or associated documentation files (the
34 * "Materials "), to deal in the Materials without restriction, including
35 * without limitation the rights to use, copy, modify, merge, publish,
36 * distribute, sublicense, and/or sell copies of the Materials, and to
37 * permit persons to whom the Materials are furnished to do so, subject to
38 * the following conditions:
39 *
40 * The above copyright notice and this permission notice shall be included
41 * in all copies or substantial portions of the Materials.
42 *
43 * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
44 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
45 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
46 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
47 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
48 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
49 * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
50 *
51 */17 */
52#ifndef __SND_COMPRESS_PARAMS_H18#ifndef __SND_COMPRESS_PARAMS_H
53#define __SND_COMPRESS_PARAMS_H19#define __SND_COMPRESS_PARAMS_H
include/uapi/sound/emu10k1.h+0−16
@@ -3,22 +3,6 @@ · 2 unmodified lines
3 * Copyright (c) by Jaroslav Kysela <perex@perex.cz>,3 * Copyright (c) by Jaroslav Kysela <perex@perex.cz>,
4 * Creative Labs, Inc.4 * Creative Labs, Inc.
5 * Definitions for EMU10K1 (SB Live!) chips5 * Definitions for EMU10K1 (SB Live!) chips
6 *
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */6 */
23#ifndef _UAPI__SOUND_EMU10K1_H7#ifndef _UAPI__SOUND_EMU10K1_H
24#define _UAPI__SOUND_EMU10K1_H8#define _UAPI__SOUND_EMU10K1_H
include/uapi/sound/hdsp.h+0−14
@@ -4,20 +4,6 @@ · 3 unmodified lines
4 4
5/*5/*
6 * Copyright (C) 2003 Thomas Charbonnel (thomas@undata.org)6 * Copyright (C) 2003 Thomas Charbonnel (thomas@undata.org)
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */7 */
22 8
23#ifdef __linux__9#ifdef __linux__
include/uapi/sound/hdspm.h+0−15
@@ -4,21 +4,6 @@ · 3 unmodified lines
4/*4/*
5 * Copyright (C) 2003 Winfried Ritsch (IEM)5 * Copyright (C) 2003 Winfried Ritsch (IEM)
6 * based on hdsp.h from Thomas Charbonnel (thomas@undata.org)6 * based on hdsp.h from Thomas Charbonnel (thomas@undata.org)
7 *
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 */7 */
23 8
24#ifdef __linux__9#ifdef __linux__
include/uapi/sound/sb16_csp.h+0−15
@@ -4,21 +4,6 @@ · 3 unmodified lines
4 * Takashi Iwai <tiwai@suse.de>4 * Takashi Iwai <tiwai@suse.de>
5 *5 *
6 * SB16ASP/AWE32 CSP control6 * SB16ASP/AWE32 CSP control
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 *
22 */7 */
23#ifndef _UAPI__SOUND_SB16_CSP_H8#ifndef _UAPI__SOUND_SB16_CSP_H
24#define _UAPI__SOUND_SB16_CSP_H9#define _UAPI__SOUND_SB16_CSP_H
include/uapi/sound/sfnt_info.h+0−15
@@ -6,21 +6,6 @@ · 5 unmodified lines
6 * Patch record compatible with AWE driver on OSS6 * Patch record compatible with AWE driver on OSS
7 *7 *
8 * Copyright (C) 1999-2000 Takashi Iwai8 * Copyright (C) 1999-2000 Takashi Iwai
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 *
24 */9 */
25 10
26#include <sound/asound.h>11#include <sound/asound.h>
include/uapi/sound/snd_sst_tokens.h+0−10
@@ -4,16 +4,6 @@ · 3 unmodified lines
4 *4 *
5 * Copyright (C) 2016 Intel Corp5 * Copyright (C) 2016 Intel Corp
6 * Author: Shreyas NC <shreyas.nc@intel.com>6 * Author: Shreyas NC <shreyas.nc@intel.com>
7 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 */7 */
18#ifndef __SND_SST_TOKENS_H__8#ifndef __SND_SST_TOKENS_H__
19#define __SND_SST_TOKENS_H__9#define __SND_SST_TOKENS_H__
include/uapi/sound/tlv.h+0−11
@@ -1,15 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13 2
14#ifndef __UAPI_SOUND_TLV_H3#ifndef __UAPI_SOUND_TLV_H
15#define __UAPI_SOUND_TLV_H4#define __UAPI_SOUND_TLV_H
include/uapi/sound/usb_stream.h+0−14
@@ -1,20 +1,6 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*2/*
3 * Copyright (C) 2007, 2008 Karsten Wiese <fzu@wemgehoertderstaat.de>3 * Copyright (C) 2007, 2008 Karsten Wiese <fzu@wemgehoertderstaat.de>
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; either version 2 of the License, or (at your
8 * option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software Foundation,
17 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */4 */
19 5
20#ifndef _UAPI__SOUND_USB_STREAM_H6#ifndef _UAPI__SOUND_USB_STREAM_H