History

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

We haven't done any backmerge for a while due to the merge window, and it starts to become an issue for komeda. Let's bring 5.4-rc1 in.

Maxime Ripard committed 7 years ago

Commit 4092de12 parents a00d17e 54ecb8f12131 files · +705887 −314962Browse files

Showing the changes to include/uapi (97 of 12131 files). Show all

Unified · Split

97 files
  1. include/uapi/asm-generic/mman-common.h +3 −0
  2. include/uapi/asm-generic/unistd.h +1 −1
  3. include/uapi/drm/amdgpu_drm.h +4 −0
  4. include/uapi/drm/etnaviv_drm.h +9 −1
  5. include/uapi/drm/i915_drm.h +1 −0
  6. include/uapi/linux/bpf.h +50 −6
  7. include/uapi/linux/bpfilter.h +1 −1
  8. include/uapi/linux/btf.h +2 −2
  9. include/uapi/linux/btrfs.h +8 −5
  10. include/uapi/linux/btrfs_tree.h +3 −6
  11. include/uapi/linux/can.h +19 −1
  12. include/uapi/linux/can/gw.h +15 −2
  13. include/uapi/linux/can/j1939.h +99 −0
  14. include/uapi/linux/can/netlink.h +3 −3
  15. include/uapi/linux/coff.h +5 −0
  16. include/uapi/linux/cryptouser.h +5 −0
  17. include/uapi/linux/devlink.h +73 −0
  18. include/uapi/linux/dm-ioctl.h +4 −2
  19. include/uapi/linux/ethtool.h +22 −0
  20. include/uapi/linux/fpga-dfl.h +18 −0
  21. include/uapi/linux/fs.h +5 −51
  22. include/uapi/linux/fscrypt.h +181 −0
  23. include/uapi/linux/fsverity.h +40 −0
  24. include/uapi/linux/fuse.h +11 −1
  25. include/uapi/linux/gsmmux.h +2 −0
  26. include/uapi/linux/if_bridge.h +1 −0
  27. include/uapi/linux/if_xdp.h +22 −0
  28. include/uapi/linux/inet_diag.h +9 −0
  29. include/uapi/linux/io_uring.h +9 −1
  30. include/uapi/linux/ipmi_bmc.h +1 −1
  31. include/uapi/linux/isdn/capicmd.h +1 −0
  32. include/uapi/linux/isst_if.h +1 −1
  33. include/uapi/linux/jffs2.h +0 −5
  34. include/uapi/linux/kexec.h +1 −0
  35. include/uapi/linux/kfd_ioctl.h +1 −19
  36. include/uapi/linux/kvm.h +7 −2
  37. include/uapi/linux/magic.h +1 −0
  38. include/uapi/linux/mdio.h +10 −0
  39. include/uapi/linux/net_dropmon.h +66 −0
  40. include/uapi/linux/netfilter/nf_synproxy.h +1 −1
  41. include/uapi/linux/netfilter/nf_tables.h +9 −1
  42. include/uapi/linux/netfilter/nfnetlink_log.h +11 −0
  43. include/uapi/linux/netfilter/xt_connlabel.h +6 −0
  44. include/uapi/linux/netfilter/xt_nfacct.h +5 −0
  45. include/uapi/linux/netfilter/xt_policy.h +1 −0
  46. include/uapi/linux/netfilter_bridge/ebtables.h +3 −3
  47. include/uapi/linux/netfilter_ipv4/ipt_LOG.h +0 −2
  48. include/uapi/linux/netfilter_ipv6/ip6t_LOG.h +0 −2
  49. include/uapi/linux/nfsd/cld.h +39 −2
  50. include/uapi/linux/nl80211.h +63 −2
  51. include/uapi/linux/openvswitch.h +3 −0
  52. include/uapi/linux/pci_regs.h +14 −1
  53. include/uapi/linux/perf_event.h +2 −1
  54. include/uapi/linux/pkt_cls.h +2 −0
  55. include/uapi/linux/pkt_sched.h +2 −1
  56. include/uapi/linux/ppdev.h +4 −1
  57. include/uapi/linux/prctl.h +6 −1
  58. include/uapi/linux/psp-sev.h +1 −1
  59. include/uapi/linux/ptp_clock.h +46 −2
  60. include/uapi/linux/raid/md_p.h +2 −0
  61. include/uapi/linux/rds.h +2 −0
  62. include/uapi/linux/rxrpc.h +1 −1
  63. include/uapi/linux/sctp.h +3 −0
  64. include/uapi/linux/serial_core.h +6 −6
  65. include/uapi/linux/serio.h +1 −0
  66. include/uapi/linux/socket.h +13 −6
  67. include/uapi/linux/tcp.h +6 −0
  68. include/uapi/linux/tls.h +15 −0
  69. include/uapi/linux/usb/ch9.h +2 −0
  70. include/uapi/linux/usb/g_uvc.h +1 −1
  71. include/uapi/linux/usbdevice_fs.h +4 −0
  72. include/uapi/linux/vbox_vmmdev_types.h +1 −1
  73. include/uapi/linux/vboxguest.h +1 −1
  74. include/uapi/linux/vfio.h +51 −20
  75. include/uapi/linux/videodev2.h +11 −3
  76. include/uapi/linux/virtio_fs.h +19 −0
  77. include/uapi/linux/virtio_ids.h +1 −0
  78. include/uapi/linux/virtio_iommu.h +18 −14
  79. include/uapi/linux/virtio_pmem.h +1 −1
  80. include/uapi/linux/vmcore.h +1 −1
  81. include/uapi/linux/wait.h +1 −0
  82. include/uapi/linux/wmi.h +1 −1
  83. include/uapi/misc/fastrpc.h +1 −1
  84. include/uapi/misc/habanalabs.h +68 −34
  85. include/uapi/misc/xilinx_sdfec.h +448 −0
  86. include/uapi/rdma/mlx5_user_ioctl_verbs.h +1 −0
  87. include/uapi/rdma/rvt-abi.h +1 −1
  88. include/uapi/rdma/siw-abi.h +3 −2
  89. include/uapi/scsi/scsi_bsg_fc.h +28 −26
  90. include/uapi/scsi/scsi_bsg_ufs.h +1 −1
  91. include/uapi/scsi/scsi_netlink.h +10 −10
  92. include/uapi/scsi/scsi_netlink_fc.h +9 −8
  93. include/uapi/sound/skl-tplg-interface.h +1 −1
  94. include/uapi/sound/sof/abi.h +1 −1
  95. include/uapi/sound/sof/fw.h +9 −7
  96. include/uapi/sound/sof/header.h +8 −6
  97. include/uapi/sound/sof/tokens.h +9 −0
include/uapi/asm-generic/mman-common.h+3−0
@@ -67,6 +67,9 @@ · 66 unmodified lines
67#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */67#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */
68#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */68#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */
69 69
70#define MADV_COLD 20 /* deactivate these pages */
71#define MADV_PAGEOUT 21 /* reclaim these pages */
72
70/* compatibility flags */73/* compatibility flags */
71#define MAP_FILE 074#define MAP_FILE 0
72 75
include/uapi/asm-generic/unistd.h+1−1
@@ -569,7 +569,7 @@ __SYSCALL(__NR_semget, sys_semget) · 568 unmodified lines
569__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)569__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
570#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32570#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
571#define __NR_semtimedop 192571#define __NR_semtimedop 192
572__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)572__SC_3264(__NR_semtimedop, sys_semtimedop_time32, sys_semtimedop)
573#endif573#endif
574#define __NR_semop 193574#define __NR_semop 193
575__SYSCALL(__NR_semop, sys_semop)575__SYSCALL(__NR_semop, sys_semop)
include/uapi/drm/amdgpu_drm.h+4−0
@@ -128,6 +128,10 @@ extern "C" { · 127 unmodified lines
128 * for the second page onward should be set to NC.128 * for the second page onward should be set to NC.
129 */129 */
130#define AMDGPU_GEM_CREATE_MQD_GFX9 (1 << 8)130#define AMDGPU_GEM_CREATE_MQD_GFX9 (1 << 8)
131/* Flag that BO may contain sensitive data that must be wiped before
132 * releasing the memory
133 */
134#define AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE (1 << 9)
131 135
132struct drm_amdgpu_gem_create_in {136struct drm_amdgpu_gem_create_in {
133 /** the requested memory size */137 /** the requested memory size */
include/uapi/drm/etnaviv_drm.h+9−1
@@ -73,6 +73,7 @@ struct drm_etnaviv_timespec { · 72 unmodified lines
73#define ETNAVIV_PARAM_GPU_INSTRUCTION_COUNT 0x1873#define ETNAVIV_PARAM_GPU_INSTRUCTION_COUNT 0x18
74#define ETNAVIV_PARAM_GPU_NUM_CONSTANTS 0x1974#define ETNAVIV_PARAM_GPU_NUM_CONSTANTS 0x19
75#define ETNAVIV_PARAM_GPU_NUM_VARYINGS 0x1a75#define ETNAVIV_PARAM_GPU_NUM_VARYINGS 0x1a
76#define ETNAVIV_PARAM_SOFTPIN_START_ADDR 0x1b
76 77
77#define ETNA_MAX_PIPES 478#define ETNA_MAX_PIPES 4
78 79
@@ -148,6 +149,11 @@ struct drm_etnaviv_gem_submit_reloc { · 69 unmodified lines
148 * then patching the cmdstream for this entry is skipped. This can149 * then patching the cmdstream for this entry is skipped. This can
149 * avoid kernel needing to map/access the cmdstream bo in the common150 * avoid kernel needing to map/access the cmdstream bo in the common
150 * case.151 * case.
152 * If the submit is a softpin submit (ETNA_SUBMIT_SOFTPIN) the 'presumed'
153 * field is interpreted as the fixed location to map the bo into the gpu
154 * virtual address space. If the kernel is unable to map the buffer at
155 * this location the submit will fail. This means userspace is responsible
156 * for the whole gpu virtual address management.
151 */157 */
152#define ETNA_SUBMIT_BO_READ 0x0001158#define ETNA_SUBMIT_BO_READ 0x0001
153#define ETNA_SUBMIT_BO_WRITE 0x0002159#define ETNA_SUBMIT_BO_WRITE 0x0002
@@ -177,9 +183,11 @@ struct drm_etnaviv_gem_submit_pmr { · 23 unmodified lines
177#define ETNA_SUBMIT_NO_IMPLICIT 0x0001183#define ETNA_SUBMIT_NO_IMPLICIT 0x0001
178#define ETNA_SUBMIT_FENCE_FD_IN 0x0002184#define ETNA_SUBMIT_FENCE_FD_IN 0x0002
179#define ETNA_SUBMIT_FENCE_FD_OUT 0x0004185#define ETNA_SUBMIT_FENCE_FD_OUT 0x0004
186#define ETNA_SUBMIT_SOFTPIN 0x0008
180#define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \187#define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | \
181 ETNA_SUBMIT_FENCE_FD_IN | \188 ETNA_SUBMIT_FENCE_FD_IN | \
182 ETNA_SUBMIT_FENCE_FD_OUT)189 ETNA_SUBMIT_FENCE_FD_OUT| \
190 ETNA_SUBMIT_SOFTPIN)
183#define ETNA_PIPE_3D 0x00191#define ETNA_PIPE_3D 0x00
184#define ETNA_PIPE_2D 0x01192#define ETNA_PIPE_2D 0x01
185#define ETNA_PIPE_VG 0x02193#define ETNA_PIPE_VG 0x02
include/uapi/drm/i915_drm.h+1−0
@@ -521,6 +521,7 @@ typedef struct drm_i915_irq_wait { · 520 unmodified lines
521#define I915_SCHEDULER_CAP_PRIORITY (1ul << 1)521#define I915_SCHEDULER_CAP_PRIORITY (1ul << 1)
522#define I915_SCHEDULER_CAP_PREEMPTION (1ul << 2)522#define I915_SCHEDULER_CAP_PREEMPTION (1ul << 2)
523#define I915_SCHEDULER_CAP_SEMAPHORES (1ul << 3)523#define I915_SCHEDULER_CAP_SEMAPHORES (1ul << 3)
524#define I915_SCHEDULER_CAP_ENGINE_BUSY_STATS (1ul << 4)
524 525
525#define I915_PARAM_HUC_STATUS 42526#define I915_PARAM_HUC_STATUS 42
526 527
include/uapi/linux/bpf.h+50−6
@@ -106,6 +106,7 @@ enum bpf_cmd { · 105 unmodified lines
106 BPF_TASK_FD_QUERY,106 BPF_TASK_FD_QUERY,
107 BPF_MAP_LOOKUP_AND_DELETE_ELEM,107 BPF_MAP_LOOKUP_AND_DELETE_ELEM,
108 BPF_MAP_FREEZE,108 BPF_MAP_FREEZE,
109 BPF_BTF_GET_NEXT_ID,
109};110};
110 111
111enum bpf_map_type {112enum bpf_map_type {
@@ -134,6 +135,7 @@ enum bpf_map_type { · 22 unmodified lines
134 BPF_MAP_TYPE_QUEUE,135 BPF_MAP_TYPE_QUEUE,
135 BPF_MAP_TYPE_STACK,136 BPF_MAP_TYPE_STACK,
136 BPF_MAP_TYPE_SK_STORAGE,137 BPF_MAP_TYPE_SK_STORAGE,
138 BPF_MAP_TYPE_DEVMAP_HASH,
137};139};
138 140
139/* Note that tracing related programs such as141/* Note that tracing related programs such as
@@ -283,6 +285,9 @@ enum bpf_attach_type { · 143 unmodified lines
283 */285 */
284#define BPF_F_TEST_RND_HI32 (1U << 2)286#define BPF_F_TEST_RND_HI32 (1U << 2)
285 287
288/* The verifier internal test flag. Behavior is undefined */
289#define BPF_F_TEST_STATE_FREQ (1U << 3)
290
286/* When BPF ldimm64's insn[0].src_reg != 0 then this can have291/* When BPF ldimm64's insn[0].src_reg != 0 then this can have
287 * two extensions:292 * two extensions:
288 *293 *
@@ -336,6 +341,9 @@ enum bpf_attach_type { · 47 unmodified lines
336#define BPF_F_RDONLY_PROG (1U << 7)341#define BPF_F_RDONLY_PROG (1U << 7)
337#define BPF_F_WRONLY_PROG (1U << 8)342#define BPF_F_WRONLY_PROG (1U << 8)
338 343
344/* Clone map from listener for newly accepted socket */
345#define BPF_F_CLONE (1U << 9)
346
339/* flags for BPF_PROG_QUERY */347/* flags for BPF_PROG_QUERY */
340#define BPF_F_QUERY_EFFECTIVE (1U << 0)348#define BPF_F_QUERY_EFFECTIVE (1U << 0)
341 349
@@ -575,6 +583,8 @@ union bpf_attr { · 233 unmodified lines
575 * limited to five).583 * limited to five).
576 *584 *
577 * Each time the helper is called, it appends a line to the trace.585 * Each time the helper is called, it appends a line to the trace.
586 * Lines are discarded while *\/sys/kernel/debug/tracing/trace* is
587 * open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this.
578 * The format of the trace is customizable, and the exact output588 * The format of the trace is customizable, and the exact output
579 * one will get depends on the options set in589 * one will get depends on the options set in
580 * *\/sys/kernel/debug/tracing/trace_options* (see also the590 * *\/sys/kernel/debug/tracing/trace_options* (see also the
@@ -1013,7 +1023,7 @@ union bpf_attr { · 432 unmodified lines
1013 * The realm of the route for the packet associated to *skb*, or 01023 * The realm of the route for the packet associated to *skb*, or 0
1014 * if none was found.1024 * if none was found.
1015 *1025 *
1016 * int bpf_perf_event_output(struct pt_reg *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)1026 * int bpf_perf_event_output(struct pt_regs *ctx, struct bpf_map *map, u64 flags, void *data, u64 size)
1017 * Description1027 * Description
1018 * Write raw *data* blob into a special BPF perf event held by1028 * Write raw *data* blob into a special BPF perf event held by
1019 * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf1029 * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf
@@ -1075,7 +1085,7 @@ union bpf_attr { · 55 unmodified lines
1075 * Return1085 * Return
1076 * 0 on success, or a negative error in case of failure.1086 * 0 on success, or a negative error in case of failure.
1077 *1087 *
1078 * int bpf_get_stackid(struct pt_reg *ctx, struct bpf_map *map, u64 flags)1088 * int bpf_get_stackid(struct pt_regs *ctx, struct bpf_map *map, u64 flags)
1079 * Description1089 * Description
1080 * Walk a user or a kernel stack and return its id. To achieve1090 * Walk a user or a kernel stack and return its id. To achieve
1081 * this, the helper needs *ctx*, which is a pointer to the context1091 * this, the helper needs *ctx*, which is a pointer to the context
@@ -1466,8 +1476,8 @@ union bpf_attr { · 384 unmodified lines
1466 * If no cookie has been set yet, generate a new cookie. Once1476 * If no cookie has been set yet, generate a new cookie. Once
1467 * generated, the socket cookie remains stable for the life of the1477 * generated, the socket cookie remains stable for the life of the
1468 * socket. This helper can be useful for monitoring per socket1478 * socket. This helper can be useful for monitoring per socket
1469 * networking traffic statistics as it provides a unique socket1479 * networking traffic statistics as it provides a global socket
1470 * identifier per namespace.1480 * identifier that can be assumed unique.
1471 * Return1481 * Return
1472 * A 8-byte long non-decreasing number on success, or 0 if the1482 * A 8-byte long non-decreasing number on success, or 0 if the
1473 * socket field is missing inside *skb*.1483 * socket field is missing inside *skb*.
@@ -1724,7 +1734,7 @@ union bpf_attr { · 250 unmodified lines
1724 * Return1734 * Return
1725 * 0 on success, or a negative error in case of failure.1735 * 0 on success, or a negative error in case of failure.
1726 *1736 *
1727 * int bpf_override_return(struct pt_reg *regs, u64 rc)1737 * int bpf_override_return(struct pt_regs *regs, u64 rc)
1728 * Description1738 * Description
1729 * Used for error injection, this helper uses kprobes to override1739 * Used for error injection, this helper uses kprobes to override
1730 * the return value of the probed function, and to set it to *rc*.1740 * the return value of the probed function, and to set it to *rc*.
@@ -2713,6 +2723,33 @@ union bpf_attr { · 982 unmodified lines
2713 * **-EPERM** if no permission to send the *sig*.2723 * **-EPERM** if no permission to send the *sig*.
2714 *2724 *
2715 * **-EAGAIN** if bpf program can try again.2725 * **-EAGAIN** if bpf program can try again.
2726 *
2727 * s64 bpf_tcp_gen_syncookie(struct bpf_sock *sk, void *iph, u32 iph_len, struct tcphdr *th, u32 th_len)
2728 * Description
2729 * Try to issue a SYN cookie for the packet with corresponding
2730 * IP/TCP headers, *iph* and *th*, on the listening socket in *sk*.
2731 *
2732 * *iph* points to the start of the IPv4 or IPv6 header, while
2733 * *iph_len* contains **sizeof**\ (**struct iphdr**) or
2734 * **sizeof**\ (**struct ip6hdr**).
2735 *
2736 * *th* points to the start of the TCP header, while *th_len*
2737 * contains the length of the TCP header.
2738 *
2739 * Return
2740 * On success, lower 32 bits hold the generated SYN cookie in
2741 * followed by 16 bits which hold the MSS value for that cookie,
2742 * and the top 16 bits are unused.
2743 *
2744 * On failure, the returned value is one of the following:
2745 *
2746 * **-EINVAL** SYN cookie cannot be issued due to error
2747 *
2748 * **-ENOENT** SYN cookie should not be issued (no SYN flood)
2749 *
2750 * **-EOPNOTSUPP** kernel configuration does not enable SYN cookies
2751 *
2752 * **-EPROTONOSUPPORT** IP packet version is not 4 or 6
2716 */2753 */
2717#define __BPF_FUNC_MAPPER(FN) \2754#define __BPF_FUNC_MAPPER(FN) \
2718 FN(unspec), \2755 FN(unspec), \
@@ -2824,7 +2861,8 @@ union bpf_attr { · 105 unmodified lines
2824 FN(strtoul), \2861 FN(strtoul), \
2825 FN(sk_storage_get), \2862 FN(sk_storage_get), \
2826 FN(sk_storage_delete), \2863 FN(sk_storage_delete), \
2827 FN(send_signal),2864 FN(send_signal), \
2865 FN(tcp_gen_syncookie),
2828 2866
2829/* integer value in 'imm' field of BPF_CALL instruction selects which helper2867/* integer value in 'imm' field of BPF_CALL instruction selects which helper
2830 * function eBPF program intends to call2868 * function eBPF program intends to call
@@ -3507,6 +3545,10 @@ enum bpf_task_fd_type { · 676 unmodified lines
3507 BPF_FD_TYPE_URETPROBE, /* filename + offset */3545 BPF_FD_TYPE_URETPROBE, /* filename + offset */
3508};3546};
3509 3547
3548#define BPF_FLOW_DISSECTOR_F_PARSE_1ST_FRAG (1U << 0)
3549#define BPF_FLOW_DISSECTOR_F_STOP_AT_FLOW_LABEL (1U << 1)
3550#define BPF_FLOW_DISSECTOR_F_STOP_AT_ENCAP (1U << 2)
3551
3510struct bpf_flow_keys {3552struct bpf_flow_keys {
3511 __u16 nhoff;3553 __u16 nhoff;
3512 __u16 thoff;3554 __u16 thoff;
@@ -3528,6 +3570,8 @@ struct bpf_flow_keys { · 15 unmodified lines
3528 __u32 ipv6_dst[4]; /* in6_addr; network order */3570 __u32 ipv6_dst[4]; /* in6_addr; network order */
3529 };3571 };
3530 };3572 };
3573 __u32 flags;
3574 __be32 flow_label;
3531};3575};
3532 3576
3533struct bpf_func_info {3577struct bpf_func_info {
include/uapi/linux/bpfilter.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_LINUX_BPFILTER_H2#ifndef _UAPI_LINUX_BPFILTER_H
3#define _UAPI_LINUX_BPFILTER_H3#define _UAPI_LINUX_BPFILTER_H
4 4
include/uapi/linux/btf.h+2−2
@@ -22,9 +22,9 @@ struct btf_header { · 21 unmodified lines
22};22};
23 23
24/* Max # of type identifier */24/* Max # of type identifier */
25#define BTF_MAX_TYPE 0x0000ffff25#define BTF_MAX_TYPE 0x000fffff
26/* Max offset into the string section */26/* Max offset into the string section */
27#define BTF_MAX_NAME_OFFSET 0x0000ffff27#define BTF_MAX_NAME_OFFSET 0x00ffffff
28/* Max # of struct/union/enum members or func args */28/* Max # of struct/union/enum members or func args */
29#define BTF_MAX_VLEN 0xffff29#define BTF_MAX_VLEN 0xffff
30 30
include/uapi/linux/btrfs.h+8−5
@@ -665,7 +665,12 @@ struct btrfs_ioctl_get_dev_stats { · 664 unmodified lines
665 /* out values: */665 /* out values: */
666 __u64 values[BTRFS_DEV_STAT_VALUES_MAX];666 __u64 values[BTRFS_DEV_STAT_VALUES_MAX];
667 667
668 __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; /* pad to 1k */668 /*
669 * This pads the struct to 1032 bytes. It was originally meant to pad to
670 * 1024 bytes, but when adding the flags field, the padding calculation
671 * was not adjusted.
672 */
673 __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX];
669};674};
670 675
671#define BTRFS_QUOTA_CTL_ENABLE 1676#define BTRFS_QUOTA_CTL_ENABLE 1
@@ -917,10 +922,8 @@ enum btrfs_err_code { · 245 unmodified lines
917#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \922#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
918 struct btrfs_ioctl_quota_rescan_args)923 struct btrfs_ioctl_quota_rescan_args)
919#define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46)924#define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46)
920#define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \925#define BTRFS_IOC_GET_FSLABEL FS_IOC_GETFSLABEL
921 char[BTRFS_LABEL_SIZE])926#define BTRFS_IOC_SET_FSLABEL FS_IOC_SETFSLABEL
922#define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \
923 char[BTRFS_LABEL_SIZE])
924#define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \927#define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \
925 struct btrfs_ioctl_get_dev_stats)928 struct btrfs_ioctl_get_dev_stats)
926#define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \929#define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \
include/uapi/linux/btrfs_tree.h+3−6
@@ -300,7 +300,9 @@ · 299 unmodified lines
300#define BTRFS_CSUM_SIZE 32300#define BTRFS_CSUM_SIZE 32
301 301
302/* csum types */302/* csum types */
303#define BTRFS_CSUM_TYPE_CRC32 0303enum btrfs_csum_type {
304 BTRFS_CSUM_TYPE_CRC32 = 0,
305};
304 306
305/*307/*
306 * flags definitions for directory entry item type308 * flags definitions for directory entry item type
@@ -806,11 +808,6 @@ struct btrfs_dev_stats_item { · 499 unmodified lines
806 808
807#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0809#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0
808#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID 1810#define BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID 1
809#define BTRFS_DEV_REPLACE_ITEM_STATE_NEVER_STARTED 0
810#define BTRFS_DEV_REPLACE_ITEM_STATE_STARTED 1
811#define BTRFS_DEV_REPLACE_ITEM_STATE_SUSPENDED 2
812#define BTRFS_DEV_REPLACE_ITEM_STATE_FINISHED 3
813#define BTRFS_DEV_REPLACE_ITEM_STATE_CANCELED 4
814 811
815struct btrfs_dev_replace_item {812struct btrfs_dev_replace_item {
816 /*813 /*
include/uapi/linux/can.h+19−1
@@ -157,7 +157,8 @@ struct canfd_frame { · 156 unmodified lines
157#define CAN_TP20 4 /* VAG Transport Protocol v2.0 */157#define CAN_TP20 4 /* VAG Transport Protocol v2.0 */
158#define CAN_MCNET 5 /* Bosch MCNet */158#define CAN_MCNET 5 /* Bosch MCNet */
159#define CAN_ISOTP 6 /* ISO 15765-2 Transport Protocol */159#define CAN_ISOTP 6 /* ISO 15765-2 Transport Protocol */
160#define CAN_NPROTO 7160#define CAN_J1939 7 /* SAE J1939 */
161#define CAN_NPROTO 8
161 162
162#define SOL_CAN_BASE 100163#define SOL_CAN_BASE 100
163 164
@@ -174,6 +175,23 @@ struct sockaddr_can { · 10 unmodified lines
174 /* transport protocol class address information (e.g. ISOTP) */175 /* transport protocol class address information (e.g. ISOTP) */
175 struct { canid_t rx_id, tx_id; } tp;176 struct { canid_t rx_id, tx_id; } tp;
176 177
178 /* J1939 address information */
179 struct {
180 /* 8 byte name when using dynamic addressing */
181 __u64 name;
182
183 /* pgn:
184 * 8 bit: PS in PDU2 case, else 0
185 * 8 bit: PF
186 * 1 bit: DP
187 * 1 bit: reserved
188 */
189 __u32 pgn;
190
191 /* 1 byte address */
192 __u8 addr;
193 } j1939;
194
177 /* reserved for future CAN protocols address information */195 /* reserved for future CAN protocols address information */
178 } can_addr;196 } can_addr;
179};197};
include/uapi/linux/can/gw.h+15−2
@@ -80,6 +80,10 @@ enum { · 79 unmodified lines
80 CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */80 CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */
81 CGW_LIM_HOPS, /* limit the number of hops of this specific rule */81 CGW_LIM_HOPS, /* limit the number of hops of this specific rule */
82 CGW_MOD_UID, /* user defined identifier for modification updates */82 CGW_MOD_UID, /* user defined identifier for modification updates */
83 CGW_FDMOD_AND, /* CAN FD frame modification binary AND */
84 CGW_FDMOD_OR, /* CAN FD frame modification binary OR */
85 CGW_FDMOD_XOR, /* CAN FD frame modification binary XOR */
86 CGW_FDMOD_SET, /* CAN FD frame modification set alternate values */
83 __CGW_MAX87 __CGW_MAX
84};88};
85 89
@@ -88,15 +92,18 @@ enum { · 2 unmodified lines
88#define CGW_FLAGS_CAN_ECHO 0x0192#define CGW_FLAGS_CAN_ECHO 0x01
89#define CGW_FLAGS_CAN_SRC_TSTAMP 0x0293#define CGW_FLAGS_CAN_SRC_TSTAMP 0x02
90#define CGW_FLAGS_CAN_IIF_TX_OK 0x0494#define CGW_FLAGS_CAN_IIF_TX_OK 0x04
95#define CGW_FLAGS_CAN_FD 0x08
91 96
92#define CGW_MOD_FUNCS 4 /* AND OR XOR SET */97#define CGW_MOD_FUNCS 4 /* AND OR XOR SET */
93 98
94/* CAN frame elements that are affected by curr. 3 CAN frame modifications */99/* CAN frame elements that are affected by curr. 3 CAN frame modifications */
95#define CGW_MOD_ID 0x01100#define CGW_MOD_ID 0x01
96#define CGW_MOD_DLC 0x02101#define CGW_MOD_DLC 0x02 /* contains the data length in bytes */
102#define CGW_MOD_LEN CGW_MOD_DLC /* CAN FD length representation */
97#define CGW_MOD_DATA 0x04103#define CGW_MOD_DATA 0x04
104#define CGW_MOD_FLAGS 0x08 /* CAN FD flags */
98 105
99#define CGW_FRAME_MODS 3 /* ID DLC DATA */106#define CGW_FRAME_MODS 4 /* ID DLC/LEN DATA FLAGS */
100 107
101#define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS)108#define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS)
102 109
@@ -105,7 +112,13 @@ struct cgw_frame_mod { · 2 unmodified lines
105 __u8 modtype;112 __u8 modtype;
106} __attribute__((packed));113} __attribute__((packed));
107 114
115struct cgw_fdframe_mod {
116 struct canfd_frame cf;
117 __u8 modtype;
118} __attribute__((packed));
119
108#define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod)120#define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod)
121#define CGW_FDMODATTR_LEN sizeof(struct cgw_fdframe_mod)
109 122
110struct cgw_csum_xor {123struct cgw_csum_xor {
111 __s8 from_idx;124 __s8 from_idx;
include/uapi/linux/can/j1939.h+99−0
@@ -0,0 +1,99 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * j1939.h
4 *
5 * Copyright (c) 2010-2011 EIA Electronics
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 */
11
12#ifndef _UAPI_CAN_J1939_H_
13#define _UAPI_CAN_J1939_H_
14
15#include <linux/types.h>
16#include <linux/socket.h>
17#include <linux/can.h>
18
19#define J1939_MAX_UNICAST_ADDR 0xfd
20#define J1939_IDLE_ADDR 0xfe
21#define J1939_NO_ADDR 0xff /* == broadcast or no addr */
22#define J1939_NO_NAME 0
23#define J1939_PGN_REQUEST 0x0ea00 /* Request PG */
24#define J1939_PGN_ADDRESS_CLAIMED 0x0ee00 /* Address Claimed */
25#define J1939_PGN_ADDRESS_COMMANDED 0x0fed8 /* Commanded Address */
26#define J1939_PGN_PDU1_MAX 0x3ff00
27#define J1939_PGN_MAX 0x3ffff
28#define J1939_NO_PGN 0x40000
29
30/* J1939 Parameter Group Number
31 *
32 * bit 0-7 : PDU Specific (PS)
33 * bit 8-15 : PDU Format (PF)
34 * bit 16 : Data Page (DP)
35 * bit 17 : Reserved (R)
36 * bit 19-31 : set to zero
37 */
38typedef __u32 pgn_t;
39
40/* J1939 Priority
41 *
42 * bit 0-2 : Priority (P)
43 * bit 3-7 : set to zero
44 */
45typedef __u8 priority_t;
46
47/* J1939 NAME
48 *
49 * bit 0-20 : Identity Number
50 * bit 21-31 : Manufacturer Code
51 * bit 32-34 : ECU Instance
52 * bit 35-39 : Function Instance
53 * bit 40-47 : Function
54 * bit 48 : Reserved
55 * bit 49-55 : Vehicle System
56 * bit 56-59 : Vehicle System Instance
57 * bit 60-62 : Industry Group
58 * bit 63 : Arbitrary Address Capable
59 */
60typedef __u64 name_t;
61
62/* J1939 socket options */
63#define SOL_CAN_J1939 (SOL_CAN_BASE + CAN_J1939)
64enum {
65 SO_J1939_FILTER = 1, /* set filters */
66 SO_J1939_PROMISC = 2, /* set/clr promiscuous mode */
67 SO_J1939_SEND_PRIO = 3,
68 SO_J1939_ERRQUEUE = 4,
69};
70
71enum {
72 SCM_J1939_DEST_ADDR = 1,
73 SCM_J1939_DEST_NAME = 2,
74 SCM_J1939_PRIO = 3,
75 SCM_J1939_ERRQUEUE = 4,
76};
77
78enum {
79 J1939_NLA_PAD,
80 J1939_NLA_BYTES_ACKED,
81};
82
83enum {
84 J1939_EE_INFO_NONE,
85 J1939_EE_INFO_TX_ABORT,
86};
87
88struct j1939_filter {
89 name_t name;
90 name_t name_mask;
91 pgn_t pgn;
92 pgn_t pgn_mask;
93 __u8 addr;
94 __u8 addr_mask;
95};
96
97#define J1939_FILTER_MAX 512 /* maximum number of j1939_filter set via setsockopt() */
98
99#endif /* !_UAPI_CAN_J1939_H_ */
include/uapi/linux/can/netlink.h+3−3
@@ -40,15 +40,15 @@ struct can_bittiming { · 39 unmodified lines
40};40};
41 41
42/*42/*
43 * CAN harware-dependent bit-timing constant43 * CAN hardware-dependent bit-timing constant
44 *44 *
45 * Used for calculating and checking bit-timing parameters45 * Used for calculating and checking bit-timing parameters
46 */46 */
47struct can_bittiming_const {47struct can_bittiming_const {
48 char name[16]; /* Name of the CAN controller hardware */48 char name[16]; /* Name of the CAN controller hardware */
49 __u32 tseg1_min; /* Time segement 1 = prop_seg + phase_seg1 */49 __u32 tseg1_min; /* Time segment 1 = prop_seg + phase_seg1 */
50 __u32 tseg1_max;50 __u32 tseg1_max;
51 __u32 tseg2_min; /* Time segement 2 = phase_seg2 */51 __u32 tseg2_min; /* Time segment 2 = phase_seg2 */
52 __u32 tseg2_max;52 __u32 tseg2_max;
53 __u32 sjw_max; /* Synchronisation jump width */53 __u32 sjw_max; /* Synchronisation jump width */
54 __u32 brp_min; /* Bit-rate prescaler */54 __u32 brp_min; /* Bit-rate prescaler */
include/uapi/linux/coff.h+5−0
@@ -11,6 +11,9 @@ · 10 unmodified lines
11 more information about COFF, then O'Reilly has a very excellent book.11 more information about COFF, then O'Reilly has a very excellent book.
12*/12*/
13 13
14#ifndef _UAPI_LINUX_COFF_H
15#define _UAPI_LINUX_COFF_H
16
14#define E_SYMNMLEN 8 /* Number of characters in a symbol name */17#define E_SYMNMLEN 8 /* Number of characters in a symbol name */
15#define E_FILNMLEN 14 /* Number of characters in a file name */18#define E_FILNMLEN 14 /* Number of characters in a file name */
16#define E_DIMNUM 4 /* Number of array dimensions in auxiliary entry */19#define E_DIMNUM 4 /* Number of array dimensions in auxiliary entry */
@@ -350,3 +353,5 @@ struct COFF_reloc { · 333 unmodified lines
350 353
351/* For new sections we haven't heard of before */354/* For new sections we haven't heard of before */
352#define COFF_DEF_SECTION_ALIGNMENT 4355#define COFF_DEF_SECTION_ALIGNMENT 4
356
357#endif /* _UAPI_LINUX_COFF_H */
include/uapi/linux/cryptouser.h+5−0
@@ -19,6 +19,9 @@ · 18 unmodified lines
19 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.19 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
20 */20 */
21 21
22#ifndef _UAPI_LINUX_CRYPTOUSER_H
23#define _UAPI_LINUX_CRYPTOUSER_H
24
22#include <linux/types.h>25#include <linux/types.h>
23 26
24/* Netlink configuration messages. */27/* Netlink configuration messages. */
@@ -198,3 +201,5 @@ struct crypto_report_acomp { · 173 unmodified lines
198 201
199#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + \202#define CRYPTO_REPORT_MAXSIZE (sizeof(struct crypto_user_alg) + \
200 sizeof(struct crypto_report_blkcipher))203 sizeof(struct crypto_report_blkcipher))
204
205#endif /* _UAPI_LINUX_CRYPTOUSER_H */
include/uapi/linux/devlink.h+73−0
@@ -107,6 +107,16 @@ enum devlink_command { · 106 unmodified lines
107 DEVLINK_CMD_FLASH_UPDATE_END, /* notification only */107 DEVLINK_CMD_FLASH_UPDATE_END, /* notification only */
108 DEVLINK_CMD_FLASH_UPDATE_STATUS, /* notification only */108 DEVLINK_CMD_FLASH_UPDATE_STATUS, /* notification only */
109 109
110 DEVLINK_CMD_TRAP_GET, /* can dump */
111 DEVLINK_CMD_TRAP_SET,
112 DEVLINK_CMD_TRAP_NEW,
113 DEVLINK_CMD_TRAP_DEL,
114
115 DEVLINK_CMD_TRAP_GROUP_GET, /* can dump */
116 DEVLINK_CMD_TRAP_GROUP_SET,
117 DEVLINK_CMD_TRAP_GROUP_NEW,
118 DEVLINK_CMD_TRAP_GROUP_DEL,
119
110 /* add new commands above here */120 /* add new commands above here */
111 __DEVLINK_CMD_MAX,121 __DEVLINK_CMD_MAX,
112 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1122 DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
@@ -192,6 +202,56 @@ enum devlink_param_cmode { · 79 unmodified lines
192enum devlink_param_fw_load_policy_value {202enum devlink_param_fw_load_policy_value {
193 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER,203 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DRIVER,
194 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH,204 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_FLASH,
205 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_DISK,
206 DEVLINK_PARAM_FW_LOAD_POLICY_VALUE_UNKNOWN,
207};
208
209enum devlink_param_reset_dev_on_drv_probe_value {
210 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_UNKNOWN,
211 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_ALWAYS,
212 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_NEVER,
213 DEVLINK_PARAM_RESET_DEV_ON_DRV_PROBE_VALUE_DISK,
214};
215
216enum {
217 DEVLINK_ATTR_STATS_RX_PACKETS, /* u64 */
218 DEVLINK_ATTR_STATS_RX_BYTES, /* u64 */
219
220 __DEVLINK_ATTR_STATS_MAX,
221 DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1
222};
223
224/**
225 * enum devlink_trap_action - Packet trap action.
226 * @DEVLINK_TRAP_ACTION_DROP: Packet is dropped by the device and a copy is not
227 * sent to the CPU.
228 * @DEVLINK_TRAP_ACTION_TRAP: The sole copy of the packet is sent to the CPU.
229 */
230enum devlink_trap_action {
231 DEVLINK_TRAP_ACTION_DROP,
232 DEVLINK_TRAP_ACTION_TRAP,
233};
234
235/**
236 * enum devlink_trap_type - Packet trap type.
237 * @DEVLINK_TRAP_TYPE_DROP: Trap reason is a drop. Trapped packets are only
238 * processed by devlink and not injected to the
239 * kernel's Rx path.
240 * @DEVLINK_TRAP_TYPE_EXCEPTION: Trap reason is an exception. Packet was not
241 * forwarded as intended due to an exception
242 * (e.g., missing neighbour entry) and trapped to
243 * control plane for resolution. Trapped packets
244 * are processed by devlink and injected to
245 * the kernel's Rx path.
246 */
247enum devlink_trap_type {
248 DEVLINK_TRAP_TYPE_DROP,
249 DEVLINK_TRAP_TYPE_EXCEPTION,
250};
251
252enum {
253 /* Trap can report input port as metadata */
254 DEVLINK_ATTR_TRAP_METADATA_TYPE_IN_PORT,
195};255};
196 256
197enum devlink_attr {257enum devlink_attr {
@@ -348,6 +408,19 @@ enum devlink_attr { · 150 unmodified lines
348 DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */408 DEVLINK_ATTR_PORT_PCI_PF_NUMBER, /* u16 */
349 DEVLINK_ATTR_PORT_PCI_VF_NUMBER, /* u16 */409 DEVLINK_ATTR_PORT_PCI_VF_NUMBER, /* u16 */
350 410
411 DEVLINK_ATTR_STATS, /* nested */
412
413 DEVLINK_ATTR_TRAP_NAME, /* string */
414 /* enum devlink_trap_action */
415 DEVLINK_ATTR_TRAP_ACTION, /* u8 */
416 /* enum devlink_trap_type */
417 DEVLINK_ATTR_TRAP_TYPE, /* u8 */
418 DEVLINK_ATTR_TRAP_GENERIC, /* flag */
419 DEVLINK_ATTR_TRAP_METADATA, /* nested */
420 DEVLINK_ATTR_TRAP_GROUP_NAME, /* string */
421
422 DEVLINK_ATTR_RELOAD_FAILED, /* u8 0 or 1 */
423
351 /* add new attributes above here, update the policy in devlink.c */424 /* add new attributes above here, update the policy in devlink.c */
352 425
353 __DEVLINK_ATTR_MAX,426 __DEVLINK_ATTR_MAX,
include/uapi/linux/dm-ioctl.h+4−2
@@ -243,6 +243,7 @@ enum { · 242 unmodified lines
243 DM_TARGET_MSG_CMD,243 DM_TARGET_MSG_CMD,
244 DM_DEV_SET_GEOMETRY_CMD,244 DM_DEV_SET_GEOMETRY_CMD,
245 DM_DEV_ARM_POLL_CMD,245 DM_DEV_ARM_POLL_CMD,
246 DM_GET_TARGET_VERSION_CMD,
246};247};
247 248
248#define DM_IOCTL 0xfd249#define DM_IOCTL 0xfd
@@ -265,14 +266,15 @@ enum { · 16 unmodified lines
265#define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl)266#define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl)
266 267
267#define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl)268#define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl)
269#define DM_GET_TARGET_VERSION _IOWR(DM_IOCTL, DM_GET_TARGET_VERSION_CMD, struct dm_ioctl)
268 270
269#define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)271#define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)
270#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)272#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
271 273
272#define DM_VERSION_MAJOR 4274#define DM_VERSION_MAJOR 4
273#define DM_VERSION_MINOR 40275#define DM_VERSION_MINOR 41
274#define DM_VERSION_PATCHLEVEL 0276#define DM_VERSION_PATCHLEVEL 0
275#define DM_VERSION_EXTRA "-ioctl (2019-01-18)"277#define DM_VERSION_EXTRA "-ioctl (2019-09-16)"
276 278
277/* Status bits */279/* Status bits */
278#define DM_READONLY_FLAG (1 << 0) /* In/Out */280#define DM_READONLY_FLAG (1 << 0) /* In/Out */
include/uapi/linux/ethtool.h+22−0
@@ -259,10 +259,32 @@ struct ethtool_tunable { · 258 unmodified lines
259#define ETHTOOL_PHY_FAST_LINK_DOWN_ON 0259#define ETHTOOL_PHY_FAST_LINK_DOWN_ON 0
260#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF 0xff260#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF 0xff
261 261
262/* Energy Detect Power Down (EDPD) is a feature supported by some PHYs, where
263 * the PHY's RX & TX blocks are put into a low-power mode when there is no
264 * link detected (typically cable is un-plugged). For RX, only a minimal
265 * link-detection is available, and for TX the PHY wakes up to send link pulses
266 * to avoid any lock-ups in case the peer PHY may also be running in EDPD mode.
267 *
268 * Some PHYs may support configuration of the wake-up interval for TX pulses,
269 * and some PHYs may support only disabling TX pulses entirely. For the latter
270 * a special value is required (ETHTOOL_PHY_EDPD_NO_TX) so that this can be
271 * configured from userspace (should the user want it).
272 *
273 * The interval units for TX wake-up are in milliseconds, since this should
274 * cover a reasonable range of intervals:
275 * - from 1 millisecond, which does not sound like much of a power-saver
276 * - to ~65 seconds which is quite a lot to wait for a link to come up when
277 * plugging a cable
278 */
279#define ETHTOOL_PHY_EDPD_DFLT_TX_MSECS 0xffff
280#define ETHTOOL_PHY_EDPD_NO_TX 0xfffe
281#define ETHTOOL_PHY_EDPD_DISABLE 0
282
262enum phy_tunable_id {283enum phy_tunable_id {
263 ETHTOOL_PHY_ID_UNSPEC,284 ETHTOOL_PHY_ID_UNSPEC,
264 ETHTOOL_PHY_DOWNSHIFT,285 ETHTOOL_PHY_DOWNSHIFT,
265 ETHTOOL_PHY_FAST_LINK_DOWN,286 ETHTOOL_PHY_FAST_LINK_DOWN,
287 ETHTOOL_PHY_EDPD,
266 /*288 /*
267 * Add your fresh new phy tunable attribute above and remember to update289 * Add your fresh new phy tunable attribute above and remember to update
268 * phy_tunable_strings[] in net/core/ethtool.c290 * phy_tunable_strings[] in net/core/ethtool.c
include/uapi/linux/fpga-dfl.h+18−0
@@ -176,4 +176,22 @@ struct dfl_fpga_fme_port_pr { · 175 unmodified lines
176 176
177#define DFL_FPGA_FME_PORT_PR _IO(DFL_FPGA_MAGIC, DFL_FME_BASE + 0)177#define DFL_FPGA_FME_PORT_PR _IO(DFL_FPGA_MAGIC, DFL_FME_BASE + 0)
178 178
179/**
180 * DFL_FPGA_FME_PORT_RELEASE - _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 1,
181 * int port_id)
182 *
183 * Driver releases the port per Port ID provided by caller.
184 * Return: 0 on success, -errno on failure.
185 */
186#define DFL_FPGA_FME_PORT_RELEASE _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 1, int)
187
188/**
189 * DFL_FPGA_FME_PORT_ASSIGN - _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2,
190 * int port_id)
191 *
192 * Driver assigns the port back per Port ID provided by caller.
193 * Return: 0 on success, -errno on failure.
194 */
195#define DFL_FPGA_FME_PORT_ASSIGN _IOW(DFL_FPGA_MAGIC, DFL_FME_BASE + 2, int)
196
179#endif /* _UAPI_LINUX_FPGA_DFL_H */197#endif /* _UAPI_LINUX_FPGA_DFL_H */
include/uapi/linux/fs.h+5−51
@@ -13,6 +13,9 @@ · 12 unmodified lines
13#include <linux/limits.h>13#include <linux/limits.h>
14#include <linux/ioctl.h>14#include <linux/ioctl.h>
15#include <linux/types.h>15#include <linux/types.h>
16#ifndef __KERNEL__
17#include <linux/fscrypt.h>
18#endif
16 19
17/* Use of MS_* flags within the kernel is restricted to core mount(2) code. */20/* Use of MS_* flags within the kernel is restricted to core mount(2) code. */
18#if !defined(__KERNEL__)21#if !defined(__KERNEL__)
@@ -212,57 +215,6 @@ struct fsxattr { · 193 unmodified lines
212#define FS_IOC_GETFSLABEL _IOR(0x94, 49, char[FSLABEL_MAX])215#define FS_IOC_GETFSLABEL _IOR(0x94, 49, char[FSLABEL_MAX])
213#define FS_IOC_SETFSLABEL _IOW(0x94, 50, char[FSLABEL_MAX])216#define FS_IOC_SETFSLABEL _IOW(0x94, 50, char[FSLABEL_MAX])
214 217
215/*
216 * File system encryption support
217 */
218/* Policy provided via an ioctl on the topmost directory */
219#define FS_KEY_DESCRIPTOR_SIZE 8
220
221#define FS_POLICY_FLAGS_PAD_4 0x00
222#define FS_POLICY_FLAGS_PAD_8 0x01
223#define FS_POLICY_FLAGS_PAD_16 0x02
224#define FS_POLICY_FLAGS_PAD_32 0x03
225#define FS_POLICY_FLAGS_PAD_MASK 0x03
226#define FS_POLICY_FLAG_DIRECT_KEY 0x04 /* use master key directly */
227#define FS_POLICY_FLAGS_VALID 0x07
228
229/* Encryption algorithms */
230#define FS_ENCRYPTION_MODE_INVALID 0
231#define FS_ENCRYPTION_MODE_AES_256_XTS 1
232#define FS_ENCRYPTION_MODE_AES_256_GCM 2
233#define FS_ENCRYPTION_MODE_AES_256_CBC 3
234#define FS_ENCRYPTION_MODE_AES_256_CTS 4
235#define FS_ENCRYPTION_MODE_AES_128_CBC 5
236#define FS_ENCRYPTION_MODE_AES_128_CTS 6
237#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* Removed, do not use. */
238#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* Removed, do not use. */
239#define FS_ENCRYPTION_MODE_ADIANTUM 9
240
241struct fscrypt_policy {
242 __u8 version;
243 __u8 contents_encryption_mode;
244 __u8 filenames_encryption_mode;
245 __u8 flags;
246 __u8 master_key_descriptor[FS_KEY_DESCRIPTOR_SIZE];
247};
248
249#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy)
250#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16])
251#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy)
252
253/* Parameters for passing an encryption key into the kernel keyring */
254#define FS_KEY_DESC_PREFIX "fscrypt:"
255#define FS_KEY_DESC_PREFIX_SIZE 8
256
257/* Structure that userspace passes to the kernel keyring */
258#define FS_MAX_KEY_SIZE 64
259
260struct fscrypt_key {
261 __u32 mode;
262 __u8 raw[FS_MAX_KEY_SIZE];
263 __u32 size;
264};
265
266/*218/*
267 * Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)219 * Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
268 *220 *
@@ -306,11 +258,13 @@ struct fscrypt_key { · 37 unmodified lines
306#define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/258#define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
307#define FS_HUGE_FILE_FL 0x00040000 /* Reserved for ext4 */259#define FS_HUGE_FILE_FL 0x00040000 /* Reserved for ext4 */
308#define FS_EXTENT_FL 0x00080000 /* Extents */260#define FS_EXTENT_FL 0x00080000 /* Extents */
261#define FS_VERITY_FL 0x00100000 /* Verity protected inode */
309#define FS_EA_INODE_FL 0x00200000 /* Inode used for large EA */262#define FS_EA_INODE_FL 0x00200000 /* Inode used for large EA */
310#define FS_EOFBLOCKS_FL 0x00400000 /* Reserved for ext4 */263#define FS_EOFBLOCKS_FL 0x00400000 /* Reserved for ext4 */
311#define FS_NOCOW_FL 0x00800000 /* Do not cow file */264#define FS_NOCOW_FL 0x00800000 /* Do not cow file */
312#define FS_INLINE_DATA_FL 0x10000000 /* Reserved for ext4 */265#define FS_INLINE_DATA_FL 0x10000000 /* Reserved for ext4 */
313#define FS_PROJINHERIT_FL 0x20000000 /* Create with parents projid */266#define FS_PROJINHERIT_FL 0x20000000 /* Create with parents projid */
267#define FS_CASEFOLD_FL 0x40000000 /* Folder is case insensitive */
314#define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */268#define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
315 269
316#define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */270#define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
include/uapi/linux/fscrypt.h+181−0
@@ -0,0 +1,181 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * fscrypt user API
4 *
5 * These ioctls can be used on filesystems that support fscrypt. See the
6 * "User API" section of Documentation/filesystems/fscrypt.rst.
7 */
8#ifndef _UAPI_LINUX_FSCRYPT_H
9#define _UAPI_LINUX_FSCRYPT_H
10
11#include <linux/types.h>
12
13/* Encryption policy flags */
14#define FSCRYPT_POLICY_FLAGS_PAD_4 0x00
15#define FSCRYPT_POLICY_FLAGS_PAD_8 0x01
16#define FSCRYPT_POLICY_FLAGS_PAD_16 0x02
17#define FSCRYPT_POLICY_FLAGS_PAD_32 0x03
18#define FSCRYPT_POLICY_FLAGS_PAD_MASK 0x03
19#define FSCRYPT_POLICY_FLAG_DIRECT_KEY 0x04
20#define FSCRYPT_POLICY_FLAGS_VALID 0x07
21
22/* Encryption algorithms */
23#define FSCRYPT_MODE_AES_256_XTS 1
24#define FSCRYPT_MODE_AES_256_CTS 4
25#define FSCRYPT_MODE_AES_128_CBC 5
26#define FSCRYPT_MODE_AES_128_CTS 6
27#define FSCRYPT_MODE_ADIANTUM 9
28#define __FSCRYPT_MODE_MAX 9
29
30/*
31 * Legacy policy version; ad-hoc KDF and no key verification.
32 * For new encrypted directories, use fscrypt_policy_v2 instead.
33 *
34 * Careful: the .version field for this is actually 0, not 1.
35 */
36#define FSCRYPT_POLICY_V1 0
37#define FSCRYPT_KEY_DESCRIPTOR_SIZE 8
38struct fscrypt_policy_v1 {
39 __u8 version;
40 __u8 contents_encryption_mode;
41 __u8 filenames_encryption_mode;
42 __u8 flags;
43 __u8 master_key_descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE];
44};
45#define fscrypt_policy fscrypt_policy_v1
46
47/*
48 * Process-subscribed "logon" key description prefix and payload format.
49 * Deprecated; prefer FS_IOC_ADD_ENCRYPTION_KEY instead.
50 */
51#define FSCRYPT_KEY_DESC_PREFIX "fscrypt:"
52#define FSCRYPT_KEY_DESC_PREFIX_SIZE 8
53#define FSCRYPT_MAX_KEY_SIZE 64
54struct fscrypt_key {
55 __u32 mode;
56 __u8 raw[FSCRYPT_MAX_KEY_SIZE];
57 __u32 size;
58};
59
60/*
61 * New policy version with HKDF and key verification (recommended).
62 */
63#define FSCRYPT_POLICY_V2 2
64#define FSCRYPT_KEY_IDENTIFIER_SIZE 16
65struct fscrypt_policy_v2 {
66 __u8 version;
67 __u8 contents_encryption_mode;
68 __u8 filenames_encryption_mode;
69 __u8 flags;
70 __u8 __reserved[4];
71 __u8 master_key_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
72};
73
74/* Struct passed to FS_IOC_GET_ENCRYPTION_POLICY_EX */
75struct fscrypt_get_policy_ex_arg {
76 __u64 policy_size; /* input/output */
77 union {
78 __u8 version;
79 struct fscrypt_policy_v1 v1;
80 struct fscrypt_policy_v2 v2;
81 } policy; /* output */
82};
83
84/*
85 * v1 policy keys are specified by an arbitrary 8-byte key "descriptor",
86 * matching fscrypt_policy_v1::master_key_descriptor.
87 */
88#define FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR 1
89
90/*
91 * v2 policy keys are specified by a 16-byte key "identifier" which the kernel
92 * calculates as a cryptographic hash of the key itself,
93 * matching fscrypt_policy_v2::master_key_identifier.
94 */
95#define FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER 2
96
97/*
98 * Specifies a key, either for v1 or v2 policies. This doesn't contain the
99 * actual key itself; this is just the "name" of the key.
100 */
101struct fscrypt_key_specifier {
102 __u32 type; /* one of FSCRYPT_KEY_SPEC_TYPE_* */
103 __u32 __reserved;
104 union {
105 __u8 __reserved[32]; /* reserve some extra space */
106 __u8 descriptor[FSCRYPT_KEY_DESCRIPTOR_SIZE];
107 __u8 identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
108 } u;
109};
110
111/* Struct passed to FS_IOC_ADD_ENCRYPTION_KEY */
112struct fscrypt_add_key_arg {
113 struct fscrypt_key_specifier key_spec;
114 __u32 raw_size;
115 __u32 __reserved[9];
116 __u8 raw[];
117};
118
119/* Struct passed to FS_IOC_REMOVE_ENCRYPTION_KEY */
120struct fscrypt_remove_key_arg {
121 struct fscrypt_key_specifier key_spec;
122#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY 0x00000001
123#define FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS 0x00000002
124 __u32 removal_status_flags; /* output */
125 __u32 __reserved[5];
126};
127
128/* Struct passed to FS_IOC_GET_ENCRYPTION_KEY_STATUS */
129struct fscrypt_get_key_status_arg {
130 /* input */
131 struct fscrypt_key_specifier key_spec;
132 __u32 __reserved[6];
133
134 /* output */
135#define FSCRYPT_KEY_STATUS_ABSENT 1
136#define FSCRYPT_KEY_STATUS_PRESENT 2
137#define FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED 3
138 __u32 status;
139#define FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF 0x00000001
140 __u32 status_flags;
141 __u32 user_count;
142 __u32 __out_reserved[13];
143};
144
145#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy)
146#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16])
147#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy)
148#define FS_IOC_GET_ENCRYPTION_POLICY_EX _IOWR('f', 22, __u8[9]) /* size + version */
149#define FS_IOC_ADD_ENCRYPTION_KEY _IOWR('f', 23, struct fscrypt_add_key_arg)
150#define FS_IOC_REMOVE_ENCRYPTION_KEY _IOWR('f', 24, struct fscrypt_remove_key_arg)
151#define FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS _IOWR('f', 25, struct fscrypt_remove_key_arg)
152#define FS_IOC_GET_ENCRYPTION_KEY_STATUS _IOWR('f', 26, struct fscrypt_get_key_status_arg)
153
154/**********************************************************************/
155
156/* old names; don't add anything new here! */
157#ifndef __KERNEL__
158#define FS_KEY_DESCRIPTOR_SIZE FSCRYPT_KEY_DESCRIPTOR_SIZE
159#define FS_POLICY_FLAGS_PAD_4 FSCRYPT_POLICY_FLAGS_PAD_4
160#define FS_POLICY_FLAGS_PAD_8 FSCRYPT_POLICY_FLAGS_PAD_8
161#define FS_POLICY_FLAGS_PAD_16 FSCRYPT_POLICY_FLAGS_PAD_16
162#define FS_POLICY_FLAGS_PAD_32 FSCRYPT_POLICY_FLAGS_PAD_32
163#define FS_POLICY_FLAGS_PAD_MASK FSCRYPT_POLICY_FLAGS_PAD_MASK
164#define FS_POLICY_FLAG_DIRECT_KEY FSCRYPT_POLICY_FLAG_DIRECT_KEY
165#define FS_POLICY_FLAGS_VALID FSCRYPT_POLICY_FLAGS_VALID
166#define FS_ENCRYPTION_MODE_INVALID 0 /* never used */
167#define FS_ENCRYPTION_MODE_AES_256_XTS FSCRYPT_MODE_AES_256_XTS
168#define FS_ENCRYPTION_MODE_AES_256_GCM 2 /* never used */
169#define FS_ENCRYPTION_MODE_AES_256_CBC 3 /* never used */
170#define FS_ENCRYPTION_MODE_AES_256_CTS FSCRYPT_MODE_AES_256_CTS
171#define FS_ENCRYPTION_MODE_AES_128_CBC FSCRYPT_MODE_AES_128_CBC
172#define FS_ENCRYPTION_MODE_AES_128_CTS FSCRYPT_MODE_AES_128_CTS
173#define FS_ENCRYPTION_MODE_SPECK128_256_XTS 7 /* removed */
174#define FS_ENCRYPTION_MODE_SPECK128_256_CTS 8 /* removed */
175#define FS_ENCRYPTION_MODE_ADIANTUM FSCRYPT_MODE_ADIANTUM
176#define FS_KEY_DESC_PREFIX FSCRYPT_KEY_DESC_PREFIX
177#define FS_KEY_DESC_PREFIX_SIZE FSCRYPT_KEY_DESC_PREFIX_SIZE
178#define FS_MAX_KEY_SIZE FSCRYPT_MAX_KEY_SIZE
179#endif /* !__KERNEL__ */
180
181#endif /* _UAPI_LINUX_FSCRYPT_H */
include/uapi/linux/fsverity.h+40−0
@@ -0,0 +1,40 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * fs-verity user API
4 *
5 * These ioctls can be used on filesystems that support fs-verity. See the
6 * "User API" section of Documentation/filesystems/fsverity.rst.
7 *
8 * Copyright 2019 Google LLC
9 */
10#ifndef _UAPI_LINUX_FSVERITY_H
11#define _UAPI_LINUX_FSVERITY_H
12
13#include <linux/ioctl.h>
14#include <linux/types.h>
15
16#define FS_VERITY_HASH_ALG_SHA256 1
17#define FS_VERITY_HASH_ALG_SHA512 2
18
19struct fsverity_enable_arg {
20 __u32 version;
21 __u32 hash_algorithm;
22 __u32 block_size;
23 __u32 salt_size;
24 __u64 salt_ptr;
25 __u32 sig_size;
26 __u32 __reserved1;
27 __u64 sig_ptr;
28 __u64 __reserved2[11];
29};
30
31struct fsverity_digest {
32 __u16 digest_algorithm;
33 __u16 digest_size; /* input/output */
34 __u8 digest[];
35};
36
37#define FS_IOC_ENABLE_VERITY _IOW('f', 133, struct fsverity_enable_arg)
38#define FS_IOC_MEASURE_VERITY _IOWR('f', 134, struct fsverity_digest)
39
40#endif /* _UAPI_LINUX_FSVERITY_H */
include/uapi/linux/fuse.h+11−1
@@ -133,6 +133,8 @@ · 132 unmodified lines
133 *133 *
134 * 7.31134 * 7.31
135 * - add FUSE_WRITE_KILL_PRIV flag135 * - add FUSE_WRITE_KILL_PRIV flag
136 * - add FUSE_SETUPMAPPING and FUSE_REMOVEMAPPING
137 * - add map_alignment to fuse_init_out, add FUSE_MAP_ALIGNMENT flag
136 */138 */
137 139
138#ifndef _LINUX_FUSE_H140#ifndef _LINUX_FUSE_H
@@ -274,6 +276,7 @@ struct fuse_file_lock { · 135 unmodified lines
274 * FUSE_CACHE_SYMLINKS: cache READLINK responses276 * FUSE_CACHE_SYMLINKS: cache READLINK responses
275 * FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir277 * FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir
276 * FUSE_EXPLICIT_INVAL_DATA: only invalidate cached pages on explicit request278 * FUSE_EXPLICIT_INVAL_DATA: only invalidate cached pages on explicit request
279 * FUSE_MAP_ALIGNMENT: map_alignment field is valid
277 */280 */
278#define FUSE_ASYNC_READ (1 << 0)281#define FUSE_ASYNC_READ (1 << 0)
279#define FUSE_POSIX_LOCKS (1 << 1)282#define FUSE_POSIX_LOCKS (1 << 1)
@@ -301,6 +304,7 @@ struct fuse_file_lock { · 21 unmodified lines
301#define FUSE_CACHE_SYMLINKS (1 << 23)304#define FUSE_CACHE_SYMLINKS (1 << 23)
302#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)305#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)
303#define FUSE_EXPLICIT_INVAL_DATA (1 << 25)306#define FUSE_EXPLICIT_INVAL_DATA (1 << 25)
307#define FUSE_MAP_ALIGNMENT (1 << 26)
304 308
305/**309/**
306 * CUSE INIT request/reply flags310 * CUSE INIT request/reply flags
@@ -422,9 +426,15 @@ enum fuse_opcode { · 115 unmodified lines
422 FUSE_RENAME2 = 45,426 FUSE_RENAME2 = 45,
423 FUSE_LSEEK = 46,427 FUSE_LSEEK = 46,
424 FUSE_COPY_FILE_RANGE = 47,428 FUSE_COPY_FILE_RANGE = 47,
429 FUSE_SETUPMAPPING = 48,
430 FUSE_REMOVEMAPPING = 49,
425 431
426 /* CUSE specific operations */432 /* CUSE specific operations */
427 CUSE_INIT = 4096,433 CUSE_INIT = 4096,
434
435 /* Reserved opcodes: helpful to detect structure endian-ness */
436 CUSE_INIT_BSWAP_RESERVED = 1048576, /* CUSE_INIT << 8 */
437 FUSE_INIT_BSWAP_RESERVED = 436207616, /* FUSE_INIT << 24 */
428};438};
429 439
430enum fuse_notify_code {440enum fuse_notify_code {
@@ -652,7 +662,7 @@ struct fuse_init_out { · 221 unmodified lines
652 uint32_t max_write;662 uint32_t max_write;
653 uint32_t time_gran;663 uint32_t time_gran;
654 uint16_t max_pages;664 uint16_t max_pages;
655 uint16_t padding;665 uint16_t map_alignment;
656 uint32_t unused[8];666 uint32_t unused[8];
657};667};
658 668
include/uapi/linux/gsmmux.h+2−0
@@ -37,5 +37,7 @@ struct gsm_netconfig { · 36 unmodified lines
37#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)37#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)
38#define GSMIOC_DISABLE_NET _IO('G', 3)38#define GSMIOC_DISABLE_NET _IO('G', 3)
39 39
40/* get the base tty number for a configured gsmmux tty */
41#define GSMIOC_GETFIRST _IOR('G', 4, __u32)
40 42
41#endif43#endif
include/uapi/linux/if_bridge.h+1−0
@@ -237,6 +237,7 @@ struct br_mdb_entry { · 236 unmodified lines
237#define MDB_PERMANENT 1237#define MDB_PERMANENT 1
238 __u8 state;238 __u8 state;
239#define MDB_FLAGS_OFFLOAD (1 << 0)239#define MDB_FLAGS_OFFLOAD (1 << 0)
240#define MDB_FLAGS_FAST_LEAVE (1 << 1)
240 __u8 flags;241 __u8 flags;
241 __u16 vid;242 __u16 vid;
242 struct {243 struct {
include/uapi/linux/if_xdp.h+22−0
@@ -16,6 +16,18 @@ · 15 unmodified lines
16#define XDP_SHARED_UMEM (1 << 0)16#define XDP_SHARED_UMEM (1 << 0)
17#define XDP_COPY (1 << 1) /* Force copy-mode */17#define XDP_COPY (1 << 1) /* Force copy-mode */
18#define XDP_ZEROCOPY (1 << 2) /* Force zero-copy mode */18#define XDP_ZEROCOPY (1 << 2) /* Force zero-copy mode */
19/* If this option is set, the driver might go sleep and in that case
20 * the XDP_RING_NEED_WAKEUP flag in the fill and/or Tx rings will be
21 * set. If it is set, the application need to explicitly wake up the
22 * driver with a poll() (Rx and Tx) or sendto() (Tx only). If you are
23 * running the driver and the application on the same core, you should
24 * use this option so that the kernel will yield to the user space
25 * application.
26 */
27#define XDP_USE_NEED_WAKEUP (1 << 3)
28
29/* Flags for xsk_umem_config flags */
30#define XDP_UMEM_UNALIGNED_CHUNK_FLAG (1 << 0)
19 31
20struct sockaddr_xdp {32struct sockaddr_xdp {
21 __u16 sxdp_family;33 __u16 sxdp_family;
@@ -25,10 +37,14 @@ struct sockaddr_xdp { · 3 unmodified lines
25 __u32 sxdp_shared_umem_fd;37 __u32 sxdp_shared_umem_fd;
26};38};
27 39
40/* XDP_RING flags */
41#define XDP_RING_NEED_WAKEUP (1 << 0)
42
28struct xdp_ring_offset {43struct xdp_ring_offset {
29 __u64 producer;44 __u64 producer;
30 __u64 consumer;45 __u64 consumer;
31 __u64 desc;46 __u64 desc;
47 __u64 flags;
32};48};
33 49
34struct xdp_mmap_offsets {50struct xdp_mmap_offsets {
@@ -53,6 +69,7 @@ struct xdp_umem_reg { · 18 unmodified lines
53 __u64 len; /* Length of packet data area */69 __u64 len; /* Length of packet data area */
54 __u32 chunk_size;70 __u32 chunk_size;
55 __u32 headroom;71 __u32 headroom;
72 __u32 flags;
56};73};
57 74
58struct xdp_statistics {75struct xdp_statistics {
@@ -74,6 +91,11 @@ struct xdp_options { · 15 unmodified lines
74#define XDP_UMEM_PGOFF_FILL_RING 0x100000000ULL91#define XDP_UMEM_PGOFF_FILL_RING 0x100000000ULL
75#define XDP_UMEM_PGOFF_COMPLETION_RING 0x180000000ULL92#define XDP_UMEM_PGOFF_COMPLETION_RING 0x180000000ULL
76 93
94/* Masks for unaligned chunks mode */
95#define XSK_UNALIGNED_BUF_OFFSET_SHIFT 48
96#define XSK_UNALIGNED_BUF_ADDR_MASK \
97 ((1ULL << XSK_UNALIGNED_BUF_OFFSET_SHIFT) - 1)
98
77/* Rx/Tx descriptor */99/* Rx/Tx descriptor */
78struct xdp_desc {100struct xdp_desc {
79 __u64 addr;101 __u64 addr;
include/uapi/linux/inet_diag.h+9−0
@@ -153,11 +153,20 @@ enum { · 152 unmodified lines
153 INET_DIAG_BBRINFO, /* request as INET_DIAG_VEGASINFO */153 INET_DIAG_BBRINFO, /* request as INET_DIAG_VEGASINFO */
154 INET_DIAG_CLASS_ID, /* request as INET_DIAG_TCLASS */154 INET_DIAG_CLASS_ID, /* request as INET_DIAG_TCLASS */
155 INET_DIAG_MD5SIG,155 INET_DIAG_MD5SIG,
156 INET_DIAG_ULP_INFO,
156 __INET_DIAG_MAX,157 __INET_DIAG_MAX,
157};158};
158 159
159#define INET_DIAG_MAX (__INET_DIAG_MAX - 1)160#define INET_DIAG_MAX (__INET_DIAG_MAX - 1)
160 161
162enum {
163 INET_ULP_INFO_UNSPEC,
164 INET_ULP_INFO_NAME,
165 INET_ULP_INFO_TLS,
166 __INET_ULP_INFO_MAX,
167};
168#define INET_ULP_INFO_MAX (__INET_ULP_INFO_MAX - 1)
169
161/* INET_DIAG_MEM */170/* INET_DIAG_MEM */
162 171
163struct inet_diag_meminfo {172struct inet_diag_meminfo {
include/uapi/linux/io_uring.h+9−1
@@ -28,6 +28,7 @@ struct io_uring_sqe { · 27 unmodified lines
28 __u16 poll_events;28 __u16 poll_events;
29 __u32 sync_range_flags;29 __u32 sync_range_flags;
30 __u32 msg_flags;30 __u32 msg_flags;
31 __u32 timeout_flags;
31 };32 };
32 __u64 user_data; /* data to be passed back at completion time */33 __u64 user_data; /* data to be passed back at completion time */
33 union {34 union {
@@ -61,6 +62,7 @@ struct io_uring_sqe { · 27 unmodified lines
61#define IORING_OP_SYNC_FILE_RANGE 862#define IORING_OP_SYNC_FILE_RANGE 8
62#define IORING_OP_SENDMSG 963#define IORING_OP_SENDMSG 9
63#define IORING_OP_RECVMSG 1064#define IORING_OP_RECVMSG 10
65#define IORING_OP_TIMEOUT 11
64 66
65/*67/*
66 * sqe->fsync_flags68 * sqe->fsync_flags
@@ -128,11 +130,17 @@ struct io_uring_params { · 61 unmodified lines
128 __u32 flags;130 __u32 flags;
129 __u32 sq_thread_cpu;131 __u32 sq_thread_cpu;
130 __u32 sq_thread_idle;132 __u32 sq_thread_idle;
131 __u32 resv[5];133 __u32 features;
134 __u32 resv[4];
132 struct io_sqring_offsets sq_off;135 struct io_sqring_offsets sq_off;
133 struct io_cqring_offsets cq_off;136 struct io_cqring_offsets cq_off;
134};137};
135 138
139/*
140 * io_uring_params->features flags
141 */
142#define IORING_FEAT_SINGLE_MMAP (1U << 0)
143
136/*144/*
137 * io_uring_register(2) opcodes and arguments145 * io_uring_register(2) opcodes and arguments
138 */146 */
include/uapi/linux/ipmi_bmc.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*2/*
3 * Copyright (c) 2015-2018, Intel Corporation.3 * Copyright (c) 2015-2018, Intel Corporation.
4 */4 */
include/uapi/linux/isdn/capicmd.h+1−0
@@ -16,6 +16,7 @@ · 15 unmodified lines
16#define CAPI_MSG_BASELEN 816#define CAPI_MSG_BASELEN 8
17#define CAPI_DATA_B3_REQ_LEN (CAPI_MSG_BASELEN+4+4+2+2+2)17#define CAPI_DATA_B3_REQ_LEN (CAPI_MSG_BASELEN+4+4+2+2+2)
18#define CAPI_DATA_B3_RESP_LEN (CAPI_MSG_BASELEN+4+2)18#define CAPI_DATA_B3_RESP_LEN (CAPI_MSG_BASELEN+4+2)
19#define CAPI_DISCONNECT_B3_RESP_LEN (CAPI_MSG_BASELEN+4)
19 20
20/*----- CAPI commands -----*/21/*----- CAPI commands -----*/
21#define CAPI_ALERT 0x0122#define CAPI_ALERT 0x01
include/uapi/linux/isst_if.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*2/*
3 * Intel Speed Select Interface: OS to hardware Interface3 * Intel Speed Select Interface: OS to hardware Interface
4 * Copyright (c) 2019, Intel Corporation.4 * Copyright (c) 2019, Intel Corporation.
include/uapi/linux/jffs2.h+0−5
@@ -77,11 +77,6 @@ · 76 unmodified lines
77 77
78#define JFFS2_ACL_VERSION 0x000178#define JFFS2_ACL_VERSION 0x0001
79 79
80// Maybe later...
81//#define JFFS2_NODETYPE_CHECKPOINT (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3)
82//#define JFFS2_NODETYPE_OPTIONS (JFFS2_FEATURE_RWCOMPAT_COPY | JFFS2_NODE_ACCURATE | 4)
83
84
85#define JFFS2_INO_FLAG_PREREAD 1 /* Do read_inode() for this one at80#define JFFS2_INO_FLAG_PREREAD 1 /* Do read_inode() for this one at
86 mount time, don't wait for it to81 mount time, don't wait for it to
87 happen later */82 happen later */
include/uapi/linux/kexec.h+1−0
@@ -31,6 +31,7 @@ · 30 unmodified lines
31#define KEXEC_ARCH_DEFAULT ( 0 << 16)31#define KEXEC_ARCH_DEFAULT ( 0 << 16)
32#define KEXEC_ARCH_386 ( 3 << 16)32#define KEXEC_ARCH_386 ( 3 << 16)
33#define KEXEC_ARCH_68K ( 4 << 16)33#define KEXEC_ARCH_68K ( 4 << 16)
34#define KEXEC_ARCH_PARISC (15 << 16)
34#define KEXEC_ARCH_X86_64 (62 << 16)35#define KEXEC_ARCH_X86_64 (62 << 16)
35#define KEXEC_ARCH_PPC (20 << 16)36#define KEXEC_ARCH_PPC (20 << 16)
36#define KEXEC_ARCH_PPC64 (21 << 16)37#define KEXEC_ARCH_PPC64 (21 << 16)
include/uapi/linux/kfd_ioctl.h+1−19
@@ -410,21 +410,6 @@ struct kfd_ioctl_unmap_memory_from_gpu_args { · 409 unmodified lines
410 __u32 n_success; /* to/from KFD */410 __u32 n_success; /* to/from KFD */
411};411};
412 412
413/* Allocate GWS for specific queue
414 *
415 * @gpu_id: device identifier
416 * @queue_id: queue's id that GWS is allocated for
417 * @num_gws: how many GWS to allocate
418 * @first_gws: index of the first GWS allocated.
419 * only support contiguous GWS allocation
420 */
421struct kfd_ioctl_alloc_queue_gws_args {
422 __u32 gpu_id; /* to KFD */
423 __u32 queue_id; /* to KFD */
424 __u32 num_gws; /* to KFD */
425 __u32 first_gws; /* from KFD */
426};
427
428struct kfd_ioctl_get_dmabuf_info_args {413struct kfd_ioctl_get_dmabuf_info_args {
429 __u64 size; /* from KFD */414 __u64 size; /* from KFD */
430 __u64 metadata_ptr; /* to KFD */415 __u64 metadata_ptr; /* to KFD */
@@ -544,10 +529,7 @@ enum kfd_mmio_remap { · 113 unmodified lines
544#define AMDKFD_IOC_IMPORT_DMABUF \529#define AMDKFD_IOC_IMPORT_DMABUF \
545 AMDKFD_IOWR(0x1D, struct kfd_ioctl_import_dmabuf_args)530 AMDKFD_IOWR(0x1D, struct kfd_ioctl_import_dmabuf_args)
546 531
547#define AMDKFD_IOC_ALLOC_QUEUE_GWS \
548 AMDKFD_IOWR(0x1E, struct kfd_ioctl_alloc_queue_gws_args)
549
550#define AMDKFD_COMMAND_START 0x01532#define AMDKFD_COMMAND_START 0x01
551#define AMDKFD_COMMAND_END 0x1F533#define AMDKFD_COMMAND_END 0x1E
552 534
553#endif535#endif
include/uapi/linux/kvm.h+7−2
@@ -116,7 +116,7 @@ struct kvm_irq_level { · 115 unmodified lines
116 * ACPI gsi notion of irq.116 * ACPI gsi notion of irq.
117 * For IA-64 (APIC model) IOAPIC0: irq 0-23; IOAPIC1: irq 24-47..117 * For IA-64 (APIC model) IOAPIC0: irq 0-23; IOAPIC1: irq 24-47..
118 * For X86 (standard AT mode) PIC0/1: irq 0-15. IOAPIC0: 0-23..118 * For X86 (standard AT mode) PIC0/1: irq 0-15. IOAPIC0: 0-23..
119 * For ARM: See Documentation/virtual/kvm/api.txt119 * For ARM: See Documentation/virt/kvm/api.txt
120 */120 */
121 union {121 union {
122 __u32 irq;122 __u32 irq;
@@ -243,6 +243,8 @@ struct kvm_hyperv_exit { · 120 unmodified lines
243#define KVM_INTERNAL_ERROR_SIMUL_EX 2243#define KVM_INTERNAL_ERROR_SIMUL_EX 2
244/* Encounter unexpected vm-exit due to delivery event. */244/* Encounter unexpected vm-exit due to delivery event. */
245#define KVM_INTERNAL_ERROR_DELIVERY_EV 3245#define KVM_INTERNAL_ERROR_DELIVERY_EV 3
246/* Encounter unexpected vm-exit reason */
247#define KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON 4
246 248
247/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */249/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
248struct kvm_run {250struct kvm_run {
@@ -996,6 +998,8 @@ struct kvm_ppc_resize_hpt { · 747 unmodified lines
996#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171998#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171
997#define KVM_CAP_ARM_PTRAUTH_GENERIC 172999#define KVM_CAP_ARM_PTRAUTH_GENERIC 172
998#define KVM_CAP_PMU_EVENT_FILTER 1731000#define KVM_CAP_PMU_EVENT_FILTER 173
1001#define KVM_CAP_ARM_IRQ_LINE_LAYOUT_2 174
1002#define KVM_CAP_HYPERV_DIRECT_TLBFLUSH 175
999 1003
1000#ifdef KVM_CAP_IRQ_ROUTING1004#ifdef KVM_CAP_IRQ_ROUTING
1001 1005
@@ -1086,7 +1090,7 @@ struct kvm_xen_hvm_config { · 84 unmodified lines
1086 *1090 *
1087 * KVM_IRQFD_FLAG_RESAMPLE indicates resamplefd is valid and specifies1091 * KVM_IRQFD_FLAG_RESAMPLE indicates resamplefd is valid and specifies
1088 * the irqfd to operate in resampling mode for level triggered interrupt1092 * the irqfd to operate in resampling mode for level triggered interrupt
1089 * emulation. See Documentation/virtual/kvm/api.txt.1093 * emulation. See Documentation/virt/kvm/api.txt.
1090 */1094 */
1091#define KVM_IRQFD_FLAG_RESAMPLE (1 << 1)1095#define KVM_IRQFD_FLAG_RESAMPLE (1 << 1)
1092 1096
@@ -1142,6 +1146,7 @@ struct kvm_dirty_tlb { · 49 unmodified lines
1142#define KVM_REG_S390 0x5000000000000000ULL1146#define KVM_REG_S390 0x5000000000000000ULL
1143#define KVM_REG_ARM64 0x6000000000000000ULL1147#define KVM_REG_ARM64 0x6000000000000000ULL
1144#define KVM_REG_MIPS 0x7000000000000000ULL1148#define KVM_REG_MIPS 0x7000000000000000ULL
1149#define KVM_REG_RISCV 0x8000000000000000ULL
1145 1150
1146#define KVM_REG_SIZE_SHIFT 521151#define KVM_REG_SIZE_SHIFT 52
1147#define KVM_REG_SIZE_MASK 0x00f0000000000000ULL1152#define KVM_REG_SIZE_MASK 0x00f0000000000000ULL
include/uapi/linux/magic.h+1−0
@@ -19,6 +19,7 @@ · 18 unmodified lines
19#define SQUASHFS_MAGIC 0x7371736819#define SQUASHFS_MAGIC 0x73717368
20#define ECRYPTFS_SUPER_MAGIC 0xf15f20#define ECRYPTFS_SUPER_MAGIC 0xf15f
21#define EFS_SUPER_MAGIC 0x414A5321#define EFS_SUPER_MAGIC 0x414A53
22#define EROFS_SUPER_MAGIC_V1 0xE0F5E1E2
22#define EXT2_SUPER_MAGIC 0xEF5323#define EXT2_SUPER_MAGIC 0xEF53
23#define EXT3_SUPER_MAGIC 0xEF5324#define EXT3_SUPER_MAGIC 0xEF53
24#define XENFS_SUPER_MAGIC 0xabba197425#define XENFS_SUPER_MAGIC 0xabba1974
include/uapi/linux/mdio.h+10−0
@@ -45,11 +45,14 @@ · 44 unmodified lines
45#define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */45#define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */
46#define MDIO_AN_LPA 19 /* AN LP abilities (base page) */46#define MDIO_AN_LPA 19 /* AN LP abilities (base page) */
47#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */47#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */
48#define MDIO_PCS_EEE_ABLE2 21 /* EEE Capability register 2 */
48#define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */49#define MDIO_PMA_NG_EXTABLE 21 /* 2.5G/5G PMA/PMD extended ability */
49#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */50#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */
50#define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */51#define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */
51#define MDIO_AN_EEE_ADV 60 /* EEE advertisement */52#define MDIO_AN_EEE_ADV 60 /* EEE advertisement */
52#define MDIO_AN_EEE_LPABLE 61 /* EEE link partner ability */53#define MDIO_AN_EEE_LPABLE 61 /* EEE link partner ability */
54#define MDIO_AN_EEE_ADV2 62 /* EEE advertisement 2 */
55#define MDIO_AN_EEE_LPABLE2 63 /* EEE link partner ability 2 */
53 56
54/* Media-dependent registers. */57/* Media-dependent registers. */
55#define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */58#define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */
@@ -276,6 +279,13 @@ · 220 unmodified lines
276#define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */279#define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */
277#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */280#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */
278#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */281#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */
282#define MDIO_EEE_40GR_FW 0x0100 /* 40G R fast wake */
283#define MDIO_EEE_40GR_DS 0x0200 /* 40G R deep sleep */
284#define MDIO_EEE_100GR_FW 0x1000 /* 100G R fast wake */
285#define MDIO_EEE_100GR_DS 0x2000 /* 100G R deep sleep */
286
287#define MDIO_EEE_2_5GT 0x0001 /* 2.5GT EEE cap */
288#define MDIO_EEE_5GT 0x0002 /* 5GT EEE cap */
279 289
280/* 2.5G/5G Extended abilities register. */290/* 2.5G/5G Extended abilities register. */
281#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */291#define MDIO_PMA_NG_EXTABLE_2_5GBT 0x0001 /* 2.5GBASET ability */
include/uapi/linux/net_dropmon.h+66−0
@@ -53,6 +53,11 @@ enum { · 52 unmodified lines
53 NET_DM_CMD_CONFIG,53 NET_DM_CMD_CONFIG,
54 NET_DM_CMD_START,54 NET_DM_CMD_START,
55 NET_DM_CMD_STOP,55 NET_DM_CMD_STOP,
56 NET_DM_CMD_PACKET_ALERT,
57 NET_DM_CMD_CONFIG_GET,
58 NET_DM_CMD_CONFIG_NEW,
59 NET_DM_CMD_STATS_GET,
60 NET_DM_CMD_STATS_NEW,
56 _NET_DM_CMD_MAX,61 _NET_DM_CMD_MAX,
57};62};
58 63
@@ -62,4 +67,65 @@ enum { · 3 unmodified lines
62 * Our group identifiers67 * Our group identifiers
63 */68 */
64#define NET_DM_GRP_ALERT 169#define NET_DM_GRP_ALERT 1
70
71enum net_dm_attr {
72 NET_DM_ATTR_UNSPEC,
73
74 NET_DM_ATTR_ALERT_MODE, /* u8 */
75 NET_DM_ATTR_PC, /* u64 */
76 NET_DM_ATTR_SYMBOL, /* string */
77 NET_DM_ATTR_IN_PORT, /* nested */
78 NET_DM_ATTR_TIMESTAMP, /* u64 */
79 NET_DM_ATTR_PROTO, /* u16 */
80 NET_DM_ATTR_PAYLOAD, /* binary */
81 NET_DM_ATTR_PAD,
82 NET_DM_ATTR_TRUNC_LEN, /* u32 */
83 NET_DM_ATTR_ORIG_LEN, /* u32 */
84 NET_DM_ATTR_QUEUE_LEN, /* u32 */
85 NET_DM_ATTR_STATS, /* nested */
86 NET_DM_ATTR_HW_STATS, /* nested */
87 NET_DM_ATTR_ORIGIN, /* u16 */
88 NET_DM_ATTR_HW_TRAP_GROUP_NAME, /* string */
89 NET_DM_ATTR_HW_TRAP_NAME, /* string */
90 NET_DM_ATTR_HW_ENTRIES, /* nested */
91 NET_DM_ATTR_HW_ENTRY, /* nested */
92 NET_DM_ATTR_HW_TRAP_COUNT, /* u32 */
93 NET_DM_ATTR_SW_DROPS, /* flag */
94 NET_DM_ATTR_HW_DROPS, /* flag */
95
96 __NET_DM_ATTR_MAX,
97 NET_DM_ATTR_MAX = __NET_DM_ATTR_MAX - 1
98};
99
100/**
101 * enum net_dm_alert_mode - Alert mode.
102 * @NET_DM_ALERT_MODE_SUMMARY: A summary of recent drops is sent to user space.
103 * @NET_DM_ALERT_MODE_PACKET: Each dropped packet is sent to user space along
104 * with metadata.
105 */
106enum net_dm_alert_mode {
107 NET_DM_ALERT_MODE_SUMMARY,
108 NET_DM_ALERT_MODE_PACKET,
109};
110
111enum {
112 NET_DM_ATTR_PORT_NETDEV_IFINDEX, /* u32 */
113 NET_DM_ATTR_PORT_NETDEV_NAME, /* string */
114
115 __NET_DM_ATTR_PORT_MAX,
116 NET_DM_ATTR_PORT_MAX = __NET_DM_ATTR_PORT_MAX - 1
117};
118
119enum {
120 NET_DM_ATTR_STATS_DROPPED, /* u64 */
121
122 __NET_DM_ATTR_STATS_MAX,
123 NET_DM_ATTR_STATS_MAX = __NET_DM_ATTR_STATS_MAX - 1
124};
125
126enum net_dm_origin {
127 NET_DM_ORIGIN_SW,
128 NET_DM_ORIGIN_HW,
129};
130
65#endif131#endif
include/uapi/linux/netfilter/nf_synproxy.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _NF_SYNPROXY_H2#ifndef _NF_SYNPROXY_H
3#define _NF_SYNPROXY_H3#define _NF_SYNPROXY_H
4 4
include/uapi/linux/netfilter/nf_tables.h+9−1
@@ -636,6 +636,7 @@ enum nft_lookup_attributes { · 635 unmodified lines
636enum nft_dynset_ops {636enum nft_dynset_ops {
637 NFT_DYNSET_OP_ADD,637 NFT_DYNSET_OP_ADD,
638 NFT_DYNSET_OP_UPDATE,638 NFT_DYNSET_OP_UPDATE,
639 NFT_DYNSET_OP_DELETE,
639};640};
640 641
641enum nft_dynset_flags {642enum nft_dynset_flags {
@@ -799,6 +800,9 @@ enum nft_exthdr_attributes { · 157 unmodified lines
799 * @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)800 * @NFT_META_OIFKIND: packet output interface kind name (dev->rtnl_link_ops->kind)
800 * @NFT_META_BRI_IIFPVID: packet input bridge port pvid801 * @NFT_META_BRI_IIFPVID: packet input bridge port pvid
801 * @NFT_META_BRI_IIFVPROTO: packet input bridge vlan proto802 * @NFT_META_BRI_IIFVPROTO: packet input bridge vlan proto
803 * @NFT_META_TIME_NS: time since epoch (in nanoseconds)
804 * @NFT_META_TIME_DAY: day of week (from 0 = Sunday to 6 = Saturday)
805 * @NFT_META_TIME_HOUR: hour of day (in seconds)
802 */806 */
803enum nft_meta_keys {807enum nft_meta_keys {
804 NFT_META_LEN,808 NFT_META_LEN,
@@ -831,6 +835,9 @@ enum nft_meta_keys { · 26 unmodified lines
831 NFT_META_OIFKIND,835 NFT_META_OIFKIND,
832 NFT_META_BRI_IIFPVID,836 NFT_META_BRI_IIFPVID,
833 NFT_META_BRI_IIFVPROTO,837 NFT_META_BRI_IIFVPROTO,
838 NFT_META_TIME_NS,
839 NFT_META_TIME_DAY,
840 NFT_META_TIME_HOUR,
834};841};
835 842
836/**843/**
@@ -1474,7 +1481,8 @@ enum nft_ct_expectation_attributes { · 637 unmodified lines
1474#define NFT_OBJECT_CT_TIMEOUT 71481#define NFT_OBJECT_CT_TIMEOUT 7
1475#define NFT_OBJECT_SECMARK 81482#define NFT_OBJECT_SECMARK 8
1476#define NFT_OBJECT_CT_EXPECT 91483#define NFT_OBJECT_CT_EXPECT 9
1477#define __NFT_OBJECT_MAX 101484#define NFT_OBJECT_SYNPROXY 10
1485#define __NFT_OBJECT_MAX 11
1478#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)1486#define NFT_OBJECT_MAX (__NFT_OBJECT_MAX - 1)
1479 1487
1480/**1488/**
include/uapi/linux/netfilter/nfnetlink_log.h+11−0
@@ -33,6 +33,15 @@ struct nfulnl_msg_packet_timestamp { · 32 unmodified lines
33 __aligned_be64 usec;33 __aligned_be64 usec;
34};34};
35 35
36enum nfulnl_vlan_attr {
37 NFULA_VLAN_UNSPEC,
38 NFULA_VLAN_PROTO, /* __be16 skb vlan_proto */
39 NFULA_VLAN_TCI, /* __be16 skb htons(vlan_tci) */
40 __NFULA_VLAN_MAX,
41};
42
43#define NFULA_VLAN_MAX (__NFULA_VLAN_MAX + 1)
44
36enum nfulnl_attr_type {45enum nfulnl_attr_type {
37 NFULA_UNSPEC,46 NFULA_UNSPEC,
38 NFULA_PACKET_HDR,47 NFULA_PACKET_HDR,
@@ -54,6 +63,8 @@ enum nfulnl_attr_type { · 15 unmodified lines
54 NFULA_HWLEN, /* hardware header length */63 NFULA_HWLEN, /* hardware header length */
55 NFULA_CT, /* nf_conntrack_netlink.h */64 NFULA_CT, /* nf_conntrack_netlink.h */
56 NFULA_CT_INFO, /* enum ip_conntrack_info */65 NFULA_CT_INFO, /* enum ip_conntrack_info */
66 NFULA_VLAN, /* nested attribute: packet vlan info */
67 NFULA_L2HDR, /* full L2 header */
57 68
58 __NFULA_MAX69 __NFULA_MAX
59};70};
include/uapi/linux/netfilter/xt_connlabel.h+6−0
@@ -1,4 +1,8 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
3#ifndef _UAPI_XT_CONNLABEL_H
4#define _UAPI_XT_CONNLABEL_H
5
2#include <linux/types.h>6#include <linux/types.h>
3 7
4#define XT_CONNLABEL_MAXBIT 1278#define XT_CONNLABEL_MAXBIT 127
@@ -11,3 +15,5 @@ struct xt_connlabel_mtinfo { · 6 unmodified lines
11 __u16 bit;15 __u16 bit;
12 __u16 options;16 __u16 options;
13};17};
18
19#endif /* _UAPI_XT_CONNLABEL_H */
include/uapi/linux/netfilter/xt_nfacct.h+5−0
@@ -11,4 +11,9 @@ struct xt_nfacct_match_info { · 10 unmodified lines
11 struct nf_acct *nfacct;11 struct nf_acct *nfacct;
12};12};
13 13
14struct xt_nfacct_match_info_v1 {
15 char name[NFACCT_NAME_MAX];
16 struct nf_acct *nfacct __attribute__((aligned(8)));
17};
18
14#endif /* _XT_NFACCT_MATCH_H */19#endif /* _XT_NFACCT_MATCH_H */
include/uapi/linux/netfilter/xt_policy.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#ifndef _XT_POLICY_H2#ifndef _XT_POLICY_H
3#define _XT_POLICY_H3#define _XT_POLICY_H
4 4
5#include <linux/netfilter.h>
5#include <linux/types.h>6#include <linux/types.h>
6#include <linux/in.h>7#include <linux/in.h>
7#include <linux/in6.h>8#include <linux/in6.h>
include/uapi/linux/netfilter_bridge/ebtables.h+3−3
@@ -123,7 +123,7 @@ struct ebt_entry_match { · 122 unmodified lines
123 union {123 union {
124 struct {124 struct {
125 char name[EBT_EXTENSION_MAXNAMELEN];125 char name[EBT_EXTENSION_MAXNAMELEN];
126 uint8_t revision;126 __u8 revision;
127 };127 };
128 struct xt_match *match;128 struct xt_match *match;
129 } u;129 } u;
@@ -136,7 +136,7 @@ struct ebt_entry_watcher { · 6 unmodified lines
136 union {136 union {
137 struct {137 struct {
138 char name[EBT_EXTENSION_MAXNAMELEN];138 char name[EBT_EXTENSION_MAXNAMELEN];
139 uint8_t revision;139 __u8 revision;
140 };140 };
141 struct xt_target *watcher;141 struct xt_target *watcher;
142 } u;142 } u;
@@ -149,7 +149,7 @@ struct ebt_entry_target { · 6 unmodified lines
149 union {149 union {
150 struct {150 struct {
151 char name[EBT_EXTENSION_MAXNAMELEN];151 char name[EBT_EXTENSION_MAXNAMELEN];
152 uint8_t revision;152 __u8 revision;
153 };153 };
154 struct xt_target *target;154 struct xt_target *target;
155 } u;155 } u;
include/uapi/linux/netfilter_ipv4/ipt_LOG.h+0−2
@@ -2,8 +2,6 @@ · 1 unmodified line
2#ifndef _IPT_LOG_H2#ifndef _IPT_LOG_H
3#define _IPT_LOG_H3#define _IPT_LOG_H
4 4
5#warning "Please update iptables, this file will be removed soon!"
6
7/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */5/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
8#define IPT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */6#define IPT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
9#define IPT_LOG_TCPOPT 0x02 /* Log TCP options */7#define IPT_LOG_TCPOPT 0x02 /* Log TCP options */
include/uapi/linux/netfilter_ipv6/ip6t_LOG.h+0−2
@@ -2,8 +2,6 @@ · 1 unmodified line
2#ifndef _IP6T_LOG_H2#ifndef _IP6T_LOG_H
3#define _IP6T_LOG_H3#define _IP6T_LOG_H
4 4
5#warning "Please update iptables, this file will be removed soon!"
6
7/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */5/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
8#define IP6T_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */6#define IP6T_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
9#define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */7#define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */
include/uapi/linux/nfsd/cld.h+39−2
@@ -26,17 +26,22 @@ · 25 unmodified lines
26#include <linux/types.h>26#include <linux/types.h>
27 27
28/* latest upcall version available */28/* latest upcall version available */
29#define CLD_UPCALL_VERSION 129#define CLD_UPCALL_VERSION 2
30 30
31/* defined by RFC3530 */31/* defined by RFC3530 */
32#define NFS4_OPAQUE_LIMIT 102432#define NFS4_OPAQUE_LIMIT 1024
33 33
34#ifndef SHA256_DIGEST_SIZE
35#define SHA256_DIGEST_SIZE 32
36#endif
37
34enum cld_command {38enum cld_command {
35 Cld_Create, /* create a record for this cm_id */39 Cld_Create, /* create a record for this cm_id */
36 Cld_Remove, /* remove record of this cm_id */40 Cld_Remove, /* remove record of this cm_id */
37 Cld_Check, /* is this cm_id allowed? */41 Cld_Check, /* is this cm_id allowed? */
38 Cld_GraceDone, /* grace period is complete */42 Cld_GraceDone, /* grace period is complete */
39 Cld_GraceStart,43 Cld_GraceStart, /* grace start (upload client records) */
44 Cld_GetVersion, /* query max supported upcall version */
40};45};
41 46
42/* representation of long-form NFSv4 client ID */47/* representation of long-form NFSv4 client ID */
@@ -45,6 +50,17 @@ struct cld_name { · 2 unmodified lines
45 unsigned char cn_id[NFS4_OPAQUE_LIMIT]; /* client-provided */50 unsigned char cn_id[NFS4_OPAQUE_LIMIT]; /* client-provided */
46} __attribute__((packed));51} __attribute__((packed));
47 52
53/* sha256 hash of the kerberos principal */
54struct cld_princhash {
55 __u8 cp_len; /* length of cp_data */
56 unsigned char cp_data[SHA256_DIGEST_SIZE]; /* hash of principal */
57} __attribute__((packed));
58
59struct cld_clntinfo {
60 struct cld_name cc_name;
61 struct cld_princhash cc_princhash;
62} __attribute__((packed));
63
48/* message struct for communication with userspace */64/* message struct for communication with userspace */
49struct cld_msg {65struct cld_msg {
50 __u8 cm_vers; /* upcall version */66 __u8 cm_vers; /* upcall version */
@@ -54,7 +70,28 @@ struct cld_msg { · 3 unmodified lines
54 union {70 union {
55 __s64 cm_gracetime; /* grace period start time */71 __s64 cm_gracetime; /* grace period start time */
56 struct cld_name cm_name;72 struct cld_name cm_name;
73 __u8 cm_version; /* for getting max version */
74 } __attribute__((packed)) cm_u;
75} __attribute__((packed));
76
77/* version 2 message can include hash of kerberos principal */
78struct cld_msg_v2 {
79 __u8 cm_vers; /* upcall version */
80 __u8 cm_cmd; /* upcall command */
81 __s16 cm_status; /* return code */
82 __u32 cm_xid; /* transaction id */
83 union {
84 struct cld_name cm_name;
85 __u8 cm_version; /* for getting max version */
86 struct cld_clntinfo cm_clntinfo; /* name & princ hash */
57 } __attribute__((packed)) cm_u;87 } __attribute__((packed)) cm_u;
58} __attribute__((packed));88} __attribute__((packed));
59 89
90struct cld_msg_hdr {
91 __u8 cm_vers; /* upcall version */
92 __u8 cm_cmd; /* upcall command */
93 __s16 cm_status; /* return code */
94 __u32 cm_xid; /* transaction id */
95} __attribute__((packed));
96
60#endif /* !_NFSD_CLD_H */97#endif /* !_NFSD_CLD_H */
include/uapi/linux/nl80211.h+63−2
@@ -52,6 +52,11 @@ · 51 unmodified lines
52#define NL80211_MULTICAST_GROUP_NAN "nan"52#define NL80211_MULTICAST_GROUP_NAN "nan"
53#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"53#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
54 54
55#define NL80211_EDMG_BW_CONFIG_MIN 4
56#define NL80211_EDMG_BW_CONFIG_MAX 15
57#define NL80211_EDMG_CHANNELS_MIN 1
58#define NL80211_EDMG_CHANNELS_MAX 0x3c /* 0b00111100 */
59
55/**60/**
56 * DOC: Station handling61 * DOC: Station handling
57 *62 *
@@ -657,7 +662,9 @@ · 599 unmodified lines
657 * is used during CSA period.662 * is used during CSA period.
658 * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this663 * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
659 * command may be used with the corresponding cookie to cancel the wait664 * command may be used with the corresponding cookie to cancel the wait
660 * time if it is known that it is no longer necessary.665 * time if it is known that it is no longer necessary. This command is
666 * also sent as an event whenever the driver has completed the off-channel
667 * wait time.
661 * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.668 * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
662 * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame669 * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
663 * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies670 * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
@@ -2356,6 +2363,16 @@ enum nl80211_commands { · 1692 unmodified lines
2356 *2363 *
2357 * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.2364 * @NL80211_ATTR_TWT_RESPONDER: Enable target wait time responder support.
2358 *2365 *
2366 * @NL80211_ATTR_HE_OBSS_PD: nested attribute for OBSS Packet Detection
2367 * functionality.
2368 *
2369 * @NL80211_ATTR_WIPHY_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
2370 * channel(s) that are allowed to be used for EDMG transmissions.
2371 * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251. (u8 attribute)
2372 * @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
2373 * the allowed channel bandwidth configurations. (u8 attribute)
2374 * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
2375 *
2359 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2376 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2360 * @NL80211_ATTR_MAX: highest attribute number currently defined2377 * @NL80211_ATTR_MAX: highest attribute number currently defined
2361 * @__NL80211_ATTR_AFTER_LAST: internal use2378 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2813,6 +2830,11 @@ enum nl80211_attrs { · 451 unmodified lines
2813 2830
2814 NL80211_ATTR_TWT_RESPONDER,2831 NL80211_ATTR_TWT_RESPONDER,
2815 2832
2833 NL80211_ATTR_HE_OBSS_PD,
2834
2835 NL80211_ATTR_WIPHY_EDMG_CHANNELS,
2836 NL80211_ATTR_WIPHY_EDMG_BW_CONFIG,
2837
2816 /* add attributes here, update the policy in nl80211.c */2838 /* add attributes here, update the policy in nl80211.c */
2817 2839
2818 __NL80211_ATTR_AFTER_LAST,2840 __NL80211_ATTR_AFTER_LAST,
@@ -2863,7 +2885,7 @@ enum nl80211_attrs { · 44 unmodified lines
2863#define NL80211_HT_CAPABILITY_LEN 262885#define NL80211_HT_CAPABILITY_LEN 26
2864#define NL80211_VHT_CAPABILITY_LEN 122886#define NL80211_VHT_CAPABILITY_LEN 12
2865#define NL80211_HE_MIN_CAPABILITY_LEN 162887#define NL80211_HE_MIN_CAPABILITY_LEN 16
2866#define NL80211_HE_MAX_CAPABILITY_LEN 512888#define NL80211_HE_MAX_CAPABILITY_LEN 54
2867#define NL80211_MAX_NR_CIPHER_SUITES 52889#define NL80211_MAX_NR_CIPHER_SUITES 5
2868#define NL80211_MAX_NR_AKM_SUITES 22890#define NL80211_MAX_NR_AKM_SUITES 2
2869 2891
@@ -3194,6 +3216,8 @@ enum nl80211_sta_bss_param { · 324 unmodified lines
3194 * sent to the station (u64, usec)3216 * sent to the station (u64, usec)
3195 * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)3217 * @NL80211_STA_INFO_AIRTIME_WEIGHT: current airtime weight for station (u16)
3196 * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station3218 * @NL80211_STA_INFO_AIRTIME_LINK_METRIC: airtime link metric for mesh station
3219 * @NL80211_STA_INFO_ASSOC_AT_BOOTTIME: Timestamp (CLOCK_BOOTTIME, nanoseconds)
3220 * of STA's association
3197 * @__NL80211_STA_INFO_AFTER_LAST: internal3221 * @__NL80211_STA_INFO_AFTER_LAST: internal
3198 * @NL80211_STA_INFO_MAX: highest possible station info attribute3222 * @NL80211_STA_INFO_MAX: highest possible station info attribute
3199 */3223 */
@@ -3240,6 +3264,7 @@ enum nl80211_sta_info { · 40 unmodified lines
3240 NL80211_STA_INFO_TX_DURATION,3264 NL80211_STA_INFO_TX_DURATION,
3241 NL80211_STA_INFO_AIRTIME_WEIGHT,3265 NL80211_STA_INFO_AIRTIME_WEIGHT,
3242 NL80211_STA_INFO_AIRTIME_LINK_METRIC,3266 NL80211_STA_INFO_AIRTIME_LINK_METRIC,
3267 NL80211_STA_INFO_ASSOC_AT_BOOTTIME,
3243 3268
3244 /* keep last */3269 /* keep last */
3245 __NL80211_STA_INFO_AFTER_LAST,3270 __NL80211_STA_INFO_AFTER_LAST,
@@ -3421,6 +3446,12 @@ enum nl80211_band_iftype_attr { · 175 unmodified lines
3421 * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE3446 * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
3422 * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using3447 * @NL80211_BAND_ATTR_IFTYPE_DATA: nested array attribute, with each entry using
3423 * attributes from &enum nl80211_band_iftype_attr3448 * attributes from &enum nl80211_band_iftype_attr
3449 * @NL80211_BAND_ATTR_EDMG_CHANNELS: bitmap that indicates the 2.16 GHz
3450 * channel(s) that are allowed to be used for EDMG transmissions.
3451 * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251.
3452 * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes
3453 * the allowed channel bandwidth configurations.
3454 * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13.
3424 * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined3455 * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
3425 * @__NL80211_BAND_ATTR_AFTER_LAST: internal use3456 * @__NL80211_BAND_ATTR_AFTER_LAST: internal use
3426 */3457 */
@@ -3438,6 +3469,9 @@ enum nl80211_band_attr { · 11 unmodified lines
3438 NL80211_BAND_ATTR_VHT_CAPA,3469 NL80211_BAND_ATTR_VHT_CAPA,
3439 NL80211_BAND_ATTR_IFTYPE_DATA,3470 NL80211_BAND_ATTR_IFTYPE_DATA,
3440 3471
3472 NL80211_BAND_ATTR_EDMG_CHANNELS,
3473 NL80211_BAND_ATTR_EDMG_BW_CONFIG,
3474
3441 /* keep last */3475 /* keep last */
3442 __NL80211_BAND_ATTR_AFTER_LAST,3476 __NL80211_BAND_ATTR_AFTER_LAST,
3443 NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 13477 NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
@@ -3836,6 +3870,8 @@ enum nl80211_user_reg_hint_type { · 392 unmodified lines
3836 * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan3870 * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
3837 * (on this channel or globally)3871 * (on this channel or globally)
3838 * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment3872 * @NL80211_SURVEY_INFO_PAD: attribute used for padding for 64-bit alignment
3873 * @NL80211_SURVEY_INFO_TIME_BSS_RX: amount of time the radio spent
3874 * receiving frames destined to the local BSS
3839 * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number3875 * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
3840 * currently defined3876 * currently defined
3841 * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use3877 * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
@@ -3852,6 +3888,7 @@ enum nl80211_survey_info { · 10 unmodified lines
3852 NL80211_SURVEY_INFO_TIME_TX,3888 NL80211_SURVEY_INFO_TIME_TX,
3853 NL80211_SURVEY_INFO_TIME_SCAN,3889 NL80211_SURVEY_INFO_TIME_SCAN,
3854 NL80211_SURVEY_INFO_PAD,3890 NL80211_SURVEY_INFO_PAD,
3891 NL80211_SURVEY_INFO_TIME_BSS_RX,
3855 3892
3856 /* keep last */3893 /* keep last */
3857 __NL80211_SURVEY_INFO_AFTER_LAST,3894 __NL80211_SURVEY_INFO_AFTER_LAST,
@@ -4536,6 +4573,7 @@ enum nl80211_txrate_gi { · 678 unmodified lines
4536 * @NL80211_BAND_2GHZ: 2.4 GHz ISM band4573 * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
4537 * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)4574 * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
4538 * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)4575 * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 69.12 GHz)
4576 * @NL80211_BAND_6GHZ: around 6 GHz band (5.9 - 7.2 GHz)
4539 * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace4577 * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
4540 * since newer kernel versions may support more bands4578 * since newer kernel versions may support more bands
4541 */4579 */
@@ -4543,6 +4581,7 @@ enum nl80211_band { · 1 unmodified line
4543 NL80211_BAND_2GHZ,4581 NL80211_BAND_2GHZ,
4544 NL80211_BAND_5GHZ,4582 NL80211_BAND_5GHZ,
4545 NL80211_BAND_60GHZ,4583 NL80211_BAND_60GHZ,
4584 NL80211_BAND_6GHZ,
4546 4585
4547 NUM_NL80211_BANDS,4586 NUM_NL80211_BANDS,
4548};4587};
@@ -6488,4 +6527,26 @@ enum nl80211_peer_measurement_ftm_resp { · 1939 unmodified lines
6488 NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 16527 NL80211_PMSR_FTM_RESP_ATTR_MAX = NUM_NL80211_PMSR_FTM_RESP_ATTR - 1
6489};6528};
6490 6529
6530/**
6531 * enum nl80211_obss_pd_attributes - OBSS packet detection attributes
6532 * @__NL80211_HE_OBSS_PD_ATTR_INVALID: Invalid
6533 *
6534 * @NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET: the OBSS PD minimum tx power offset.
6535 * @NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET: the OBSS PD maximum tx power offset.
6536 *
6537 * @__NL80211_HE_OBSS_PD_ATTR_LAST: Internal
6538 * @NL80211_HE_OBSS_PD_ATTR_MAX: highest OBSS PD attribute.
6539 */
6540enum nl80211_obss_pd_attributes {
6541 __NL80211_HE_OBSS_PD_ATTR_INVALID,
6542
6543 NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET,
6544 NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET,
6545
6546 /* keep last */
6547 __NL80211_HE_OBSS_PD_ATTR_LAST,
6548 NL80211_HE_OBSS_PD_ATTR_MAX = __NL80211_HE_OBSS_PD_ATTR_LAST - 1,
6549};
6550
6551
6491#endif /* __LINUX_NL80211_H */6552#endif /* __LINUX_NL80211_H */
include/uapi/linux/openvswitch.h+3−0
@@ -123,6 +123,9 @@ struct ovs_vport_stats { · 122 unmodified lines
123/* Allow datapath to associate multiple Netlink PIDs to each vport */123/* Allow datapath to associate multiple Netlink PIDs to each vport */
124#define OVS_DP_F_VPORT_PIDS (1 << 1)124#define OVS_DP_F_VPORT_PIDS (1 << 1)
125 125
126/* Allow tc offload recirc sharing */
127#define OVS_DP_F_TC_RECIRC_SHARING (1 << 2)
128
126/* Fixed logical ports. */129/* Fixed logical ports. */
127#define OVSP_LOCAL ((__u32)0)130#define OVSP_LOCAL ((__u32)0)
128 131
include/uapi/linux/pci_regs.h+14−1
@@ -591,6 +591,7 @@ · 590 unmodified lines
591#define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */591#define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */
592#define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */592#define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */
593#define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */593#define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */
594#define PCI_EXP_SLTCTL_ATTN_IND_SHIFT 6 /* Attention Indicator shift */
594#define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 /* Attention Indicator on */595#define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 /* Attention Indicator on */
595#define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 /* Attention Indicator blinking */596#define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 /* Attention Indicator blinking */
596#define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 /* Attention Indicator off */597#define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 /* Attention Indicator off */
@@ -713,7 +714,9 @@ · 116 unmodified lines
713#define PCI_EXT_CAP_ID_DPC 0x1D /* Downstream Port Containment */714#define PCI_EXT_CAP_ID_DPC 0x1D /* Downstream Port Containment */
714#define PCI_EXT_CAP_ID_L1SS 0x1E /* L1 PM Substates */715#define PCI_EXT_CAP_ID_L1SS 0x1E /* L1 PM Substates */
715#define PCI_EXT_CAP_ID_PTM 0x1F /* Precision Time Measurement */716#define PCI_EXT_CAP_ID_PTM 0x1F /* Precision Time Measurement */
716#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_PTM717#define PCI_EXT_CAP_ID_DLF 0x25 /* Data Link Feature */
718#define PCI_EXT_CAP_ID_PL_16GT 0x26 /* Physical Layer 16.0 GT/s */
719#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_PL_16GT
717 720
718#define PCI_EXT_CAP_DSN_SIZEOF 12721#define PCI_EXT_CAP_DSN_SIZEOF 12
719#define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40722#define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40
@@ -1053,4 +1056,14 @@ · 333 unmodified lines
1053#define PCI_L1SS_CTL1_LTR_L12_TH_SCALE 0xe0000000 /* LTR_L1.2_THRESHOLD_Scale */1056#define PCI_L1SS_CTL1_LTR_L12_TH_SCALE 0xe0000000 /* LTR_L1.2_THRESHOLD_Scale */
1054#define PCI_L1SS_CTL2 0x0c /* Control 2 Register */1057#define PCI_L1SS_CTL2 0x0c /* Control 2 Register */
1055 1058
1059/* Data Link Feature */
1060#define PCI_DLF_CAP 0x04 /* Capabilities Register */
1061#define PCI_DLF_EXCHANGE_ENABLE 0x80000000 /* Data Link Feature Exchange Enable */
1062
1063/* Physical Layer 16.0 GT/s */
1064#define PCI_PL_16GT_LE_CTRL 0x20 /* Lane Equalization Control Register */
1065#define PCI_PL_16GT_LE_CTRL_DSP_TX_PRESET_MASK 0x0000000F
1066#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK 0x000000F0
1067#define PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT 4
1068
1056#endif /* LINUX_PCI_REGS_H */1069#endif /* LINUX_PCI_REGS_H */
include/uapi/linux/perf_event.h+2−1
@@ -374,7 +374,8 @@ struct perf_event_attr { · 373 unmodified lines
374 namespaces : 1, /* include namespaces data */374 namespaces : 1, /* include namespaces data */
375 ksymbol : 1, /* include ksymbol events */375 ksymbol : 1, /* include ksymbol events */
376 bpf_event : 1, /* include bpf events */376 bpf_event : 1, /* include bpf events */
377 __reserved_1 : 33;377 aux_output : 1, /* generate AUX records instead of events */
378 __reserved_1 : 32;
378 379
379 union {380 union {
380 __u32 wakeup_events; /* wakeup every n events */381 __u32 wakeup_events; /* wakeup every n events */
include/uapi/linux/pkt_cls.h+2−0
@@ -160,6 +160,8 @@ enum { · 159 unmodified lines
160 TCA_POLICE_RESULT,160 TCA_POLICE_RESULT,
161 TCA_POLICE_TM,161 TCA_POLICE_TM,
162 TCA_POLICE_PAD,162 TCA_POLICE_PAD,
163 TCA_POLICE_RATE64,
164 TCA_POLICE_PEAKRATE64,
163 __TCA_POLICE_MAX165 __TCA_POLICE_MAX
164#define TCA_POLICE_RESULT TCA_POLICE_RESULT166#define TCA_POLICE_RESULT TCA_POLICE_RESULT
165};167};
include/uapi/linux/pkt_sched.h+2−1
@@ -1160,7 +1160,8 @@ enum { · 1159 unmodified lines
1160 * [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]1160 * [TCA_TAPRIO_ATTR_SCHED_ENTRY_INTERVAL]
1161 */1161 */
1162 1162
1163#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST 0x11163#define TCA_TAPRIO_ATTR_FLAG_TXTIME_ASSIST BIT(0)
1164#define TCA_TAPRIO_ATTR_FLAG_FULL_OFFLOAD BIT(1)
1164 1165
1165enum {1166enum {
1166 TCA_TAPRIO_ATTR_UNSPEC,1167 TCA_TAPRIO_ATTR_UNSPEC,
include/uapi/linux/ppdev.h+4−1
@@ -15,6 +15,9 @@ · 14 unmodified lines
15 * Added PPGETMODES/PPGETMODE/PPGETPHASE, Fred Barnes <frmb2@ukc.ac.uk>, 03/01/200115 * Added PPGETMODES/PPGETMODE/PPGETPHASE, Fred Barnes <frmb2@ukc.ac.uk>, 03/01/2001
16 */16 */
17 17
18#ifndef _UAPI_LINUX_PPDEV_H
19#define _UAPI_LINUX_PPDEV_H
20
18#define PP_IOCTL 'p'21#define PP_IOCTL 'p'
19 22
20/* Set mode for read/write (e.g. IEEE1284_MODE_EPP) */23/* Set mode for read/write (e.g. IEEE1284_MODE_EPP) */
@@ -97,4 +100,4 @@ struct ppdev_frob_struct { · 76 unmodified lines
97/* only masks user-visible flags */100/* only masks user-visible flags */
98#define PP_FLAGMASK (PP_FASTWRITE | PP_FASTREAD | PP_W91284PIC)101#define PP_FLAGMASK (PP_FASTWRITE | PP_FASTREAD | PP_W91284PIC)
99 102
100 103#endif /* _UAPI_LINUX_PPDEV_H */
include/uapi/linux/prctl.h+6−1
@@ -181,7 +181,7 @@ struct prctl_mm_map { · 180 unmodified lines
181#define PR_GET_THP_DISABLE 42181#define PR_GET_THP_DISABLE 42
182 182
183/*183/*
184 * Tell the kernel to start/stop helping userspace manage bounds tables.184 * No longer implemented, but left here to ensure the numbers stay reserved:
185 */185 */
186#define PR_MPX_ENABLE_MANAGEMENT 43186#define PR_MPX_ENABLE_MANAGEMENT 43
187#define PR_MPX_DISABLE_MANAGEMENT 44187#define PR_MPX_DISABLE_MANAGEMENT 44
@@ -229,4 +229,9 @@ struct prctl_mm_map { · 41 unmodified lines
229# define PR_PAC_APDBKEY (1UL << 3)229# define PR_PAC_APDBKEY (1UL << 3)
230# define PR_PAC_APGAKEY (1UL << 4)230# define PR_PAC_APGAKEY (1UL << 4)
231 231
232/* Tagged user address controls for arm64 */
233#define PR_SET_TAGGED_ADDR_CTRL 55
234#define PR_GET_TAGGED_ADDR_CTRL 56
235# define PR_TAGGED_ADDR_ENABLE (1UL << 0)
236
232#endif /* _LINUX_PRCTL_H */237#endif /* _LINUX_PRCTL_H */
include/uapi/linux/psp-sev.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0-only */1/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
2/*2/*
3 * Userspace interface for AMD Secure Encrypted Virtualization (SEV)3 * Userspace interface for AMD Secure Encrypted Virtualization (SEV)
4 * platform management commands.4 * platform management commands.
include/uapi/linux/ptp_clock.h+46−2
@@ -25,11 +25,43 @@ · 24 unmodified lines
25#include <linux/ioctl.h>25#include <linux/ioctl.h>
26#include <linux/types.h>26#include <linux/types.h>
27 27
28/* PTP_xxx bits, for the flags field within the request structures. */28/*
29 * Bits of the ptp_extts_request.flags field:
30 */
29#define PTP_ENABLE_FEATURE (1<<0)31#define PTP_ENABLE_FEATURE (1<<0)
30#define PTP_RISING_EDGE (1<<1)32#define PTP_RISING_EDGE (1<<1)
31#define PTP_FALLING_EDGE (1<<2)33#define PTP_FALLING_EDGE (1<<2)
32 34
35/*
36 * flag fields valid for the new PTP_EXTTS_REQUEST2 ioctl.
37 */
38#define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | \
39 PTP_RISING_EDGE | \
40 PTP_FALLING_EDGE)
41
42/*
43 * flag fields valid for the original PTP_EXTTS_REQUEST ioctl.
44 * DO NOT ADD NEW FLAGS HERE.
45 */
46#define PTP_EXTTS_V1_VALID_FLAGS (PTP_ENABLE_FEATURE | \
47 PTP_RISING_EDGE | \
48 PTP_FALLING_EDGE)
49
50/*
51 * Bits of the ptp_perout_request.flags field:
52 */
53#define PTP_PEROUT_ONE_SHOT (1<<0)
54
55/*
56 * flag fields valid for the new PTP_PEROUT_REQUEST2 ioctl.
57 */
58#define PTP_PEROUT_VALID_FLAGS (PTP_PEROUT_ONE_SHOT)
59
60/*
61 * No flags are valid for the original PTP_PEROUT_REQUEST ioctl
62 */
63#define PTP_PEROUT_V1_VALID_FLAGS (0)
64
33/*65/*
34 * struct ptp_clock_time - represents a time value66 * struct ptp_clock_time - represents a time value
35 *67 *
@@ -67,7 +99,7 @@ struct ptp_perout_request { · 31 unmodified lines
67 struct ptp_clock_time start; /* Absolute start time. */99 struct ptp_clock_time start; /* Absolute start time. */
68 struct ptp_clock_time period; /* Desired period, zero means disable. */100 struct ptp_clock_time period; /* Desired period, zero means disable. */
69 unsigned int index; /* Which channel to configure. */101 unsigned int index; /* Which channel to configure. */
70 unsigned int flags; /* Reserved for future use. */102 unsigned int flags;
71 unsigned int rsv[4]; /* Reserved for future use. */103 unsigned int rsv[4]; /* Reserved for future use. */
72};104};
73 105
@@ -149,6 +181,18 @@ struct ptp_pin_desc { · 75 unmodified lines
149#define PTP_SYS_OFFSET_EXTENDED \181#define PTP_SYS_OFFSET_EXTENDED \
150 _IOWR(PTP_CLK_MAGIC, 9, struct ptp_sys_offset_extended)182 _IOWR(PTP_CLK_MAGIC, 9, struct ptp_sys_offset_extended)
151 183
184#define PTP_CLOCK_GETCAPS2 _IOR(PTP_CLK_MAGIC, 10, struct ptp_clock_caps)
185#define PTP_EXTTS_REQUEST2 _IOW(PTP_CLK_MAGIC, 11, struct ptp_extts_request)
186#define PTP_PEROUT_REQUEST2 _IOW(PTP_CLK_MAGIC, 12, struct ptp_perout_request)
187#define PTP_ENABLE_PPS2 _IOW(PTP_CLK_MAGIC, 13, int)
188#define PTP_SYS_OFFSET2 _IOW(PTP_CLK_MAGIC, 14, struct ptp_sys_offset)
189#define PTP_PIN_GETFUNC2 _IOWR(PTP_CLK_MAGIC, 15, struct ptp_pin_desc)
190#define PTP_PIN_SETFUNC2 _IOW(PTP_CLK_MAGIC, 16, struct ptp_pin_desc)
191#define PTP_SYS_OFFSET_PRECISE2 \
192 _IOWR(PTP_CLK_MAGIC, 17, struct ptp_sys_offset_precise)
193#define PTP_SYS_OFFSET_EXTENDED2 \
194 _IOWR(PTP_CLK_MAGIC, 18, struct ptp_sys_offset_extended)
195
152struct ptp_extts_event {196struct ptp_extts_event {
153 struct ptp_clock_time t; /* Time event occured. */197 struct ptp_clock_time t; /* Time event occured. */
154 unsigned int index; /* Which channel produced the event. */198 unsigned int index; /* Which channel produced the event. */
include/uapi/linux/raid/md_p.h+2−0
@@ -329,6 +329,7 @@ struct mdp_superblock_1 { · 328 unmodified lines
329#define MD_FEATURE_JOURNAL 512 /* support write cache */329#define MD_FEATURE_JOURNAL 512 /* support write cache */
330#define MD_FEATURE_PPL 1024 /* support PPL */330#define MD_FEATURE_PPL 1024 /* support PPL */
331#define MD_FEATURE_MULTIPLE_PPLS 2048 /* support for multiple PPLs */331#define MD_FEATURE_MULTIPLE_PPLS 2048 /* support for multiple PPLs */
332#define MD_FEATURE_RAID0_LAYOUT 4096 /* layout is meaningful for RAID0 */
332#define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \333#define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \
333 |MD_FEATURE_RECOVERY_OFFSET \334 |MD_FEATURE_RECOVERY_OFFSET \
334 |MD_FEATURE_RESHAPE_ACTIVE \335 |MD_FEATURE_RESHAPE_ACTIVE \
@@ -341,6 +342,7 @@ struct mdp_superblock_1 { · 6 unmodified lines
341 |MD_FEATURE_JOURNAL \342 |MD_FEATURE_JOURNAL \
342 |MD_FEATURE_PPL \343 |MD_FEATURE_PPL \
343 |MD_FEATURE_MULTIPLE_PPLS \344 |MD_FEATURE_MULTIPLE_PPLS \
345 |MD_FEATURE_RAID0_LAYOUT \
344 )346 )
345 347
346struct r5l_payload_header {348struct r5l_payload_header {
include/uapi/linux/rds.h+2−0
@@ -250,6 +250,7 @@ struct rds_info_rdma_connection { · 249 unmodified lines
250 __u32 rdma_mr_max;250 __u32 rdma_mr_max;
251 __u32 rdma_mr_size;251 __u32 rdma_mr_size;
252 __u8 tos;252 __u8 tos;
253 __u8 sl;
253 __u32 cache_allocs;254 __u32 cache_allocs;
254};255};
255 256
@@ -265,6 +266,7 @@ struct rds6_info_rdma_connection { · 9 unmodified lines
265 __u32 rdma_mr_max;266 __u32 rdma_mr_max;
266 __u32 rdma_mr_size;267 __u32 rdma_mr_size;
267 __u8 tos;268 __u8 tos;
269 __u8 sl;
268 __u32 cache_allocs;270 __u32 cache_allocs;
269};271};
270 272
include/uapi/linux/rxrpc.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0-or-later */1/* SPDX-License-Identifier: GPL-2.0-or-later WITH Linux-syscall-note */
2/* Types and definitions for AF_RXRPC.2/* Types and definitions for AF_RXRPC.
3 *3 *
4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
include/uapi/linux/sctp.h+3−0
@@ -134,6 +134,9 @@ typedef __s32 sctp_assoc_t; · 133 unmodified lines
134#define SCTP_INTERLEAVING_SUPPORTED 125134#define SCTP_INTERLEAVING_SUPPORTED 125
135#define SCTP_SENDMSG_CONNECT 126135#define SCTP_SENDMSG_CONNECT 126
136#define SCTP_EVENT 127136#define SCTP_EVENT 127
137#define SCTP_ASCONF_SUPPORTED 128
138#define SCTP_AUTH_SUPPORTED 129
139#define SCTP_ECN_SUPPORTED 130
137 140
138/* PR-SCTP policies */141/* PR-SCTP policies */
139#define SCTP_PR_SCTP_NONE 0x0000142#define SCTP_PR_SCTP_NONE 0x0000
include/uapi/linux/serial_core.h+6−6
@@ -150,9 +150,6 @@ · 149 unmodified lines
150 150
151#define PORT_PNX8XXX 70151#define PORT_PNX8XXX 70
152 152
153/* Hilscher netx */
154#define PORT_NETX 71
155
156/* SUN4V Hypervisor Console */153/* SUN4V Hypervisor Console */
157#define PORT_SUNHV 72154#define PORT_SUNHV 72
158 155
@@ -164,9 +161,6 @@ · 5 unmodified lines
164/* Blackfin bf5xx */161/* Blackfin bf5xx */
165#define PORT_BFIN 75162#define PORT_BFIN 75
166 163
167/* Micrel KS8695 */
168#define PORT_KS8695 76
169
170/* Broadcom SB1250, etc. SOC */164/* Broadcom SB1250, etc. SOC */
171#define PORT_SB1250_DUART 77165#define PORT_SB1250_DUART 77
172 166
@@ -293,4 +287,10 @@ · 120 unmodified lines
293/* SiFive UART */287/* SiFive UART */
294#define PORT_SIFIVE_V0 120288#define PORT_SIFIVE_V0 120
295 289
290/* Sunix UART */
291#define PORT_SUNIX 121
292
293/* Freescale Linflex UART */
294#define PORT_LINFLEXUART 121
295
296#endif /* _UAPILINUX_SERIAL_CORE_H */296#endif /* _UAPILINUX_SERIAL_CORE_H */
include/uapi/linux/serio.h+1−0
@@ -82,5 +82,6 @@ · 81 unmodified lines
82#define SERIO_EGALAX 0x3f82#define SERIO_EGALAX 0x3f
83#define SERIO_PULSE8_CEC 0x4083#define SERIO_PULSE8_CEC 0x40
84#define SERIO_RAINSHADOW_CEC 0x4184#define SERIO_RAINSHADOW_CEC 0x41
85#define SERIO_FSIA6B 0x42
85 86
86#endif /* _UAPI_SERIO_H */87#endif /* _UAPI_SERIO_H */
include/uapi/linux/socket.h+13−6
@@ -6,17 +6,24 @@ · 5 unmodified lines
6 * Desired design of maximum size and alignment (see RFC2553)6 * Desired design of maximum size and alignment (see RFC2553)
7 */7 */
8#define _K_SS_MAXSIZE 128 /* Implementation specific max size */8#define _K_SS_MAXSIZE 128 /* Implementation specific max size */
9#define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *))
10 /* Implementation specific desired alignment */
11 9
12typedef unsigned short __kernel_sa_family_t;10typedef unsigned short __kernel_sa_family_t;
13 11
12/*
13 * The definition uses anonymous union and struct in order to control the
14 * default alignment.
15 */
14struct __kernel_sockaddr_storage {16struct __kernel_sockaddr_storage {
15 __kernel_sa_family_t ss_family; /* address family */17 union {
16 /* Following field(s) are implementation specific */18 struct {
17 char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];19 __kernel_sa_family_t ss_family; /* address family */
20 /* Following field(s) are implementation specific */
21 char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
18 /* space to achieve desired size, */22 /* space to achieve desired size, */
19 /* _SS_MAXSIZE value minus size of ss_family */23 /* _SS_MAXSIZE value minus size of ss_family */
20} __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */24 };
25 void *__align; /* implementation specific desired alignment */
26 };
27};
21 28
22#endif /* _UAPI_LINUX_SOCKET_H */29#endif /* _UAPI_LINUX_SOCKET_H */
include/uapi/linux/tcp.h+6−0
@@ -270,6 +270,12 @@ struct tcp_info { · 269 unmodified lines
270 __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */270 __u64 tcpi_bytes_retrans; /* RFC4898 tcpEStatsPerfOctetsRetrans */
271 __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */271 __u32 tcpi_dsack_dups; /* RFC4898 tcpEStatsStackDSACKDups */
272 __u32 tcpi_reord_seen; /* reordering events seen */272 __u32 tcpi_reord_seen; /* reordering events seen */
273
274 __u32 tcpi_rcv_ooopack; /* Out-of-order packets received */
275
276 __u32 tcpi_snd_wnd; /* peer's advertised receive window after
277 * scaling (bytes)
278 */
273};279};
274 280
275/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */281/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
include/uapi/linux/tls.h+15−0
@@ -109,4 +109,19 @@ struct tls12_crypto_info_aes_ccm_128 { · 108 unmodified lines
109 unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE];109 unsigned char rec_seq[TLS_CIPHER_AES_CCM_128_REC_SEQ_SIZE];
110};110};
111 111
112enum {
113 TLS_INFO_UNSPEC,
114 TLS_INFO_VERSION,
115 TLS_INFO_CIPHER,
116 TLS_INFO_TXCONF,
117 TLS_INFO_RXCONF,
118 __TLS_INFO_MAX,
119};
120#define TLS_INFO_MAX (__TLS_INFO_MAX - 1)
121
122#define TLS_CONF_BASE 1
123#define TLS_CONF_SW 2
124#define TLS_CONF_HW 3
125#define TLS_CONF_HW_RECORD 4
126
112#endif /* _UAPI_LINUX_TLS_H */127#endif /* _UAPI_LINUX_TLS_H */
include/uapi/linux/usb/ch9.h+2−0
@@ -894,6 +894,8 @@ struct usb_ext_cap_descriptor { /* Link Power Management */ · 893 unmodified lines
894#define USB_BESL_SUPPORT (1 << 2) /* supports BESL */894#define USB_BESL_SUPPORT (1 << 2) /* supports BESL */
895#define USB_BESL_BASELINE_VALID (1 << 3) /* Baseline BESL valid*/895#define USB_BESL_BASELINE_VALID (1 << 3) /* Baseline BESL valid*/
896#define USB_BESL_DEEP_VALID (1 << 4) /* Deep BESL valid */896#define USB_BESL_DEEP_VALID (1 << 4) /* Deep BESL valid */
897#define USB_SET_BESL_BASELINE(p) (((p) & 0xf) << 8)
898#define USB_SET_BESL_DEEP(p) (((p) & 0xf) << 12)
897#define USB_GET_BESL_BASELINE(p) (((p) & (0xf << 8)) >> 8)899#define USB_GET_BESL_BASELINE(p) (((p) & (0xf << 8)) >> 8)
898#define USB_GET_BESL_DEEP(p) (((p) & (0xf << 12)) >> 12)900#define USB_GET_BESL_DEEP(p) (((p) & (0xf << 12)) >> 12)
899} __attribute__((packed));901} __attribute__((packed));
include/uapi/linux/usb/g_uvc.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0+ */1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*2/*
3 * g_uvc.h -- USB Video Class Gadget driver API3 * g_uvc.h -- USB Video Class Gadget driver API
4 *4 *
include/uapi/linux/usbdevice_fs.h+4−0
@@ -158,6 +158,7 @@ struct usbdevfs_hub_portinfo { · 157 unmodified lines
158#define USBDEVFS_CAP_MMAP 0x20158#define USBDEVFS_CAP_MMAP 0x20
159#define USBDEVFS_CAP_DROP_PRIVILEGES 0x40159#define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
160#define USBDEVFS_CAP_CONNINFO_EX 0x80160#define USBDEVFS_CAP_CONNINFO_EX 0x80
161#define USBDEVFS_CAP_SUSPEND 0x100
161 162
162/* USBDEVFS_DISCONNECT_CLAIM flags & struct */163/* USBDEVFS_DISCONNECT_CLAIM flags & struct */
163 164
@@ -223,5 +224,8 @@ struct usbdevfs_streams { · 59 unmodified lines
223 * extending size of the data returned.224 * extending size of the data returned.
224 */225 */
225#define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len)226#define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len)
227#define USBDEVFS_FORBID_SUSPEND _IO('U', 33)
228#define USBDEVFS_ALLOW_SUSPEND _IO('U', 34)
229#define USBDEVFS_WAIT_FOR_RESUME _IO('U', 35)
226 230
227#endif /* _UAPI_LINUX_USBDEVICE_FS_H */231#endif /* _UAPI_LINUX_USBDEVICE_FS_H */
include/uapi/linux/vbox_vmmdev_types.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR CDDL-1.0) */
2/*2/*
3 * Virtual Device for Guest <-> VMM/Host communication, type definitions3 * Virtual Device for Guest <-> VMM/Host communication, type definitions
4 * which are also used for the vboxguest ioctl interface / by vboxsf4 * which are also used for the vboxguest ioctl interface / by vboxsf
include/uapi/linux/vboxguest.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR CDDL-1.0) */
2/*2/*
3 * VBoxGuest - VirtualBox Guest Additions Driver Interface.3 * VBoxGuest - VirtualBox Guest Additions Driver Interface.
4 *4 *
include/uapi/linux/vfio.h+51−20
@@ -295,15 +295,38 @@ struct vfio_region_info_cap_type { · 294 unmodified lines
295 __u32 subtype; /* type specific */295 __u32 subtype; /* type specific */
296};296};
297 297
298/*
299 * List of region types, global per bus driver.
300 * If you introduce a new type, please add it here.
301 */
302
303/* PCI region type containing a PCI vendor part */
298#define VFIO_REGION_TYPE_PCI_VENDOR_TYPE (1 << 31)304#define VFIO_REGION_TYPE_PCI_VENDOR_TYPE (1 << 31)
299#define VFIO_REGION_TYPE_PCI_VENDOR_MASK (0xffff)305#define VFIO_REGION_TYPE_PCI_VENDOR_MASK (0xffff)
306#define VFIO_REGION_TYPE_GFX (1)
307#define VFIO_REGION_TYPE_CCW (2)
308
309/* sub-types for VFIO_REGION_TYPE_PCI_* */
300 310
301/* 8086 Vendor sub-types */311/* 8086 vendor PCI sub-types */
302#define VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION (1)312#define VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION (1)
303#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)313#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)
304#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)314#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)
305 315
306#define VFIO_REGION_TYPE_GFX (1)316/* 10de vendor PCI sub-types */
317/*
318 * NVIDIA GPU NVlink2 RAM is coherent RAM mapped onto the host address space.
319 */
320#define VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM (1)
321
322/* 1014 vendor PCI sub-types */
323/*
324 * IBM NPU NVlink2 ATSD (Address Translation Shootdown) register of NPU
325 * to do TLB invalidation on a GPU.
326 */
327#define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1)
328
329/* sub-types for VFIO_REGION_TYPE_GFX */
307#define VFIO_REGION_SUBTYPE_GFX_EDID (1)330#define VFIO_REGION_SUBTYPE_GFX_EDID (1)
308 331
309/**332/**
@@ -353,25 +376,9 @@ struct vfio_region_gfx_edid { · 43 unmodified lines
353#define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2376#define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2
354};377};
355 378
356#define VFIO_REGION_TYPE_CCW (2)379/* sub-types for VFIO_REGION_TYPE_CCW */
357/* ccw sub-types */
358#define VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD (1)380#define VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD (1)
359 381
360/*
361 * 10de vendor sub-type
362 *
363 * NVIDIA GPU NVlink2 RAM is coherent RAM mapped onto the host address space.
364 */
365#define VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM (1)
366
367/*
368 * 1014 vendor sub-type
369 *
370 * IBM NPU NVlink2 ATSD (Address Translation Shootdown) register of NPU
371 * to do TLB invalidation on a GPU.
372 */
373#define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1)
374
375/*382/*
376 * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped383 * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped
377 * which allows direct access to non-MSIX registers which happened to be within384 * which allows direct access to non-MSIX registers which happened to be within
@@ -714,7 +721,31 @@ struct vfio_iommu_type1_info { · 336 unmodified lines
714 __u32 argsz;721 __u32 argsz;
715 __u32 flags;722 __u32 flags;
716#define VFIO_IOMMU_INFO_PGSIZES (1 << 0) /* supported page sizes info */723#define VFIO_IOMMU_INFO_PGSIZES (1 << 0) /* supported page sizes info */
717 __u64 iova_pgsizes; /* Bitmap of supported page sizes */724#define VFIO_IOMMU_INFO_CAPS (1 << 1) /* Info supports caps */
725 __u64 iova_pgsizes; /* Bitmap of supported page sizes */
726 __u32 cap_offset; /* Offset within info struct of first cap */
727};
728
729/*
730 * The IOVA capability allows to report the valid IOVA range(s)
731 * excluding any non-relaxable reserved regions exposed by
732 * devices attached to the container. Any DMA map attempt
733 * outside the valid iova range will return error.
734 *
735 * The structures below define version 1 of this capability.
736 */
737#define VFIO_IOMMU_TYPE1_INFO_CAP_IOVA_RANGE 1
738
739struct vfio_iova_range {
740 __u64 start;
741 __u64 end;
742};
743
744struct vfio_iommu_type1_info_cap_iova_range {
745 struct vfio_info_cap_header header;
746 __u32 nr_iovas;
747 __u32 reserved;
748 struct vfio_iova_range iova_ranges[];
718};749};
719 750
720#define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)751#define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
include/uapi/linux/videodev2.h+11−3
@@ -518,7 +518,13 @@ struct v4l2_pix_format { · 517 unmodified lines
518#define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2') /* 16 rrrrgggg bbbbxxxx */518#define V4L2_PIX_FMT_RGBX444 v4l2_fourcc('R', 'X', '1', '2') /* 16 rrrrgggg bbbbxxxx */
519#define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') /* 16 aaaabbbb ggggrrrr */519#define V4L2_PIX_FMT_ABGR444 v4l2_fourcc('A', 'B', '1', '2') /* 16 aaaabbbb ggggrrrr */
520#define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2') /* 16 xxxxbbbb ggggrrrr */520#define V4L2_PIX_FMT_XBGR444 v4l2_fourcc('X', 'B', '1', '2') /* 16 xxxxbbbb ggggrrrr */
521#define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('B', 'A', '1', '2') /* 16 bbbbgggg rrrraaaa */521
522/*
523 * Originally this had 'BA12' as fourcc, but this clashed with the older
524 * V4L2_PIX_FMT_SGRBG12 which inexplicably used that same fourcc.
525 * So use 'GA12' instead for V4L2_PIX_FMT_BGRA444.
526 */
527#define V4L2_PIX_FMT_BGRA444 v4l2_fourcc('G', 'A', '1', '2') /* 16 bbbbgggg rrrraaaa */
522#define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2') /* 16 bbbbgggg rrrrxxxx */528#define V4L2_PIX_FMT_BGRX444 v4l2_fourcc('B', 'X', '1', '2') /* 16 bbbbgggg rrrrxxxx */
523#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */529#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
524#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */530#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */
@@ -768,8 +774,10 @@ struct v4l2_fmtdesc { · 243 unmodified lines
768 __u32 reserved[4];774 __u32 reserved[4];
769};775};
770 776
771#define V4L2_FMT_FLAG_COMPRESSED 0x0001777#define V4L2_FMT_FLAG_COMPRESSED 0x0001
772#define V4L2_FMT_FLAG_EMULATED 0x0002778#define V4L2_FMT_FLAG_EMULATED 0x0002
779#define V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM 0x0004
780#define V4L2_FMT_FLAG_DYN_RESOLUTION 0x0008
773 781
774 /* Frame Size and frame rate enumeration */782 /* Frame Size and frame rate enumeration */
775/*783/*
include/uapi/linux/virtio_fs.h+19−0
@@ -0,0 +1,19 @@
1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2
3#ifndef _UAPI_LINUX_VIRTIO_FS_H
4#define _UAPI_LINUX_VIRTIO_FS_H
5
6#include <linux/types.h>
7#include <linux/virtio_ids.h>
8#include <linux/virtio_config.h>
9#include <linux/virtio_types.h>
10
11struct virtio_fs_config {
12 /* Filesystem name (UTF-8, not NUL-terminated, padded with NULs) */
13 __u8 tag[36];
14
15 /* Number of request queues */
16 __u32 num_request_queues;
17} __attribute__((packed));
18
19#endif /* _UAPI_LINUX_VIRTIO_FS_H */
include/uapi/linux/virtio_ids.h+1−0
@@ -44,6 +44,7 @@ · 43 unmodified lines
44#define VIRTIO_ID_VSOCK 19 /* virtio vsock transport */44#define VIRTIO_ID_VSOCK 19 /* virtio vsock transport */
45#define VIRTIO_ID_CRYPTO 20 /* virtio crypto */45#define VIRTIO_ID_CRYPTO 20 /* virtio crypto */
46#define VIRTIO_ID_IOMMU 23 /* virtio IOMMU */46#define VIRTIO_ID_IOMMU 23 /* virtio IOMMU */
47#define VIRTIO_ID_FS 26 /* virtio filesystem */
47#define VIRTIO_ID_PMEM 27 /* virtio pmem */48#define VIRTIO_ID_PMEM 27 /* virtio pmem */
48 49
49#endif /* _LINUX_VIRTIO_IDS_H */50#endif /* _LINUX_VIRTIO_IDS_H */
include/uapi/linux/virtio_iommu.h+18−14
@@ -1,8 +1,8 @@
1/* SPDX-License-Identifier: BSD-3-Clause */1/* SPDX-License-Identifier: BSD-3-Clause */
2/*2/*
3 * Virtio-iommu definition v0.93 * Virtio-iommu definition v0.12
4 *4 *
5 * Copyright (C) 2018 Arm Ltd.5 * Copyright (C) 2019 Arm Ltd.
6 */6 */
7#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H7#ifndef _UAPI_LINUX_VIRTIO_IOMMU_H
8#define _UAPI_LINUX_VIRTIO_IOMMU_H8#define _UAPI_LINUX_VIRTIO_IOMMU_H
@@ -11,26 +11,31 @@ · 2 unmodified lines
11 11
12/* Feature bits */12/* Feature bits */
13#define VIRTIO_IOMMU_F_INPUT_RANGE 013#define VIRTIO_IOMMU_F_INPUT_RANGE 0
14#define VIRTIO_IOMMU_F_DOMAIN_BITS 114#define VIRTIO_IOMMU_F_DOMAIN_RANGE 1
15#define VIRTIO_IOMMU_F_MAP_UNMAP 215#define VIRTIO_IOMMU_F_MAP_UNMAP 2
16#define VIRTIO_IOMMU_F_BYPASS 316#define VIRTIO_IOMMU_F_BYPASS 3
17#define VIRTIO_IOMMU_F_PROBE 417#define VIRTIO_IOMMU_F_PROBE 4
18#define VIRTIO_IOMMU_F_MMIO 5
18 19
19struct virtio_iommu_range {20struct virtio_iommu_range_64 {
20 __u64 start;21 __le64 start;
21 __u64 end;22 __le64 end;
23};
24
25struct virtio_iommu_range_32 {
26 __le32 start;
27 __le32 end;
22};28};
23 29
24struct virtio_iommu_config {30struct virtio_iommu_config {
25 /* Supported page sizes */31 /* Supported page sizes */
26 __u64 page_size_mask;32 __le64 page_size_mask;
27 /* Supported IOVA range */33 /* Supported IOVA range */
28 struct virtio_iommu_range input_range;34 struct virtio_iommu_range_64 input_range;
29 /* Max domain ID size */35 /* Max domain ID size */
30 __u8 domain_bits;36 struct virtio_iommu_range_32 domain_range;
31 __u8 padding[3];
32 /* Probe buffer size */37 /* Probe buffer size */
33 __u32 probe_size;38 __le32 probe_size;
34};39};
35 40
36/* Request types */41/* Request types */
@@ -49,6 +54,7 @@ struct virtio_iommu_config { · 12 unmodified lines
49#define VIRTIO_IOMMU_S_RANGE 0x0554#define VIRTIO_IOMMU_S_RANGE 0x05
50#define VIRTIO_IOMMU_S_NOENT 0x0655#define VIRTIO_IOMMU_S_NOENT 0x06
51#define VIRTIO_IOMMU_S_FAULT 0x0756#define VIRTIO_IOMMU_S_FAULT 0x07
57#define VIRTIO_IOMMU_S_NOMEM 0x08
52 58
53struct virtio_iommu_req_head {59struct virtio_iommu_req_head {
54 __u8 type;60 __u8 type;
@@ -78,12 +84,10 @@ struct virtio_iommu_req_detach { · 23 unmodified lines
78 84
79#define VIRTIO_IOMMU_MAP_F_READ (1 << 0)85#define VIRTIO_IOMMU_MAP_F_READ (1 << 0)
80#define VIRTIO_IOMMU_MAP_F_WRITE (1 << 1)86#define VIRTIO_IOMMU_MAP_F_WRITE (1 << 1)
81#define VIRTIO_IOMMU_MAP_F_EXEC (1 << 2)87#define VIRTIO_IOMMU_MAP_F_MMIO (1 << 2)
82#define VIRTIO_IOMMU_MAP_F_MMIO (1 << 3)
83 88
84#define VIRTIO_IOMMU_MAP_F_MASK (VIRTIO_IOMMU_MAP_F_READ | \89#define VIRTIO_IOMMU_MAP_F_MASK (VIRTIO_IOMMU_MAP_F_READ | \
85 VIRTIO_IOMMU_MAP_F_WRITE | \90 VIRTIO_IOMMU_MAP_F_WRITE | \
86 VIRTIO_IOMMU_MAP_F_EXEC | \
87 VIRTIO_IOMMU_MAP_F_MMIO)91 VIRTIO_IOMMU_MAP_F_MMIO)
88 92
89struct virtio_iommu_req_map {93struct virtio_iommu_req_map {
include/uapi/linux/virtio_pmem.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */1/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause */
2/*2/*
3 * Definitions for virtio-pmem devices.3 * Definitions for virtio-pmem devices.
4 *4 *
include/uapi/linux/vmcore.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_VMCORE_H2#ifndef _UAPI_VMCORE_H
3#define _UAPI_VMCORE_H3#define _UAPI_VMCORE_H
4 4
include/uapi/linux/wait.h+1−0
@@ -17,6 +17,7 @@ · 16 unmodified lines
17#define P_ALL 017#define P_ALL 0
18#define P_PID 118#define P_PID 1
19#define P_PGID 219#define P_PGID 2
20#define P_PIDFD 3
20 21
21 22
22#endif /* _UAPI_LINUX_WAIT_H */23#endif /* _UAPI_LINUX_WAIT_H */
include/uapi/linux/wmi.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0-only */1/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */
2/*2/*
3 * User API methods for ACPI-WMI mapping driver3 * User API methods for ACPI-WMI mapping driver
4 *4 *
include/uapi/misc/fastrpc.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 2
3#ifndef __QCOM_FASTRPC_H__3#ifndef __QCOM_FASTRPC_H__
4#define __QCOM_FASTRPC_H__4#define __QCOM_FASTRPC_H__
include/uapi/misc/habanalabs.h+68−34
@@ -1,6 +1,6 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
2 *2 *
3 * Copyright 2016-2018 HabanaLabs, Ltd.3 * Copyright 2016-2019 HabanaLabs, Ltd.
4 * All Rights Reserved.4 * All Rights Reserved.
5 *5 *
6 */6 */
@@ -28,20 +28,20 @@ · 21 unmodified lines
28 28
29enum goya_queue_id {29enum goya_queue_id {
30 GOYA_QUEUE_ID_DMA_0 = 0,30 GOYA_QUEUE_ID_DMA_0 = 0,
31 GOYA_QUEUE_ID_DMA_1,31 GOYA_QUEUE_ID_DMA_1 = 1,
32 GOYA_QUEUE_ID_DMA_2,32 GOYA_QUEUE_ID_DMA_2 = 2,
33 GOYA_QUEUE_ID_DMA_3,33 GOYA_QUEUE_ID_DMA_3 = 3,
34 GOYA_QUEUE_ID_DMA_4,34 GOYA_QUEUE_ID_DMA_4 = 4,
35 GOYA_QUEUE_ID_CPU_PQ,35 GOYA_QUEUE_ID_CPU_PQ = 5,
36 GOYA_QUEUE_ID_MME, /* Internal queues start here */36 GOYA_QUEUE_ID_MME = 6, /* Internal queues start here */
37 GOYA_QUEUE_ID_TPC0,37 GOYA_QUEUE_ID_TPC0 = 7,
38 GOYA_QUEUE_ID_TPC1,38 GOYA_QUEUE_ID_TPC1 = 8,
39 GOYA_QUEUE_ID_TPC2,39 GOYA_QUEUE_ID_TPC2 = 9,
40 GOYA_QUEUE_ID_TPC3,40 GOYA_QUEUE_ID_TPC3 = 10,
41 GOYA_QUEUE_ID_TPC4,41 GOYA_QUEUE_ID_TPC4 = 11,
42 GOYA_QUEUE_ID_TPC5,42 GOYA_QUEUE_ID_TPC5 = 12,
43 GOYA_QUEUE_ID_TPC6,43 GOYA_QUEUE_ID_TPC6 = 13,
44 GOYA_QUEUE_ID_TPC7,44 GOYA_QUEUE_ID_TPC7 = 14,
45 GOYA_QUEUE_ID_SIZE45 GOYA_QUEUE_ID_SIZE
46};46};
47 47
@@ -75,12 +75,34 @@ enum hl_device_status { · 27 unmodified lines
75 HL_DEVICE_STATUS_MALFUNCTION75 HL_DEVICE_STATUS_MALFUNCTION
76};76};
77 77
78/* Opcode for management ioctl */78/* Opcode for management ioctl
79#define HL_INFO_HW_IP_INFO 079 *
80#define HL_INFO_HW_EVENTS 180 * HW_IP_INFO - Receive information about different IP blocks in the
81#define HL_INFO_DRAM_USAGE 281 * device.
82#define HL_INFO_HW_IDLE 382 * HL_INFO_HW_EVENTS - Receive an array describing how many times each event
83#define HL_INFO_DEVICE_STATUS 483 * occurred since the last hard reset.
84 * HL_INFO_DRAM_USAGE - Retrieve the dram usage inside the device and of the
85 * specific context. This is relevant only for devices
86 * where the dram is managed by the kernel driver
87 * HL_INFO_HW_IDLE - Retrieve information about the idle status of each
88 * internal engine.
89 * HL_INFO_DEVICE_STATUS - Retrieve the device's status. This opcode doesn't
90 * require an open context.
91 * HL_INFO_DEVICE_UTILIZATION - Retrieve the total utilization of the device
92 * over the last period specified by the user.
93 * The period can be between 100ms to 1s, in
94 * resolution of 100ms. The return value is a
95 * percentage of the utilization rate.
96 * HL_INFO_HW_EVENTS_AGGREGATE - Receive an array describing how many times each
97 * event occurred since the driver was loaded.
98 */
99#define HL_INFO_HW_IP_INFO 0
100#define HL_INFO_HW_EVENTS 1
101#define HL_INFO_DRAM_USAGE 2
102#define HL_INFO_HW_IDLE 3
103#define HL_INFO_DEVICE_STATUS 4
104#define HL_INFO_DEVICE_UTILIZATION 6
105#define HL_INFO_HW_EVENTS_AGGREGATE 7
84 106
85#define HL_INFO_VERSION_MAX_LEN 128107#define HL_INFO_VERSION_MAX_LEN 128
86 108
@@ -122,6 +144,11 @@ struct hl_info_device_status { · 35 unmodified lines
122 __u32 pad;144 __u32 pad;
123};145};
124 146
147struct hl_info_device_utilization {
148 __u32 utilization;
149 __u32 pad;
150};
151
125struct hl_info_args {152struct hl_info_args {
126 /* Location of relevant struct in userspace */153 /* Location of relevant struct in userspace */
127 __u64 return_pointer;154 __u64 return_pointer;
@@ -137,8 +164,15 @@ struct hl_info_args { · 9 unmodified lines
137 /* HL_INFO_* */164 /* HL_INFO_* */
138 __u32 op;165 __u32 op;
139 166
140 /* Context ID - Currently not in use */167 union {
141 __u32 ctx_id;168 /* Context ID - Currently not in use */
169 __u32 ctx_id;
170 /* Period value for utilization rate (100ms - 1000ms, in 100ms
171 * resolution.
172 */
173 __u32 period_ms;
174 };
175
142 __u32 pad;176 __u32 pad;
143};177};
144 178
@@ -295,12 +329,12 @@ struct hl_mem_in { · 150 unmodified lines
295 struct {329 struct {
296 /*330 /*
297 * Requested virtual address of mapped memory.331 * Requested virtual address of mapped memory.
298 * KMD will try to map the requested region to this332 * The driver will try to map the requested region to
299 * hint address, as long as the address is valid and333 * this hint address, as long as the address is valid
300 * not already mapped. The user should check the334 * and not already mapped. The user should check the
301 * returned address of the IOCTL to make sure he got335 * returned address of the IOCTL to make sure he got
302 * the hint address. Passing 0 here means that KMD336 * the hint address. Passing 0 here means that the
303 * will choose the address itself.337 * driver will choose the address itself.
304 */338 */
305 __u64 hint_addr;339 __u64 hint_addr;
306 /* Handle returned from HL_MEM_OP_ALLOC */340 /* Handle returned from HL_MEM_OP_ALLOC */
@@ -313,12 +347,12 @@ struct hl_mem_in { · 6 unmodified lines
313 __u64 host_virt_addr;347 __u64 host_virt_addr;
314 /*348 /*
315 * Requested virtual address of mapped memory.349 * Requested virtual address of mapped memory.
316 * KMD will try to map the requested region to this350 * The driver will try to map the requested region to
317 * hint address, as long as the address is valid and351 * this hint address, as long as the address is valid
318 * not already mapped. The user should check the352 * and not already mapped. The user should check the
319 * returned address of the IOCTL to make sure he got353 * returned address of the IOCTL to make sure he got
320 * the hint address. Passing 0 here means that KMD354 * the hint address. Passing 0 here means that the
321 * will choose the address itself.355 * driver will choose the address itself.
322 */356 */
323 __u64 hint_addr;357 __u64 hint_addr;
324 /* Size of allocated host memory */358 /* Size of allocated host memory */
@@ -439,7 +473,7 @@ struct hl_debug_params_spmu { · 114 unmodified lines
439#define HL_DEBUG_OP_BMON 4473#define HL_DEBUG_OP_BMON 4
440/* Opcode for SPMU component */474/* Opcode for SPMU component */
441#define HL_DEBUG_OP_SPMU 5475#define HL_DEBUG_OP_SPMU 5
442/* Opcode for timestamp */476/* Opcode for timestamp (deprecated) */
443#define HL_DEBUG_OP_TIMESTAMP 6477#define HL_DEBUG_OP_TIMESTAMP 6
444/* Opcode for setting the device into or out of debug mode. The enable478/* Opcode for setting the device into or out of debug mode. The enable
445 * variable should be 1 for enabling debug mode and 0 for disabling it479 * variable should be 1 for enabling debug mode and 0 for disabling it
include/uapi/misc/xilinx_sdfec.h+448−0
@@ -0,0 +1,448 @@
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2/*
3 * Xilinx SD-FEC
4 *
5 * Copyright (C) 2019 Xilinx, Inc.
6 *
7 * Description:
8 * This driver is developed for SDFEC16 IP. It provides a char device
9 * in sysfs and supports file operations like open(), close() and ioctl().
10 */
11#ifndef __XILINX_SDFEC_H__
12#define __XILINX_SDFEC_H__
13
14#include <linux/types.h>
15
16/* Shared LDPC Tables */
17#define XSDFEC_LDPC_SC_TABLE_ADDR_BASE (0x10000)
18#define XSDFEC_LDPC_SC_TABLE_ADDR_HIGH (0x10400)
19#define XSDFEC_LDPC_LA_TABLE_ADDR_BASE (0x18000)
20#define XSDFEC_LDPC_LA_TABLE_ADDR_HIGH (0x19000)
21#define XSDFEC_LDPC_QC_TABLE_ADDR_BASE (0x20000)
22#define XSDFEC_LDPC_QC_TABLE_ADDR_HIGH (0x28000)
23
24/* LDPC tables depth */
25#define XSDFEC_SC_TABLE_DEPTH \
26 (XSDFEC_LDPC_SC_TABLE_ADDR_HIGH - XSDFEC_LDPC_SC_TABLE_ADDR_BASE)
27#define XSDFEC_LA_TABLE_DEPTH \
28 (XSDFEC_LDPC_LA_TABLE_ADDR_HIGH - XSDFEC_LDPC_LA_TABLE_ADDR_BASE)
29#define XSDFEC_QC_TABLE_DEPTH \
30 (XSDFEC_LDPC_QC_TABLE_ADDR_HIGH - XSDFEC_LDPC_QC_TABLE_ADDR_BASE)
31
32/**
33 * enum xsdfec_code - Code Type.
34 * @XSDFEC_TURBO_CODE: Driver is configured for Turbo mode.
35 * @XSDFEC_LDPC_CODE: Driver is configured for LDPC mode.
36 *
37 * This enum is used to indicate the mode of the driver. The mode is determined
38 * by checking which codes are set in the driver. Note that the mode cannot be
39 * changed by the driver.
40 */
41enum xsdfec_code {
42 XSDFEC_TURBO_CODE = 0,
43 XSDFEC_LDPC_CODE,
44};
45
46/**
47 * enum xsdfec_order - Order
48 * @XSDFEC_MAINTAIN_ORDER: Maintain order execution of blocks.
49 * @XSDFEC_OUT_OF_ORDER: Out-of-order execution of blocks.
50 *
51 * This enum is used to indicate whether the order of blocks can change from
52 * input to output.
53 */
54enum xsdfec_order {
55 XSDFEC_MAINTAIN_ORDER = 0,
56 XSDFEC_OUT_OF_ORDER,
57};
58
59/**
60 * enum xsdfec_turbo_alg - Turbo Algorithm Type.
61 * @XSDFEC_MAX_SCALE: Max Log-Map algorithm with extrinsic scaling. When
62 * scaling is set to this is equivalent to the Max Log-Map
63 * algorithm.
64 * @XSDFEC_MAX_STAR: Log-Map algorithm.
65 * @XSDFEC_TURBO_ALG_MAX: Used to indicate out of bound Turbo algorithms.
66 *
67 * This enum specifies which Turbo Decode algorithm is in use.
68 */
69enum xsdfec_turbo_alg {
70 XSDFEC_MAX_SCALE = 0,
71 XSDFEC_MAX_STAR,
72 XSDFEC_TURBO_ALG_MAX,
73};
74
75/**
76 * enum xsdfec_state - State.
77 * @XSDFEC_INIT: Driver is initialized.
78 * @XSDFEC_STARTED: Driver is started.
79 * @XSDFEC_STOPPED: Driver is stopped.
80 * @XSDFEC_NEEDS_RESET: Driver needs to be reset.
81 * @XSDFEC_PL_RECONFIGURE: Programmable Logic needs to be recofigured.
82 *
83 * This enum is used to indicate the state of the driver.
84 */
85enum xsdfec_state {
86 XSDFEC_INIT = 0,
87 XSDFEC_STARTED,
88 XSDFEC_STOPPED,
89 XSDFEC_NEEDS_RESET,
90 XSDFEC_PL_RECONFIGURE,
91};
92
93/**
94 * enum xsdfec_axis_width - AXIS_WIDTH.DIN Setting for 128-bit width.
95 * @XSDFEC_1x128b: DIN data input stream consists of a 128-bit lane
96 * @XSDFEC_2x128b: DIN data input stream consists of two 128-bit lanes
97 * @XSDFEC_4x128b: DIN data input stream consists of four 128-bit lanes
98 *
99 * This enum is used to indicate the AXIS_WIDTH.DIN setting for 128-bit width.
100 * The number of lanes of the DIN data input stream depends upon the
101 * AXIS_WIDTH.DIN parameter.
102 */
103enum xsdfec_axis_width {
104 XSDFEC_1x128b = 1,
105 XSDFEC_2x128b = 2,
106 XSDFEC_4x128b = 4,
107};
108
109/**
110 * enum xsdfec_axis_word_include - Words Configuration.
111 * @XSDFEC_FIXED_VALUE: Fixed, the DIN_WORDS AXI4-Stream interface is removed
112 * from the IP instance and is driven with the specified
113 * number of words.
114 * @XSDFEC_IN_BLOCK: In Block, configures the IP instance to expect a single
115 * DIN_WORDS value per input code block. The DIN_WORDS
116 * interface is present.
117 * @XSDFEC_PER_AXI_TRANSACTION: Per Transaction, configures the IP instance to
118 * expect one DIN_WORDS value per input transaction on the DIN interface. The
119 * DIN_WORDS interface is present.
120 * @XSDFEC_AXIS_WORDS_INCLUDE_MAX: Used to indicate out of bound Words
121 * Configurations.
122 *
123 * This enum is used to specify the DIN_WORDS configuration.
124 */
125enum xsdfec_axis_word_include {
126 XSDFEC_FIXED_VALUE = 0,
127 XSDFEC_IN_BLOCK,
128 XSDFEC_PER_AXI_TRANSACTION,
129 XSDFEC_AXIS_WORDS_INCLUDE_MAX,
130};
131
132/**
133 * struct xsdfec_turbo - User data for Turbo codes.
134 * @alg: Specifies which Turbo decode algorithm to use
135 * @scale: Specifies the extrinsic scaling to apply when the Max Scale algorithm
136 * has been selected
137 *
138 * Turbo code structure to communicate parameters to XSDFEC driver.
139 */
140struct xsdfec_turbo {
141 __u32 alg;
142 __u8 scale;
143};
144
145/**
146 * struct xsdfec_ldpc_params - User data for LDPC codes.
147 * @n: Number of code word bits
148 * @k: Number of information bits
149 * @psize: Size of sub-matrix
150 * @nlayers: Number of layers in code
151 * @nqc: Quasi Cyclic Number
152 * @nmqc: Number of M-sized QC operations in parity check matrix
153 * @nm: Number of M-size vectors in N
154 * @norm_type: Normalization required or not
155 * @no_packing: Determines if multiple QC ops should be performed
156 * @special_qc: Sub-Matrix property for Circulant weight > 0
157 * @no_final_parity: Decide if final parity check needs to be performed
158 * @max_schedule: Experimental code word scheduling limit
159 * @sc_off: SC offset
160 * @la_off: LA offset
161 * @qc_off: QC offset
162 * @sc_table: Pointer to SC Table which must be page aligned
163 * @la_table: Pointer to LA Table which must be page aligned
164 * @qc_table: Pointer to QC Table which must be page aligned
165 * @code_id: LDPC Code
166 *
167 * This structure describes the LDPC code that is passed to the driver by the
168 * application.
169 */
170struct xsdfec_ldpc_params {
171 __u32 n;
172 __u32 k;
173 __u32 psize;
174 __u32 nlayers;
175 __u32 nqc;
176 __u32 nmqc;
177 __u32 nm;
178 __u32 norm_type;
179 __u32 no_packing;
180 __u32 special_qc;
181 __u32 no_final_parity;
182 __u32 max_schedule;
183 __u32 sc_off;
184 __u32 la_off;
185 __u32 qc_off;
186 __u32 *sc_table;
187 __u32 *la_table;
188 __u32 *qc_table;
189 __u16 code_id;
190};
191
192/**
193 * struct xsdfec_status - Status of SD-FEC core.
194 * @state: State of the SD-FEC core
195 * @activity: Describes if the SD-FEC instance is Active
196 */
197struct xsdfec_status {
198 __u32 state;
199 __s8 activity;
200};
201
202/**
203 * struct xsdfec_irq - Enabling or Disabling Interrupts.
204 * @enable_isr: If true enables the ISR
205 * @enable_ecc_isr: If true enables the ECC ISR
206 */
207struct xsdfec_irq {
208 __s8 enable_isr;
209 __s8 enable_ecc_isr;
210};
211
212/**
213 * struct xsdfec_config - Configuration of SD-FEC core.
214 * @code: The codes being used by the SD-FEC instance
215 * @order: Order of Operation
216 * @din_width: Width of the DIN AXI4-Stream
217 * @din_word_include: How DIN_WORDS are inputted
218 * @dout_width: Width of the DOUT AXI4-Stream
219 * @dout_word_include: HOW DOUT_WORDS are outputted
220 * @irq: Enabling or disabling interrupts
221 * @bypass: Is the core being bypassed
222 * @code_wr_protect: Is write protection of LDPC codes enabled
223 */
224struct xsdfec_config {
225 __u32 code;
226 __u32 order;
227 __u32 din_width;
228 __u32 din_word_include;
229 __u32 dout_width;
230 __u32 dout_word_include;
231 struct xsdfec_irq irq;
232 __s8 bypass;
233 __s8 code_wr_protect;
234};
235
236/**
237 * struct xsdfec_stats - Stats retrived by ioctl XSDFEC_GET_STATS. Used
238 * to buffer atomic_t variables from struct
239 * xsdfec_dev. Counts are accumulated until
240 * the user clears them.
241 * @isr_err_count: Count of ISR errors
242 * @cecc_count: Count of Correctable ECC errors (SBE)
243 * @uecc_count: Count of Uncorrectable ECC errors (MBE)
244 */
245struct xsdfec_stats {
246 __u32 isr_err_count;
247 __u32 cecc_count;
248 __u32 uecc_count;
249};
250
251/**
252 * struct xsdfec_ldpc_param_table_sizes - Used to store sizes of SD-FEC table
253 * entries for an individual LPDC code
254 * parameter.
255 * @sc_size: Size of SC table used
256 * @la_size: Size of LA table used
257 * @qc_size: Size of QC table used
258 */
259struct xsdfec_ldpc_param_table_sizes {
260 __u32 sc_size;
261 __u32 la_size;
262 __u32 qc_size;
263};
264
265/*
266 * XSDFEC IOCTL List
267 */
268#define XSDFEC_MAGIC 'f'
269/**
270 * DOC: XSDFEC_START_DEV
271 *
272 * @Description
273 *
274 * ioctl to start SD-FEC core
275 *
276 * This fails if the XSDFEC_SET_ORDER ioctl has not been previously called
277 */
278#define XSDFEC_START_DEV _IO(XSDFEC_MAGIC, 0)
279/**
280 * DOC: XSDFEC_STOP_DEV
281 *
282 * @Description
283 *
284 * ioctl to stop the SD-FEC core
285 */
286#define XSDFEC_STOP_DEV _IO(XSDFEC_MAGIC, 1)
287/**
288 * DOC: XSDFEC_GET_STATUS
289 *
290 * @Description
291 *
292 * ioctl that returns status of SD-FEC core
293 */
294#define XSDFEC_GET_STATUS _IOR(XSDFEC_MAGIC, 2, struct xsdfec_status)
295/**
296 * DOC: XSDFEC_SET_IRQ
297 * @Parameters
298 *
299 * @struct xsdfec_irq *
300 * Pointer to the &struct xsdfec_irq that contains the interrupt settings
301 * for the SD-FEC core
302 *
303 * @Description
304 *
305 * ioctl to enable or disable irq
306 */
307#define XSDFEC_SET_IRQ _IOW(XSDFEC_MAGIC, 3, struct xsdfec_irq)
308/**
309 * DOC: XSDFEC_SET_TURBO
310 * @Parameters
311 *
312 * @struct xsdfec_turbo *
313 * Pointer to the &struct xsdfec_turbo that contains the Turbo decode
314 * settings for the SD-FEC core
315 *
316 * @Description
317 *
318 * ioctl that sets the SD-FEC Turbo parameter values
319 *
320 * This can only be used when the driver is in the XSDFEC_STOPPED state
321 */
322#define XSDFEC_SET_TURBO _IOW(XSDFEC_MAGIC, 4, struct xsdfec_turbo)
323/**
324 * DOC: XSDFEC_ADD_LDPC_CODE_PARAMS
325 * @Parameters
326 *
327 * @struct xsdfec_ldpc_params *
328 * Pointer to the &struct xsdfec_ldpc_params that contains the LDPC code
329 * parameters to be added to the SD-FEC Block
330 *
331 * @Description
332 * ioctl to add an LDPC code to the SD-FEC LDPC codes
333 *
334 * This can only be used when:
335 *
336 * - Driver is in the XSDFEC_STOPPED state
337 *
338 * - SD-FEC core is configured as LPDC
339 *
340 * - SD-FEC Code Write Protection is disabled
341 */
342#define XSDFEC_ADD_LDPC_CODE_PARAMS \
343 _IOW(XSDFEC_MAGIC, 5, struct xsdfec_ldpc_params)
344/**
345 * DOC: XSDFEC_GET_CONFIG
346 * @Parameters
347 *
348 * @struct xsdfec_config *
349 * Pointer to the &struct xsdfec_config that contains the current
350 * configuration settings of the SD-FEC Block
351 *
352 * @Description
353 *
354 * ioctl that returns SD-FEC core configuration
355 */
356#define XSDFEC_GET_CONFIG _IOR(XSDFEC_MAGIC, 6, struct xsdfec_config)
357/**
358 * DOC: XSDFEC_GET_TURBO
359 * @Parameters
360 *
361 * @struct xsdfec_turbo *
362 * Pointer to the &struct xsdfec_turbo that contains the current Turbo
363 * decode settings of the SD-FEC Block
364 *
365 * @Description
366 *
367 * ioctl that returns SD-FEC turbo param values
368 */
369#define XSDFEC_GET_TURBO _IOR(XSDFEC_MAGIC, 7, struct xsdfec_turbo)
370/**
371 * DOC: XSDFEC_SET_ORDER
372 * @Parameters
373 *
374 * @struct unsigned long *
375 * Pointer to the unsigned long that contains a value from the
376 * @enum xsdfec_order
377 *
378 * @Description
379 *
380 * ioctl that sets order, if order of blocks can change from input to output
381 *
382 * This can only be used when the driver is in the XSDFEC_STOPPED state
383 */
384#define XSDFEC_SET_ORDER _IOW(XSDFEC_MAGIC, 8, unsigned long)
385/**
386 * DOC: XSDFEC_SET_BYPASS
387 * @Parameters
388 *
389 * @struct bool *
390 * Pointer to bool that sets the bypass value, where false results in
391 * normal operation and false results in the SD-FEC performing the
392 * configured operations (same number of cycles) but output data matches
393 * the input data
394 *
395 * @Description
396 *
397 * ioctl that sets bypass.
398 *
399 * This can only be used when the driver is in the XSDFEC_STOPPED state
400 */
401#define XSDFEC_SET_BYPASS _IOW(XSDFEC_MAGIC, 9, bool)
402/**
403 * DOC: XSDFEC_IS_ACTIVE
404 * @Parameters
405 *
406 * @struct bool *
407 * Pointer to bool that returns true if the SD-FEC is processing data
408 *
409 * @Description
410 *
411 * ioctl that determines if SD-FEC is processing data
412 */
413#define XSDFEC_IS_ACTIVE _IOR(XSDFEC_MAGIC, 10, bool)
414/**
415 * DOC: XSDFEC_CLEAR_STATS
416 *
417 * @Description
418 *
419 * ioctl that clears error stats collected during interrupts
420 */
421#define XSDFEC_CLEAR_STATS _IO(XSDFEC_MAGIC, 11)
422/**
423 * DOC: XSDFEC_GET_STATS
424 * @Parameters
425 *
426 * @struct xsdfec_stats *
427 * Pointer to the &struct xsdfec_stats that will contain the updated stats
428 * values
429 *
430 * @Description
431 *
432 * ioctl that returns SD-FEC core stats
433 *
434 * This can only be used when the driver is in the XSDFEC_STOPPED state
435 */
436#define XSDFEC_GET_STATS _IOR(XSDFEC_MAGIC, 12, struct xsdfec_stats)
437/**
438 * DOC: XSDFEC_SET_DEFAULT_CONFIG
439 *
440 * @Description
441 *
442 * ioctl that returns SD-FEC core to default config, use after a reset
443 *
444 * This can only be used when the driver is in the XSDFEC_STOPPED state
445 */
446#define XSDFEC_SET_DEFAULT_CONFIG _IO(XSDFEC_MAGIC, 13)
447
448#endif /* __XILINX_SDFEC_H__ */
include/uapi/rdma/mlx5_user_ioctl_verbs.h+1−0
@@ -43,6 +43,7 @@ enum mlx5_ib_uapi_flow_table_type { · 42 unmodified lines
43 MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX = 0x0,43 MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_RX = 0x0,
44 MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX = 0x1,44 MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX = 0x1,
45 MLX5_IB_UAPI_FLOW_TABLE_TYPE_FDB = 0x2,45 MLX5_IB_UAPI_FLOW_TABLE_TYPE_FDB = 0x2,
46 MLX5_IB_UAPI_FLOW_TABLE_TYPE_RDMA_RX = 0x3,
46};47};
47 48
48enum mlx5_ib_uapi_flow_action_packet_reformat_type {49enum mlx5_ib_uapi_flow_action_packet_reformat_type {
include/uapi/rdma/rvt-abi.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */1/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2 2
3/*3/*
4 * This file contains defines, structures, etc. that are used4 * This file contains defines, structures, etc. that are used
include/uapi/rdma/siw-abi.h+3−2
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */1/* SPDX-License-Identifier: (GPL-2.0 WITH Linux-syscall-note) or BSD-3-Clause */
2 2
3/* Authors: Bernard Metzler <bmt@zurich.ibm.com> */3/* Authors: Bernard Metzler <bmt@zurich.ibm.com> */
4/* Copyright (c) 2008-2019, IBM Corporation */4/* Copyright (c) 2008-2019, IBM Corporation */
@@ -180,6 +180,7 @@ struct siw_cqe { · 175 unmodified lines
180 * to control CQ arming.180 * to control CQ arming.
181 */181 */
182struct siw_cq_ctrl {182struct siw_cq_ctrl {
183 __aligned_u64 notify;183 __u32 flags;
184 __u32 pad;
184};185};
185#endif186#endif
include/uapi/scsi/scsi_bsg_fc.h+28−26
@@ -8,6 +8,8 @@ · 7 unmodified lines
8#ifndef SCSI_BSG_FC_H8#ifndef SCSI_BSG_FC_H
9#define SCSI_BSG_FC_H9#define SCSI_BSG_FC_H
10 10
11#include <linux/types.h>
12
11/*13/*
12 * This file intended to be included by both kernel and user space14 * This file intended to be included by both kernel and user space
13 */15 */
@@ -66,10 +68,10 @@ · 52 unmodified lines
66 * with the transport upon completion of the login.68 * with the transport upon completion of the login.
67 */69 */
68struct fc_bsg_host_add_rport {70struct fc_bsg_host_add_rport {
69 uint8_t reserved;71 __u8 reserved;
70 72
71 /* FC Address Identier of the remote port to login to */73 /* FC Address Identier of the remote port to login to */
72 uint8_t port_id[3];74 __u8 port_id[3];
73};75};
74 76
75/* Response:77/* Response:
@@ -87,10 +89,10 @@ struct fc_bsg_host_add_rport { · 11 unmodified lines
87 * remain logged in with the remote port.89 * remain logged in with the remote port.
88 */90 */
89struct fc_bsg_host_del_rport {91struct fc_bsg_host_del_rport {
90 uint8_t reserved;92 __u8 reserved;
91 93
92 /* FC Address Identier of the remote port to logout of */94 /* FC Address Identier of the remote port to logout of */
93 uint8_t port_id[3];95 __u8 port_id[3];
94};96};
95 97
96/* Response:98/* Response:
@@ -111,10 +113,10 @@ struct fc_bsg_host_els { · 14 unmodified lines
111 * ELS Command Code being sent (must be the same as byte 0113 * ELS Command Code being sent (must be the same as byte 0
112 * of the payload)114 * of the payload)
113 */115 */
114 uint8_t command_code;116 __u8 command_code;
115 117
116 /* FC Address Identier of the remote port to send the ELS to */118 /* FC Address Identier of the remote port to send the ELS to */
117 uint8_t port_id[3];119 __u8 port_id[3];
118};120};
119 121
120/* Response:122/* Response:
@@ -151,14 +153,14 @@ struct fc_bsg_ctels_reply { · 30 unmodified lines
151 * Note: x_RJT/BSY status will indicae that the rjt_data field153 * Note: x_RJT/BSY status will indicae that the rjt_data field
152 * is valid and contains the reason/explanation values.154 * is valid and contains the reason/explanation values.
153 */155 */
154 uint32_t status; /* See FC_CTELS_STATUS_xxx */156 __u32 status; /* See FC_CTELS_STATUS_xxx */
155 157
156 /* valid if status is not FC_CTELS_STATUS_OK */158 /* valid if status is not FC_CTELS_STATUS_OK */
157 struct {159 struct {
158 uint8_t action; /* fragment_id for CT REJECT */160 __u8 action; /* fragment_id for CT REJECT */
159 uint8_t reason_code;161 __u8 reason_code;
160 uint8_t reason_explanation;162 __u8 reason_explanation;
161 uint8_t vendor_unique;163 __u8 vendor_unique;
162 } rjt_data;164 } rjt_data;
163};165};
164 166
@@ -174,17 +176,17 @@ struct fc_bsg_ctels_reply { · 9 unmodified lines
174 * and whether to tear it down after the request.176 * and whether to tear it down after the request.
175 */177 */
176struct fc_bsg_host_ct {178struct fc_bsg_host_ct {
177 uint8_t reserved;179 __u8 reserved;
178 180
179 /* FC Address Identier of the remote port to send the ELS to */181 /* FC Address Identier of the remote port to send the ELS to */
180 uint8_t port_id[3];182 __u8 port_id[3];
181 183
182 /*184 /*
183 * We need words 0-2 of the generic preamble for the LLD's185 * We need words 0-2 of the generic preamble for the LLD's
184 */186 */
185 uint32_t preamble_word0; /* revision & IN_ID */187 __u32 preamble_word0; /* revision & IN_ID */
186 uint32_t preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */188 __u32 preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
187 uint32_t preamble_word2; /* Cmd Code, Max Size */189 __u32 preamble_word2; /* Cmd Code, Max Size */
188 190
189};191};
190/* Response:192/* Response:
@@ -204,17 +206,17 @@ struct fc_bsg_host_vendor { · 13 unmodified lines
204 * Identifies the vendor that the message is formatted for. This206 * Identifies the vendor that the message is formatted for. This
205 * should be the recipient of the message.207 * should be the recipient of the message.
206 */208 */
207 uint64_t vendor_id;209 __u64 vendor_id;
208 210
209 /* start of vendor command area */211 /* start of vendor command area */
210 uint32_t vendor_cmd[0];212 __u32 vendor_cmd[0];
211};213};
212 214
213/* Response:215/* Response:
214 */216 */
215struct fc_bsg_host_vendor_reply {217struct fc_bsg_host_vendor_reply {
216 /* start of vendor response area */218 /* start of vendor response area */
217 uint32_t vendor_rsp[0];219 __u32 vendor_rsp[0];
218};220};
219 221
220 222
@@ -233,7 +235,7 @@ struct fc_bsg_rport_els { · 12 unmodified lines
233 * ELS Command Code being sent (must be the same as235 * ELS Command Code being sent (must be the same as
234 * byte 0 of the payload)236 * byte 0 of the payload)
235 */237 */
236 uint8_t els_code;238 __u8 els_code;
237};239};
238 240
239/* Response:241/* Response:
@@ -251,9 +253,9 @@ struct fc_bsg_rport_ct { · 11 unmodified lines
251 /*253 /*
252 * We need words 0-2 of the generic preamble for the LLD's254 * We need words 0-2 of the generic preamble for the LLD's
253 */255 */
254 uint32_t preamble_word0; /* revision & IN_ID */256 __u32 preamble_word0; /* revision & IN_ID */
255 uint32_t preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */257 __u32 preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
256 uint32_t preamble_word2; /* Cmd Code, Max Size */258 __u32 preamble_word2; /* Cmd Code, Max Size */
257};259};
258/* Response:260/* Response:
259 *261 *
@@ -265,7 +267,7 @@ struct fc_bsg_rport_ct { · 5 unmodified lines
265 267
266/* request (CDB) structure of the sg_io_v4 */268/* request (CDB) structure of the sg_io_v4 */
267struct fc_bsg_request {269struct fc_bsg_request {
268 uint32_t msgcode;270 __u32 msgcode;
269 union {271 union {
270 struct fc_bsg_host_add_rport h_addrport;272 struct fc_bsg_host_add_rport h_addrport;
271 struct fc_bsg_host_del_rport h_delrport;273 struct fc_bsg_host_del_rport h_delrport;
@@ -289,10 +291,10 @@ struct fc_bsg_reply { · 17 unmodified lines
289 * msg and status fields. The per-msgcode reply structure291 * msg and status fields. The per-msgcode reply structure
290 * will contain valid data.292 * will contain valid data.
291 */293 */
292 uint32_t result;294 __u32 result;
293 295
294 /* If there was reply_payload, how much was recevied ? */296 /* If there was reply_payload, how much was recevied ? */
295 uint32_t reply_payload_rcv_len;297 __u32 reply_payload_rcv_len;
296 298
297 union {299 union {
298 struct fc_bsg_host_vendor_reply vendor_reply;300 struct fc_bsg_host_vendor_reply vendor_reply;
include/uapi/scsi/scsi_bsg_ufs.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*2/*
3 * UFS Transport SGIO v4 BSG Message Support3 * UFS Transport SGIO v4 BSG Message Support
4 *4 *
include/uapi/scsi/scsi_netlink.h+10−10
@@ -26,12 +26,12 @@ · 25 unmodified lines
26 26
27/* SCSI_TRANSPORT_MSG event message header */27/* SCSI_TRANSPORT_MSG event message header */
28struct scsi_nl_hdr {28struct scsi_nl_hdr {
29 uint8_t version;29 __u8 version;
30 uint8_t transport;30 __u8 transport;
31 uint16_t magic;31 __u16 magic;
32 uint16_t msgtype;32 __u16 msgtype;
33 uint16_t msglen;33 __u16 msglen;
34} __attribute__((aligned(sizeof(uint64_t))));34} __attribute__((aligned(sizeof(__u64))));
35 35
36/* scsi_nl_hdr->version value */36/* scsi_nl_hdr->version value */
37#define SCSI_NL_VERSION 137#define SCSI_NL_VERSION 1
@@ -75,10 +75,10 @@ struct scsi_nl_hdr { · 37 unmodified lines
75 */75 */
76struct scsi_nl_host_vendor_msg {76struct scsi_nl_host_vendor_msg {
77 struct scsi_nl_hdr snlh; /* must be 1st element ! */77 struct scsi_nl_hdr snlh; /* must be 1st element ! */
78 uint64_t vendor_id;78 __u64 vendor_id;
79 uint16_t host_no;79 __u16 host_no;
80 uint16_t vmsg_datalen;80 __u16 vmsg_datalen;
81} __attribute__((aligned(sizeof(uint64_t))));81} __attribute__((aligned(sizeof(__u64))));
82 82
83 83
84/*84/*
include/uapi/scsi/scsi_netlink_fc.h+9−8
@@ -7,6 +7,7 @@ · 6 unmodified lines
7#ifndef SCSI_NETLINK_FC_H7#ifndef SCSI_NETLINK_FC_H
8#define SCSI_NETLINK_FC_H8#define SCSI_NETLINK_FC_H
9 9
10#include <linux/types.h>
10#include <scsi/scsi_netlink.h>11#include <scsi/scsi_netlink.h>
11 12
12/*13/*
@@ -43,14 +44,14 @@ · 30 unmodified lines
43 */44 */
44struct fc_nl_event {45struct fc_nl_event {
45 struct scsi_nl_hdr snlh; /* must be 1st element ! */46 struct scsi_nl_hdr snlh; /* must be 1st element ! */
46 uint64_t seconds;47 __u64 seconds;
47 uint64_t vendor_id;48 __u64 vendor_id;
48 uint16_t host_no;49 __u16 host_no;
49 uint16_t event_datalen;50 __u16 event_datalen;
50 uint32_t event_num;51 __u32 event_num;
51 uint32_t event_code;52 __u32 event_code;
52 uint32_t event_data;53 __u32 event_data;
53} __attribute__((aligned(sizeof(uint64_t))));54} __attribute__((aligned(sizeof(__u64))));
54 55
55 56
56#endif /* SCSI_NETLINK_FC_H */57#endif /* SCSI_NETLINK_FC_H */
include/uapi/sound/skl-tplg-interface.h+1−1
@@ -1,4 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*2/*
3 * skl-tplg-interface.h - Intel DSP FW private data interface3 * skl-tplg-interface.h - Intel DSP FW private data interface
4 *4 *
include/uapi/sound/sof/abi.h+1−1
@@ -26,7 +26,7 @@ · 25 unmodified lines
26 26
27/* SOF ABI version major, minor and patch numbers */27/* SOF ABI version major, minor and patch numbers */
28#define SOF_ABI_MAJOR 328#define SOF_ABI_MAJOR 3
29#define SOF_ABI_MINOR 829#define SOF_ABI_MINOR 10
30#define SOF_ABI_PATCH 030#define SOF_ABI_PATCH 0
31 31
32/* SOF ABI version number. Format within 32bit word is MMmmmppp */32/* SOF ABI version number. Format within 32bit word is MMmmmppp */
include/uapi/sound/sof/fw.h+9−7
@@ -13,6 +13,8 @@ · 12 unmodified lines
13#ifndef __INCLUDE_UAPI_SOF_FW_H__13#ifndef __INCLUDE_UAPI_SOF_FW_H__
14#define __INCLUDE_UAPI_SOF_FW_H__14#define __INCLUDE_UAPI_SOF_FW_H__
15 15
16#include <linux/types.h>
17
16#define SND_SOF_FW_SIG_SIZE 418#define SND_SOF_FW_SIG_SIZE 4
17#define SND_SOF_FW_ABI 119#define SND_SOF_FW_ABI 1
18#define SND_SOF_FW_SIG "Reef"20#define SND_SOF_FW_SIG "Reef"
@@ -46,8 +48,8 @@ enum snd_sof_fw_blk_type { · 27 unmodified lines
46 48
47struct snd_sof_blk_hdr {49struct snd_sof_blk_hdr {
48 enum snd_sof_fw_blk_type type;50 enum snd_sof_fw_blk_type type;
49 uint32_t size; /* bytes minus this header */51 __u32 size; /* bytes minus this header */
50 uint32_t offset; /* offset from base */52 __u32 offset; /* offset from base */
51} __packed;53} __packed;
52 54
53/*55/*
@@ -61,8 +63,8 @@ enum snd_sof_fw_mod_type { · 7 unmodified lines
61 63
62struct snd_sof_mod_hdr {64struct snd_sof_mod_hdr {
63 enum snd_sof_fw_mod_type type;65 enum snd_sof_fw_mod_type type;
64 uint32_t size; /* bytes minus this header */66 __u32 size; /* bytes minus this header */
65 uint32_t num_blocks; /* number of blocks */67 __u32 num_blocks; /* number of blocks */
66} __packed;68} __packed;
67 69
68/*70/*
@@ -70,9 +72,9 @@ struct snd_sof_mod_hdr { · 1 unmodified line
70 */72 */
71struct snd_sof_fw_header {73struct snd_sof_fw_header {
72 unsigned char sig[SND_SOF_FW_SIG_SIZE]; /* "Reef" */74 unsigned char sig[SND_SOF_FW_SIG_SIZE]; /* "Reef" */
73 uint32_t file_size; /* size of file minus this header */75 __u32 file_size; /* size of file minus this header */
74 uint32_t num_modules; /* number of modules */76 __u32 num_modules; /* number of modules */
75 uint32_t abi; /* version of header format */77 __u32 abi; /* version of header format */
76} __packed;78} __packed;
77 79
78#endif80#endif
include/uapi/sound/sof/header.h+8−6
@@ -9,6 +9,8 @@ · 8 unmodified lines
9#ifndef __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__9#ifndef __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
10#define __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__10#define __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
11 11
12#include <linux/types.h>
13
12/*14/*
13 * Header for all non IPC ABI data.15 * Header for all non IPC ABI data.
14 *16 *
@@ -16,12 +18,12 @@ · 1 unmodified line
16 * Used by any bespoke component data structures or binary blobs.18 * Used by any bespoke component data structures or binary blobs.
17 */19 */
18struct sof_abi_hdr {20struct sof_abi_hdr {
19 uint32_t magic; /**< 'S', 'O', 'F', '\0' */21 __u32 magic; /**< 'S', 'O', 'F', '\0' */
20 uint32_t type; /**< component specific type */22 __u32 type; /**< component specific type */
21 uint32_t size; /**< size in bytes of data excl. this struct */23 __u32 size; /**< size in bytes of data excl. this struct */
22 uint32_t abi; /**< SOF ABI version */24 __u32 abi; /**< SOF ABI version */
23 uint32_t reserved[4]; /**< reserved for future use */25 __u32 reserved[4]; /**< reserved for future use */
24 uint32_t data[0]; /**< Component data - opaque to core */26 __u32 data[0]; /**< Component data - opaque to core */
25} __packed;27} __packed;
26 28
27#endif29#endif
include/uapi/sound/sof/tokens.h+9−0
@@ -75,6 +75,7 @@ · 74 unmodified lines
75#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 50375#define SOF_TKN_INTEL_SSP_FRAME_PULSE_WIDTH 503
76#define SOF_TKN_INTEL_SSP_QUIRKS 50476#define SOF_TKN_INTEL_SSP_QUIRKS 504
77#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 50577#define SOF_TKN_INTEL_SSP_TDM_PADDING_PER_SLOT 505
78#define SOF_TKN_INTEL_SSP_BCLK_DELAY 506
78 79
79/* DMIC */80/* DMIC */
80#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 60081#define SOF_TKN_INTEL_DMIC_DRIVER_VERSION 600
@@ -105,4 +106,12 @@ · 24 unmodified lines
105/* for backward compatibility */106/* for backward compatibility */
106#define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE107#define SOF_TKN_EFFECT_TYPE SOF_TKN_PROCESS_TYPE
107 108
109/* SAI */
110#define SOF_TKN_IMX_SAI_FIRST_TOKEN 1000
111/* TODO: Add SAI tokens */
112
113/* ESAI */
114#define SOF_TKN_IMX_ESAI_FIRST_TOKEN 1100
115/* TODO: Add ESAI tokens */
116
108#endif117#endif