History

Merge branch 'perf/urgent' into perf/core, to pick up latest fixes and refresh the tree

Ingo Molnar committed 9 years ago

Commit f5db3402 parents ee438ec 38115f29242 files · +780174 −185167Browse files

Showing the changes to include/uapi (59 of 9242 files). Show all

Unified · Split

59 files
  1. include/uapi/asm-generic/ioctls.h +1 −0
  2. include/uapi/asm-generic/socket.h +4 −0
  3. include/uapi/drm/amdgpu_drm.h +37 −1
  4. include/uapi/drm/drm.h +26 −0
  5. include/uapi/drm/drm_fourcc.h +22 −1
  6. include/uapi/drm/drm_mode.h +48 −1
  7. include/uapi/drm/i915_drm.h +52 −9
  8. include/uapi/drm/msm_drm.h +6 −3
  9. include/uapi/drm/omap_drm.h +2 −2
  10. include/uapi/drm/vc4_drm.h +16 −0
  11. include/uapi/linux/auto_fs.h +2 −2
  12. include/uapi/linux/auto_fs4.h +2 −2
  13. include/uapi/linux/bpf.h +135 −5
  14. include/uapi/linux/btrfs.h +43 −20
  15. include/uapi/linux/cec.h +2 −0
  16. include/uapi/linux/dm-ioctl.h +3 −1
  17. include/uapi/linux/dvb/video.h +2 −1
  18. include/uapi/linux/fs.h +2 −0
  19. include/uapi/linux/if_link.h +18 −2
  20. include/uapi/linux/input-event-codes.h +1 −0
  21. include/uapi/linux/kcmp.h +10 −0
  22. include/uapi/linux/kvm.h +37 −0
  23. include/uapi/linux/magic.h +3 −0
  24. include/uapi/linux/max2175.h +28 −0
  25. include/uapi/linux/media.h +6 −0
  26. include/uapi/linux/mempolicy.h +0 −8
  27. include/uapi/linux/mroute.h +54 −0
  28. include/uapi/linux/mroute6.h +12 −0
  29. include/uapi/linux/ndctl.h +41 −1
  30. include/uapi/linux/neighbour.h +1 −0
  31. include/uapi/linux/net_tstamp.h +14 −1
  32. include/uapi/linux/nl80211.h +73 −9
  33. include/uapi/linux/pci_regs.h +1 −0
  34. include/uapi/linux/pkt_cls.h +17 −0
  35. include/uapi/linux/rtnetlink.h +9 −0
  36. include/uapi/linux/sched/types.h +8 −8
  37. include/uapi/linux/sctp.h +6 −0
  38. include/uapi/linux/sem.h +1 −1
  39. include/uapi/linux/serial.h +3 −0
  40. include/uapi/linux/serial_core.h +1 −1
  41. include/uapi/linux/snmp.h +1 −0
  42. include/uapi/linux/switchtec_ioctl.h +3 −0
  43. include/uapi/linux/target_core_user.h +12 −0
  44. include/uapi/linux/tc_act/tc_bpf.h +1 −0
  45. include/uapi/linux/tc_act/tc_tunnel_key.h +1 −0
  46. include/uapi/linux/tcp.h +8 −2
  47. include/uapi/linux/tls.h +79 −0
  48. include/uapi/linux/tty.h +2 −0
  49. include/uapi/linux/usb/audio.h +3 −3
  50. include/uapi/linux/usb/functionfs.h +4 −3
  51. include/uapi/linux/usbdevice_fs.h +6 −0
  52. include/uapi/linux/v4l2-controls.h +10 −1
  53. include/uapi/linux/videodev2.h +3 −0
  54. include/uapi/linux/vtpm_proxy.h +4 −0
  55. include/uapi/linux/wil6210_uapi.h +0 −87
  56. include/uapi/scsi/cxlflash_ioctl.h +83 −2
  57. include/uapi/sound/asoc.h +9 −1
  58. include/uapi/sound/asound.h +3 −1
  59. include/uapi/sound/snd_sst_tokens.h +6 −2
include/uapi/asm-generic/ioctls.h+1−0
@@ -77,6 +77,7 @@ · 76 unmodified lines
77#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */77#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */
78#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */78#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */
79#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */79#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */
80#define TIOCGPTPEER _IO('T', 0x41) /* Safely open the slave */
80 81
81#define FIONCLEX 0x545082#define FIONCLEX 0x5450
82#define FIOCLEX 0x545183#define FIOCLEX 0x5451
include/uapi/asm-generic/socket.h+4−0
@@ -100,4 +100,8 @@ · 99 unmodified lines
100 100
101#define SO_COOKIE 57101#define SO_COOKIE 57
102 102
103#define SCM_TIMESTAMPING_PKTINFO 58
104
105#define SO_PEERGROUPS 59
106
103#endif /* __ASM_GENERIC_SOCKET_H */107#endif /* __ASM_GENERIC_SOCKET_H */
include/uapi/drm/amdgpu_drm.h+37−1
@@ -51,6 +51,7 @@ extern "C" { · 50 unmodified lines
51#define DRM_AMDGPU_GEM_OP 0x1051#define DRM_AMDGPU_GEM_OP 0x10
52#define DRM_AMDGPU_GEM_USERPTR 0x1152#define DRM_AMDGPU_GEM_USERPTR 0x11
53#define DRM_AMDGPU_WAIT_FENCES 0x1253#define DRM_AMDGPU_WAIT_FENCES 0x12
54#define DRM_AMDGPU_VM 0x13
54 55
55#define DRM_IOCTL_AMDGPU_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_CREATE, union drm_amdgpu_gem_create)56#define DRM_IOCTL_AMDGPU_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_CREATE, union drm_amdgpu_gem_create)
56#define DRM_IOCTL_AMDGPU_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_MMAP, union drm_amdgpu_gem_mmap)57#define DRM_IOCTL_AMDGPU_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_MMAP, union drm_amdgpu_gem_mmap)
@@ -65,6 +66,7 @@ extern "C" { · 8 unmodified lines
65#define DRM_IOCTL_AMDGPU_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_OP, struct drm_amdgpu_gem_op)66#define DRM_IOCTL_AMDGPU_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_OP, struct drm_amdgpu_gem_op)
66#define DRM_IOCTL_AMDGPU_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_USERPTR, struct drm_amdgpu_gem_userptr)67#define DRM_IOCTL_AMDGPU_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_USERPTR, struct drm_amdgpu_gem_userptr)
67#define DRM_IOCTL_AMDGPU_WAIT_FENCES DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_WAIT_FENCES, union drm_amdgpu_wait_fences)68#define DRM_IOCTL_AMDGPU_WAIT_FENCES DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_WAIT_FENCES, union drm_amdgpu_wait_fences)
69#define DRM_IOCTL_AMDGPU_VM DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_VM, union drm_amdgpu_vm)
68 70
69#define AMDGPU_GEM_DOMAIN_CPU 0x171#define AMDGPU_GEM_DOMAIN_CPU 0x1
70#define AMDGPU_GEM_DOMAIN_GTT 0x272#define AMDGPU_GEM_DOMAIN_GTT 0x2
@@ -190,6 +192,26 @@ union drm_amdgpu_ctx { · 119 unmodified lines
190 union drm_amdgpu_ctx_out out;192 union drm_amdgpu_ctx_out out;
191};193};
192 194
195/* vm ioctl */
196#define AMDGPU_VM_OP_RESERVE_VMID 1
197#define AMDGPU_VM_OP_UNRESERVE_VMID 2
198
199struct drm_amdgpu_vm_in {
200 /** AMDGPU_VM_OP_* */
201 __u32 op;
202 __u32 flags;
203};
204
205struct drm_amdgpu_vm_out {
206 /** For future use, no flags defined so far */
207 __u64 flags;
208};
209
210union drm_amdgpu_vm {
211 struct drm_amdgpu_vm_in in;
212 struct drm_amdgpu_vm_out out;
213};
214
193/*215/*
194 * This is not a reliable API and you should expect it to fail for any216 * This is not a reliable API and you should expect it to fail for any
195 * number of reasons and have fallback path that do not use userptr to217 * number of reasons and have fallback path that do not use userptr to
@@ -409,13 +431,17 @@ struct drm_amdgpu_gem_va { · 213 unmodified lines
409#define AMDGPU_HW_IP_UVD 3431#define AMDGPU_HW_IP_UVD 3
410#define AMDGPU_HW_IP_VCE 4432#define AMDGPU_HW_IP_VCE 4
411#define AMDGPU_HW_IP_UVD_ENC 5433#define AMDGPU_HW_IP_UVD_ENC 5
412#define AMDGPU_HW_IP_NUM 6434#define AMDGPU_HW_IP_VCN_DEC 6
435#define AMDGPU_HW_IP_VCN_ENC 7
436#define AMDGPU_HW_IP_NUM 8
413 437
414#define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1438#define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1
415 439
416#define AMDGPU_CHUNK_ID_IB 0x01440#define AMDGPU_CHUNK_ID_IB 0x01
417#define AMDGPU_CHUNK_ID_FENCE 0x02441#define AMDGPU_CHUNK_ID_FENCE 0x02
418#define AMDGPU_CHUNK_ID_DEPENDENCIES 0x03442#define AMDGPU_CHUNK_ID_DEPENDENCIES 0x03
443#define AMDGPU_CHUNK_ID_SYNCOBJ_IN 0x04
444#define AMDGPU_CHUNK_ID_SYNCOBJ_OUT 0x05
419 445
420struct drm_amdgpu_cs_chunk {446struct drm_amdgpu_cs_chunk {
421 __u32 chunk_id;447 __u32 chunk_id;
@@ -483,6 +509,10 @@ struct drm_amdgpu_cs_chunk_fence { · 61 unmodified lines
483 __u32 offset;509 __u32 offset;
484};510};
485 511
512struct drm_amdgpu_cs_chunk_sem {
513 __u32 handle;
514};
515
486struct drm_amdgpu_cs_chunk_data {516struct drm_amdgpu_cs_chunk_data {
487 union {517 union {
488 struct drm_amdgpu_cs_chunk_ib ib_data;518 struct drm_amdgpu_cs_chunk_ib ib_data;
@@ -579,6 +609,8 @@ struct drm_amdgpu_cs_chunk_data { · 90 unmodified lines
579 #define AMDGPU_INFO_SENSOR_VDDNB 0x6609 #define AMDGPU_INFO_SENSOR_VDDNB 0x6
580 /* Subquery id: Query graphics voltage */610 /* Subquery id: Query graphics voltage */
581 #define AMDGPU_INFO_SENSOR_VDDGFX 0x7611 #define AMDGPU_INFO_SENSOR_VDDGFX 0x7
612/* Number of VRAM page faults on CPU access. */
613#define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E
582 614
583#define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0615#define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0
584#define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff616#define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff
@@ -732,6 +764,7 @@ struct drm_amdgpu_info_device { · 147 unmodified lines
732 __u64 max_memory_clock;764 __u64 max_memory_clock;
733 /* cu information */765 /* cu information */
734 __u32 cu_active_number;766 __u32 cu_active_number;
767 /* NOTE: cu_ao_mask is INVALID, DON'T use it */
735 __u32 cu_ao_mask;768 __u32 cu_ao_mask;
736 __u32 cu_bitmap[4][4];769 __u32 cu_bitmap[4][4];
737 /** Render backend pipe mask. One render backend is CB+DB. */770 /** Render backend pipe mask. One render backend is CB+DB. */
@@ -786,6 +819,8 @@ struct drm_amdgpu_info_device { · 48 unmodified lines
786 /* max gs wavefront per vgt*/819 /* max gs wavefront per vgt*/
787 __u32 max_gs_waves_per_vgt;820 __u32 max_gs_waves_per_vgt;
788 __u32 _pad1;821 __u32 _pad1;
822 /* always on cu bitmap */
823 __u32 cu_ao_bitmap[4][4];
789};824};
790 825
791struct drm_amdgpu_info_hw_ip {826struct drm_amdgpu_info_hw_ip {
@@ -838,6 +873,7 @@ struct drm_amdgpu_info_vce_clock_table { · 46 unmodified lines
838#define AMDGPU_FAMILY_VI 130 /* Iceland, Tonga */873#define AMDGPU_FAMILY_VI 130 /* Iceland, Tonga */
839#define AMDGPU_FAMILY_CZ 135 /* Carrizo, Stoney */874#define AMDGPU_FAMILY_CZ 135 /* Carrizo, Stoney */
840#define AMDGPU_FAMILY_AI 141 /* Vega10 */875#define AMDGPU_FAMILY_AI 141 /* Vega10 */
876#define AMDGPU_FAMILY_RV 142 /* Raven */
841 877
842#if defined(__cplusplus)878#if defined(__cplusplus)
843}879}
include/uapi/drm/drm.h+26−0
@@ -648,6 +648,7 @@ struct drm_gem_open { · 647 unmodified lines
648#define DRM_CAP_ADDFB2_MODIFIERS 0x10648#define DRM_CAP_ADDFB2_MODIFIERS 0x10
649#define DRM_CAP_PAGE_FLIP_TARGET 0x11649#define DRM_CAP_PAGE_FLIP_TARGET 0x11
650#define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12650#define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12
651#define DRM_CAP_SYNCOBJ 0x13
651 652
652/** DRM_IOCTL_GET_CAP ioctl argument type */653/** DRM_IOCTL_GET_CAP ioctl argument type */
653struct drm_get_cap {654struct drm_get_cap {
@@ -697,6 +698,26 @@ struct drm_prime_handle { · 43 unmodified lines
697 __s32 fd;698 __s32 fd;
698};699};
699 700
701struct drm_syncobj_create {
702 __u32 handle;
703 __u32 flags;
704};
705
706struct drm_syncobj_destroy {
707 __u32 handle;
708 __u32 pad;
709};
710
711#define DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE (1 << 0)
712#define DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE (1 << 0)
713struct drm_syncobj_handle {
714 __u32 handle;
715 __u32 flags;
716
717 __s32 fd;
718 __u32 pad;
719};
720
700#if defined(__cplusplus)721#if defined(__cplusplus)
701}722}
702#endif723#endif
@@ -815,6 +836,11 @@ extern "C" { · 112 unmodified lines
815#define DRM_IOCTL_MODE_CREATEPROPBLOB DRM_IOWR(0xBD, struct drm_mode_create_blob)836#define DRM_IOCTL_MODE_CREATEPROPBLOB DRM_IOWR(0xBD, struct drm_mode_create_blob)
816#define DRM_IOCTL_MODE_DESTROYPROPBLOB DRM_IOWR(0xBE, struct drm_mode_destroy_blob)837#define DRM_IOCTL_MODE_DESTROYPROPBLOB DRM_IOWR(0xBE, struct drm_mode_destroy_blob)
817 838
839#define DRM_IOCTL_SYNCOBJ_CREATE DRM_IOWR(0xBF, struct drm_syncobj_create)
840#define DRM_IOCTL_SYNCOBJ_DESTROY DRM_IOWR(0xC0, struct drm_syncobj_destroy)
841#define DRM_IOCTL_SYNCOBJ_HANDLE_TO_FD DRM_IOWR(0xC1, struct drm_syncobj_handle)
842#define DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE DRM_IOWR(0xC2, struct drm_syncobj_handle)
843
818/**844/**
819 * Device specific ioctls should only be in their respective headers845 * Device specific ioctls should only be in their respective headers
820 * The device specific ioctl range is from 0x40 to 0x9f.846 * The device specific ioctl range is from 0x40 to 0x9f.
include/uapi/drm/drm_fourcc.h+22−1
@@ -182,6 +182,7 @@ extern "C" { · 181 unmodified lines
182#define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04182#define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04
183#define DRM_FORMAT_MOD_VENDOR_QCOM 0x05183#define DRM_FORMAT_MOD_VENDOR_QCOM 0x05
184#define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06184#define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06
185#define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07
185/* add more to the end as needed */186/* add more to the end as needed */
186 187
187#define fourcc_mod_code(vendor, val) \188#define fourcc_mod_code(vendor, val) \
@@ -306,7 +307,6 @@ extern "C" { · 118 unmodified lines
306 */307 */
307#define DRM_FORMAT_MOD_VIVANTE_SPLIT_SUPER_TILED fourcc_mod_code(VIVANTE, 4)308#define DRM_FORMAT_MOD_VIVANTE_SPLIT_SUPER_TILED fourcc_mod_code(VIVANTE, 4)
308 309
309
310/* NVIDIA Tegra frame buffer modifiers */310/* NVIDIA Tegra frame buffer modifiers */
311 311
312/*312/*
@@ -351,6 +351,27 @@ extern "C" { · 38 unmodified lines
351 */351 */
352#define NV_FORMAT_MOD_TEGRA_16BX2_BLOCK(v) fourcc_mod_tegra_code(2, v)352#define NV_FORMAT_MOD_TEGRA_16BX2_BLOCK(v) fourcc_mod_tegra_code(2, v)
353 353
354/*
355 * Broadcom VC4 "T" format
356 *
357 * This is the primary layout that the V3D GPU can texture from (it
358 * can't do linear). The T format has:
359 *
360 * - 64b utiles of pixels in a raster-order grid according to cpp. It's 4x4
361 * pixels at 32 bit depth.
362 *
363 * - 1k subtiles made of a 4x4 raster-order grid of 64b utiles (so usually
364 * 16x16 pixels).
365 *
366 * - 4k tiles made of a 2x2 grid of 1k subtiles (so usually 32x32 pixels). On
367 * even 4k tile rows, they're arranged as (BL, TL, TR, BR), and on odd rows
368 * they're (TR, BR, BL, TL), where bottom left is start of memory.
369 *
370 * - an image made of 4k tiles in rows either left-to-right (even rows of 4k
371 * tiles) or right-to-left (odd rows of 4k tiles).
372 */
373#define DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED fourcc_mod_code(BROADCOM, 1)
374
354#if defined(__cplusplus)375#if defined(__cplusplus)
355}376}
356#endif377#endif
include/uapi/drm/drm_mode.h+48−1
@@ -75,7 +75,7 @@ extern "C" { · 74 unmodified lines
75 * (define not exposed to user space).75 * (define not exposed to user space).
76 */76 */
77#define DRM_MODE_FLAG_3D_MASK (0x1f<<14)77#define DRM_MODE_FLAG_3D_MASK (0x1f<<14)
78#define DRM_MODE_FLAG_3D_NONE (0<<14)78#define DRM_MODE_FLAG_3D_NONE (0<<14)
79#define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14)79#define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14)
80#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14)80#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14)
81#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14)81#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14)
@@ -127,6 +127,53 @@ extern "C" { · 45 unmodified lines
127#define DRM_MODE_LINK_STATUS_GOOD 0127#define DRM_MODE_LINK_STATUS_GOOD 0
128#define DRM_MODE_LINK_STATUS_BAD 1128#define DRM_MODE_LINK_STATUS_BAD 1
129 129
130/*
131 * DRM_MODE_ROTATE_<degrees>
132 *
133 * Signals that a drm plane is been rotated <degrees> degrees in counter
134 * clockwise direction.
135 *
136 * This define is provided as a convenience, looking up the property id
137 * using the name->prop id lookup is the preferred method.
138 */
139#define DRM_MODE_ROTATE_0 (1<<0)
140#define DRM_MODE_ROTATE_90 (1<<1)
141#define DRM_MODE_ROTATE_180 (1<<2)
142#define DRM_MODE_ROTATE_270 (1<<3)
143
144/*
145 * DRM_MODE_ROTATE_MASK
146 *
147 * Bitmask used to look for drm plane rotations.
148 */
149#define DRM_MODE_ROTATE_MASK (\
150 DRM_MODE_ROTATE_0 | \
151 DRM_MODE_ROTATE_90 | \
152 DRM_MODE_ROTATE_180 | \
153 DRM_MODE_ROTATE_270)
154
155/*
156 * DRM_MODE_REFLECT_<axis>
157 *
158 * Signals that the contents of a drm plane is reflected in the <axis> axis,
159 * in the same way as mirroring.
160 *
161 * This define is provided as a convenience, looking up the property id
162 * using the name->prop id lookup is the preferred method.
163 */
164#define DRM_MODE_REFLECT_X (1<<4)
165#define DRM_MODE_REFLECT_Y (1<<5)
166
167/*
168 * DRM_MODE_REFLECT_MASK
169 *
170 * Bitmask used to look for drm plane reflections.
171 */
172#define DRM_MODE_REFLECT_MASK (\
173 DRM_MODE_REFLECT_X | \
174 DRM_MODE_REFLECT_Y)
175
176
130struct drm_mode_modeinfo {177struct drm_mode_modeinfo {
131 __u32 clock;178 __u32 clock;
132 __u16 hdisplay;179 __u16 hdisplay;
include/uapi/drm/i915_drm.h+52−9
@@ -412,6 +412,25 @@ typedef struct drm_i915_irq_wait { · 411 unmodified lines
412 */412 */
413#define I915_PARAM_HAS_EXEC_FENCE 44413#define I915_PARAM_HAS_EXEC_FENCE 44
414 414
415/* Query whether DRM_I915_GEM_EXECBUFFER2 supports the ability to capture
416 * user specified bufffers for post-mortem debugging of GPU hangs. See
417 * EXEC_OBJECT_CAPTURE.
418 */
419#define I915_PARAM_HAS_EXEC_CAPTURE 45
420
421#define I915_PARAM_SLICE_MASK 46
422
423/* Assuming it's uniform for each slice, this queries the mask of subslices
424 * per-slice for this system.
425 */
426#define I915_PARAM_SUBSLICE_MASK 47
427
428/*
429 * Query whether DRM_I915_GEM_EXECBUFFER2 supports supplying the batch buffer
430 * as the first execobject as opposed to the last. See I915_EXEC_BATCH_FIRST.
431 */
432#define I915_PARAM_HAS_EXEC_BATCH_FIRST 48
433
415typedef struct drm_i915_getparam {434typedef struct drm_i915_getparam {
416 __s32 param;435 __s32 param;
417 /*436 /*
@@ -666,6 +685,8 @@ struct drm_i915_gem_relocation_entry { · 248 unmodified lines
666#define I915_GEM_DOMAIN_VERTEX 0x00000020685#define I915_GEM_DOMAIN_VERTEX 0x00000020
667/** GTT domain - aperture and scanout */686/** GTT domain - aperture and scanout */
668#define I915_GEM_DOMAIN_GTT 0x00000040687#define I915_GEM_DOMAIN_GTT 0x00000040
688/** WC domain - uncached access */
689#define I915_GEM_DOMAIN_WC 0x00000080
669/** @} */690/** @} */
670 691
671struct drm_i915_gem_exec_object {692struct drm_i915_gem_exec_object {
@@ -773,8 +794,15 @@ struct drm_i915_gem_exec_object2 { · 101 unmodified lines
773 * I915_PARAM_HAS_EXEC_FENCE to order execbufs and execute them asynchronously.794 * I915_PARAM_HAS_EXEC_FENCE to order execbufs and execute them asynchronously.
774 */795 */
775#define EXEC_OBJECT_ASYNC (1<<6)796#define EXEC_OBJECT_ASYNC (1<<6)
797/* Request that the contents of this execobject be copied into the error
798 * state upon a GPU hang involving this batch for post-mortem debugging.
799 * These buffers are recorded in no particular order as "user" in
800 * /sys/class/drm/cardN/error. Query I915_PARAM_HAS_EXEC_CAPTURE to see
801 * if the kernel supports this flag.
802 */
803#define EXEC_OBJECT_CAPTURE (1<<7)
776/* All remaining bits are MBZ and RESERVED FOR FUTURE USE */804/* All remaining bits are MBZ and RESERVED FOR FUTURE USE */
777#define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_ASYNC<<1)805#define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_CAPTURE<<1)
778 __u64 flags;806 __u64 flags;
779 807
780 union {808 union {
@@ -889,7 +917,17 @@ struct drm_i915_gem_execbuffer2 { · 108 unmodified lines
889 */917 */
890#define I915_EXEC_FENCE_OUT (1<<17)918#define I915_EXEC_FENCE_OUT (1<<17)
891 919
892#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_OUT<<1))920/*
921 * Traditionally the execbuf ioctl has only considered the final element in
922 * the execobject[] to be the executable batch. Often though, the client
923 * will known the batch object prior to construction and being able to place
924 * it into the execobject[] array first can simplify the relocation tracking.
925 * Setting I915_EXEC_BATCH_FIRST tells execbuf to use element 0 of the
926 * execobject[] as the * batch instead (the default is to use the last
927 * element).
928 */
929#define I915_EXEC_BATCH_FIRST (1<<18)
930#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_BATCH_FIRST<<1))
893 931
894#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)932#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
895#define i915_execbuffer2_set_context_id(eb2, context) \933#define i915_execbuffer2_set_context_id(eb2, context) \
@@ -1293,13 +1331,18 @@ struct drm_i915_gem_context_param { · 397 unmodified lines
1293};1331};
1294 1332
1295enum drm_i915_oa_format {1333enum drm_i915_oa_format {
1296 I915_OA_FORMAT_A13 = 1,1334 I915_OA_FORMAT_A13 = 1, /* HSW only */
1297 I915_OA_FORMAT_A29,1335 I915_OA_FORMAT_A29, /* HSW only */
1298 I915_OA_FORMAT_A13_B8_C8,1336 I915_OA_FORMAT_A13_B8_C8, /* HSW only */
1299 I915_OA_FORMAT_B4_C8,1337 I915_OA_FORMAT_B4_C8, /* HSW only */
1300 I915_OA_FORMAT_A45_B8_C8,1338 I915_OA_FORMAT_A45_B8_C8, /* HSW only */
1301 I915_OA_FORMAT_B4_C8_A16,1339 I915_OA_FORMAT_B4_C8_A16, /* HSW only */
1302 I915_OA_FORMAT_C4_B8,1340 I915_OA_FORMAT_C4_B8, /* HSW+ */
1341
1342 /* Gen8+ */
1343 I915_OA_FORMAT_A12,
1344 I915_OA_FORMAT_A12_B8_C8,
1345 I915_OA_FORMAT_A32u40_A4u32_B8_C8,
1303 1346
1304 I915_OA_FORMAT_MAX /* non-ABI */1347 I915_OA_FORMAT_MAX /* non-ABI */
1305};1348};
include/uapi/drm/msm_drm.h+6−3
@@ -104,10 +104,14 @@ struct drm_msm_gem_new { · 103 unmodified lines
104 __u32 handle; /* out */104 __u32 handle; /* out */
105};105};
106 106
107#define MSM_INFO_IOVA 0x01
108
109#define MSM_INFO_FLAGS (MSM_INFO_IOVA)
110
107struct drm_msm_gem_info {111struct drm_msm_gem_info {
108 __u32 handle; /* in */112 __u32 handle; /* in */
109 __u32 pad;113 __u32 flags; /* in - combination of MSM_INFO_* flags */
110 __u64 offset; /* out, offset to pass to mmap() */114 __u64 offset; /* out, mmap() offset or iova */
111};115};
112 116
113#define MSM_PREP_READ 0x01117#define MSM_PREP_READ 0x01
@@ -261,7 +265,6 @@ struct drm_msm_gem_madvise { · 147 unmodified lines
261#define DRM_MSM_GEM_SUBMIT 0x06265#define DRM_MSM_GEM_SUBMIT 0x06
262#define DRM_MSM_WAIT_FENCE 0x07266#define DRM_MSM_WAIT_FENCE 0x07
263#define DRM_MSM_GEM_MADVISE 0x08267#define DRM_MSM_GEM_MADVISE 0x08
264#define DRM_MSM_NUM_IOCTLS 0x09
265 268
266#define DRM_IOCTL_MSM_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GET_PARAM, struct drm_msm_param)269#define DRM_IOCTL_MSM_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GET_PARAM, struct drm_msm_param)
267#define DRM_IOCTL_MSM_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_NEW, struct drm_msm_gem_new)270#define DRM_IOCTL_MSM_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_NEW, struct drm_msm_gem_new)
include/uapi/drm/omap_drm.h+2−2
@@ -106,8 +106,8 @@ struct drm_omap_gem_info { · 105 unmodified lines
106#define DRM_OMAP_GET_PARAM 0x00106#define DRM_OMAP_GET_PARAM 0x00
107#define DRM_OMAP_SET_PARAM 0x01107#define DRM_OMAP_SET_PARAM 0x01
108#define DRM_OMAP_GEM_NEW 0x03108#define DRM_OMAP_GEM_NEW 0x03
109#define DRM_OMAP_GEM_CPU_PREP 0x04109#define DRM_OMAP_GEM_CPU_PREP 0x04 /* Deprecated, to be removed */
110#define DRM_OMAP_GEM_CPU_FINI 0x05110#define DRM_OMAP_GEM_CPU_FINI 0x05 /* Deprecated, to be removed */
111#define DRM_OMAP_GEM_INFO 0x06111#define DRM_OMAP_GEM_INFO 0x06
112#define DRM_OMAP_NUM_IOCTLS 0x07112#define DRM_OMAP_NUM_IOCTLS 0x07
113 113
include/uapi/drm/vc4_drm.h+16−0
@@ -38,6 +38,8 @@ extern "C" { · 37 unmodified lines
38#define DRM_VC4_CREATE_SHADER_BO 0x0538#define DRM_VC4_CREATE_SHADER_BO 0x05
39#define DRM_VC4_GET_HANG_STATE 0x0639#define DRM_VC4_GET_HANG_STATE 0x06
40#define DRM_VC4_GET_PARAM 0x0740#define DRM_VC4_GET_PARAM 0x07
41#define DRM_VC4_SET_TILING 0x08
42#define DRM_VC4_GET_TILING 0x09
41 43
42#define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl)44#define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl)
43#define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno)45#define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno)
@@ -47,6 +49,8 @@ extern "C" { · 3 unmodified lines
47#define DRM_IOCTL_VC4_CREATE_SHADER_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_CREATE_SHADER_BO, struct drm_vc4_create_shader_bo)49#define DRM_IOCTL_VC4_CREATE_SHADER_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_CREATE_SHADER_BO, struct drm_vc4_create_shader_bo)
48#define DRM_IOCTL_VC4_GET_HANG_STATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_HANG_STATE, struct drm_vc4_get_hang_state)50#define DRM_IOCTL_VC4_GET_HANG_STATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_HANG_STATE, struct drm_vc4_get_hang_state)
49#define DRM_IOCTL_VC4_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_PARAM, struct drm_vc4_get_param)51#define DRM_IOCTL_VC4_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_PARAM, struct drm_vc4_get_param)
52#define DRM_IOCTL_VC4_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SET_TILING, struct drm_vc4_set_tiling)
53#define DRM_IOCTL_VC4_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_TILING, struct drm_vc4_get_tiling)
50 54
51struct drm_vc4_submit_rcl_surface {55struct drm_vc4_submit_rcl_surface {
52 __u32 hindex; /* Handle index, or ~0 if not present. */56 __u32 hindex; /* Handle index, or ~0 if not present. */
@@ -295,6 +299,18 @@ struct drm_vc4_get_param { · 242 unmodified lines
295 __u64 value;299 __u64 value;
296};300};
297 301
302struct drm_vc4_get_tiling {
303 __u32 handle;
304 __u32 flags;
305 __u64 modifier;
306};
307
308struct drm_vc4_set_tiling {
309 __u32 handle;
310 __u32 flags;
311 __u64 modifier;
312};
313
298#if defined(__cplusplus)314#if defined(__cplusplus)
299}315}
300#endif316#endif
include/uapi/linux/auto_fs.h+2−2
@@ -26,7 +26,7 @@ · 25 unmodified lines
26#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION26#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
27 27
28/*28/*
29 * The wait_queue_entry_token (autofs_wqt_t) is part of a structure which is passed29 * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
30 * back to the kernel via ioctl from userspace. On architectures where 32- and30 * back to the kernel via ioctl from userspace. On architectures where 32- and
31 * 64-bit userspace binaries can be executed it's important that the size of31 * 64-bit userspace binaries can be executed it's important that the size of
32 * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we32 * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
@@ -49,7 +49,7 @@ struct autofs_packet_hdr { · 16 unmodified lines
49 49
50struct autofs_packet_missing {50struct autofs_packet_missing {
51 struct autofs_packet_hdr hdr;51 struct autofs_packet_hdr hdr;
52 autofs_wqt_t wait_queue_entry_token;52 autofs_wqt_t wait_queue_token;
53 int len;53 int len;
54 char name[NAME_MAX+1];54 char name[NAME_MAX+1];
55}; 55};
include/uapi/linux/auto_fs4.h+2−2
@@ -108,7 +108,7 @@ enum autofs_notify { · 107 unmodified lines
108/* v4 multi expire (via pipe) */108/* v4 multi expire (via pipe) */
109struct autofs_packet_expire_multi {109struct autofs_packet_expire_multi {
110 struct autofs_packet_hdr hdr;110 struct autofs_packet_hdr hdr;
111 autofs_wqt_t wait_queue_entry_token;111 autofs_wqt_t wait_queue_token;
112 int len;112 int len;
113 char name[NAME_MAX+1];113 char name[NAME_MAX+1];
114};114};
@@ -123,7 +123,7 @@ union autofs_packet_union { · 8 unmodified lines
123/* autofs v5 common packet struct */123/* autofs v5 common packet struct */
124struct autofs_v5_packet {124struct autofs_v5_packet {
125 struct autofs_packet_hdr hdr;125 struct autofs_packet_hdr hdr;
126 autofs_wqt_t wait_queue_entry_token;126 autofs_wqt_t wait_queue_token;
127 __u32 dev;127 __u32 dev;
128 __u64 ino;128 __u64 ino;
129 __u32 uid;129 __u32 uid;
include/uapi/linux/bpf.h+135−5
@@ -82,6 +82,11 @@ enum bpf_cmd { · 81 unmodified lines
82 BPF_PROG_ATTACH,82 BPF_PROG_ATTACH,
83 BPF_PROG_DETACH,83 BPF_PROG_DETACH,
84 BPF_PROG_TEST_RUN,84 BPF_PROG_TEST_RUN,
85 BPF_PROG_GET_NEXT_ID,
86 BPF_MAP_GET_NEXT_ID,
87 BPF_PROG_GET_FD_BY_ID,
88 BPF_MAP_GET_FD_BY_ID,
89 BPF_OBJ_GET_INFO_BY_FD,
85};90};
86 91
87enum bpf_map_type {92enum bpf_map_type {
@@ -115,12 +120,14 @@ enum bpf_prog_type { · 27 unmodified lines
115 BPF_PROG_TYPE_LWT_IN,120 BPF_PROG_TYPE_LWT_IN,
116 BPF_PROG_TYPE_LWT_OUT,121 BPF_PROG_TYPE_LWT_OUT,
117 BPF_PROG_TYPE_LWT_XMIT,122 BPF_PROG_TYPE_LWT_XMIT,
123 BPF_PROG_TYPE_SOCK_OPS,
118};124};
119 125
120enum bpf_attach_type {126enum bpf_attach_type {
121 BPF_CGROUP_INET_INGRESS,127 BPF_CGROUP_INET_INGRESS,
122 BPF_CGROUP_INET_EGRESS,128 BPF_CGROUP_INET_EGRESS,
123 BPF_CGROUP_INET_SOCK_CREATE,129 BPF_CGROUP_INET_SOCK_CREATE,
130 BPF_CGROUP_SOCK_OPS,
124 __MAX_BPF_ATTACH_TYPE131 __MAX_BPF_ATTACH_TYPE
125};132};
126 133
@@ -209,6 +216,21 @@ union bpf_attr { · 82 unmodified lines
209 __u32 repeat;216 __u32 repeat;
210 __u32 duration;217 __u32 duration;
211 } test;218 } test;
219
220 struct { /* anonymous struct used by BPF_*_GET_*_ID */
221 union {
222 __u32 start_id;
223 __u32 prog_id;
224 __u32 map_id;
225 };
226 __u32 next_id;
227 };
228
229 struct { /* anonymous struct used by BPF_OBJ_GET_INFO_BY_FD */
230 __u32 bpf_fd;
231 __u32 info_len;
232 __aligned_u64 info;
233 } info;
212} __attribute__((aligned(8)));234} __attribute__((aligned(8)));
213 235
214/* BPF helper function descriptions:236/* BPF helper function descriptions:
@@ -313,8 +335,11 @@ union bpf_attr { · 98 unmodified lines
313 * @flags: room for future extensions335 * @flags: room for future extensions
314 * Return: 0 on success or negative error336 * Return: 0 on success or negative error
315 *337 *
316 * u64 bpf_perf_event_read(&map, index)338 * u64 bpf_perf_event_read(map, flags)
317 * Return: Number events read or error code339 * read perf event counter value
340 * @map: pointer to perf_event_array map
341 * @flags: index of event in the map or bitmask flags
342 * Return: value of perf event counter read or error code
318 *343 *
319 * int bpf_redirect(ifindex, flags)344 * int bpf_redirect(ifindex, flags)
320 * redirect to another netdev345 * redirect to another netdev
@@ -328,11 +353,11 @@ union bpf_attr { · 7 unmodified lines
328 * @skb: pointer to skb353 * @skb: pointer to skb
329 * Return: realm if != 0354 * Return: realm if != 0
330 *355 *
331 * int bpf_perf_event_output(ctx, map, index, data, size)356 * int bpf_perf_event_output(ctx, map, flags, data, size)
332 * output perf raw sample357 * output perf raw sample
333 * @ctx: struct pt_regs*358 * @ctx: struct pt_regs*
334 * @map: pointer to perf_event_array map359 * @map: pointer to perf_event_array map
335 * @index: index of event in the map360 * @flags: index of event in the map or bitmask flags
336 * @data: data on stack to be output as raw data361 * @data: data on stack to be output as raw data
337 * @size: size of data362 * @size: size of data
338 * Return: 0 on success or negative error363 * Return: 0 on success or negative error
@@ -490,6 +515,30 @@ union bpf_attr { · 151 unmodified lines
490 * Get the owner uid of the socket stored inside sk_buff.515 * Get the owner uid of the socket stored inside sk_buff.
491 * @skb: pointer to skb516 * @skb: pointer to skb
492 * Return: uid of the socket owner on success or overflowuid if failed.517 * Return: uid of the socket owner on success or overflowuid if failed.
518 *
519 * u32 bpf_set_hash(skb, hash)
520 * Set full skb->hash.
521 * @skb: pointer to skb
522 * @hash: hash to set
523 *
524 * int bpf_setsockopt(bpf_socket, level, optname, optval, optlen)
525 * Calls setsockopt. Not all opts are available, only those with
526 * integer optvals plus TCP_CONGESTION.
527 * Supported levels: SOL_SOCKET and IPROTO_TCP
528 * @bpf_socket: pointer to bpf_socket
529 * @level: SOL_SOCKET or IPROTO_TCP
530 * @optname: option name
531 * @optval: pointer to option value
532 * @optlen: length of optval in byes
533 * Return: 0 or negative error
534 *
535 * int bpf_skb_adjust_room(skb, len_diff, mode, flags)
536 * Grow or shrink room in sk_buff.
537 * @skb: pointer to skb
538 * @len_diff: (signed) amount of room to grow/shrink
539 * @mode: operation mode (enum bpf_adj_room_mode)
540 * @flags: reserved for future use
541 * Return: 0 on success or negative error code
493 */542 */
494#define __BPF_FUNC_MAPPER(FN) \543#define __BPF_FUNC_MAPPER(FN) \
495 FN(unspec), \544 FN(unspec), \
@@ -539,7 +588,10 @@ union bpf_attr { · 43 unmodified lines
539 FN(xdp_adjust_head), \588 FN(xdp_adjust_head), \
540 FN(probe_read_str), \589 FN(probe_read_str), \
541 FN(get_socket_cookie), \590 FN(get_socket_cookie), \
542 FN(get_socket_uid),591 FN(get_socket_uid), \
592 FN(set_hash), \
593 FN(setsockopt), \
594 FN(skb_adjust_room),
543 595
544/* integer value in 'imm' field of BPF_CALL instruction selects which helper596/* integer value in 'imm' field of BPF_CALL instruction selects which helper
545 * function eBPF program intends to call597 * function eBPF program intends to call
@@ -589,6 +641,11 @@ enum bpf_func_id { · 43 unmodified lines
589/* BPF_FUNC_perf_event_output for sk_buff input context. */641/* BPF_FUNC_perf_event_output for sk_buff input context. */
590#define BPF_F_CTXLEN_MASK (0xfffffULL << 32)642#define BPF_F_CTXLEN_MASK (0xfffffULL << 32)
591 643
644/* Mode for BPF_FUNC_skb_adjust_room helper. */
645enum bpf_adj_room_mode {
646 BPF_ADJ_ROOM_NET,
647};
648
592/* user accessible mirror of in-kernel sk_buff.649/* user accessible mirror of in-kernel sk_buff.
593 * new fields can only be added to the end of this structure650 * new fields can only be added to the end of this structure
594 */651 */
@@ -670,4 +727,77 @@ struct xdp_md { · 75 unmodified lines
670 __u32 data_end;727 __u32 data_end;
671};728};
672 729
730#define BPF_TAG_SIZE 8
731
732struct bpf_prog_info {
733 __u32 type;
734 __u32 id;
735 __u8 tag[BPF_TAG_SIZE];
736 __u32 jited_prog_len;
737 __u32 xlated_prog_len;
738 __aligned_u64 jited_prog_insns;
739 __aligned_u64 xlated_prog_insns;
740} __attribute__((aligned(8)));
741
742struct bpf_map_info {
743 __u32 type;
744 __u32 id;
745 __u32 key_size;
746 __u32 value_size;
747 __u32 max_entries;
748 __u32 map_flags;
749} __attribute__((aligned(8)));
750
751/* User bpf_sock_ops struct to access socket values and specify request ops
752 * and their replies.
753 * Some of this fields are in network (bigendian) byte order and may need
754 * to be converted before use (bpf_ntohl() defined in samples/bpf/bpf_endian.h).
755 * New fields can only be added at the end of this structure
756 */
757struct bpf_sock_ops {
758 __u32 op;
759 union {
760 __u32 reply;
761 __u32 replylong[4];
762 };
763 __u32 family;
764 __u32 remote_ip4; /* Stored in network byte order */
765 __u32 local_ip4; /* Stored in network byte order */
766 __u32 remote_ip6[4]; /* Stored in network byte order */
767 __u32 local_ip6[4]; /* Stored in network byte order */
768 __u32 remote_port; /* Stored in network byte order */
769 __u32 local_port; /* stored in host byte order */
770};
771
772/* List of known BPF sock_ops operators.
773 * New entries can only be added at the end
774 */
775enum {
776 BPF_SOCK_OPS_VOID,
777 BPF_SOCK_OPS_TIMEOUT_INIT, /* Should return SYN-RTO value to use or
778 * -1 if default value should be used
779 */
780 BPF_SOCK_OPS_RWND_INIT, /* Should return initial advertized
781 * window (in packets) or -1 if default
782 * value should be used
783 */
784 BPF_SOCK_OPS_TCP_CONNECT_CB, /* Calls BPF program right before an
785 * active connection is initialized
786 */
787 BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB, /* Calls BPF program when an
788 * active connection is
789 * established
790 */
791 BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB, /* Calls BPF program when a
792 * passive connection is
793 * established
794 */
795 BPF_SOCK_OPS_NEEDS_ECN, /* If connection's congestion control
796 * needs ECN
797 */
798};
799
800#define TCP_BPF_IW 1001 /* Set TCP initial congestion window */
801#define TCP_BPF_SNDCWND_CLAMP 1002 /* Set sndcwnd_clamp */
802
673#endif /* _UAPI__LINUX_BPF_H__ */803#endif /* _UAPI__LINUX_BPF_H__ */
include/uapi/linux/btrfs.h+43−20
@@ -426,31 +426,54 @@ struct btrfs_ioctl_ino_lookup_args { · 425 unmodified lines
426 char name[BTRFS_INO_LOOKUP_PATH_MAX];426 char name[BTRFS_INO_LOOKUP_PATH_MAX];
427};427};
428 428
429/* Search criteria for the btrfs SEARCH ioctl family. */
429struct btrfs_ioctl_search_key {430struct btrfs_ioctl_search_key {
430 /* which root are we searching. 0 is the tree of tree roots */431 /*
431 __u64 tree_id;432 * The tree we're searching in. 1 is the tree of tree roots, 2 is the
432 433 * extent tree, etc...
433 /* keys returned will be >= min and <= max */434 *
434 __u64 min_objectid;435 * A special tree_id value of 0 will cause a search in the subvolume
435 __u64 max_objectid;436 * tree that the inode which is passed to the ioctl is part of.
436 437 */
437 /* keys returned will be >= min and <= max */438 __u64 tree_id; /* in */
438 __u64 min_offset;
439 __u64 max_offset;
440
441 /* max and min transids to search for */
442 __u64 min_transid;
443 __u64 max_transid;
444 439
445 /* keys returned will be >= min and <= max */440 /*
446 __u32 min_type;441 * When doing a tree search, we're actually taking a slice from a
447 __u32 max_type;442 * linear search space of 136-bit keys.
443 *
444 * A full 136-bit tree key is composed as:
445 * (objectid << 72) + (type << 64) + offset
446 *
447 * The individual min and max values for objectid, type and offset
448 * define the min_key and max_key values for the search range. All
449 * metadata items with a key in the interval [min_key, max_key] will be
450 * returned.
451 *
452 * Additionally, we can filter the items returned on transaction id of
453 * the metadata block they're stored in by specifying a transid range.
454 * Be aware that this transaction id only denotes when the metadata
455 * page that currently contains the item got written the last time as
456 * result of a COW operation. The number does not have any meaning
457 * related to the transaction in which an individual item that is being
458 * returned was created or changed.
459 */
460 __u64 min_objectid; /* in */
461 __u64 max_objectid; /* in */
462 __u64 min_offset; /* in */
463 __u64 max_offset; /* in */
464 __u64 min_transid; /* in */
465 __u64 max_transid; /* in */
466 __u32 min_type; /* in */
467 __u32 max_type; /* in */
448 468
449 /*469 /*
450 * how many items did userland ask for, and how many are we470 * input: The maximum amount of results desired.
451 * returning471 * output: The actual amount of items returned, restricted by any of:
472 * - reaching the upper bound of the search range
473 * - reaching the input nr_items amount of items
474 * - completely filling the supplied memory buffer
452 */475 */
453 __u32 nr_items;476 __u32 nr_items; /* in/out */
454 477
455 /* align to 64 bits */478 /* align to 64 bits */
456 __u32 unused;479 __u32 unused;
include/uapi/linux/cec.h+2−0
@@ -336,6 +336,8 @@ static inline int cec_is_unconfigured(__u16 log_addr_mask) · 335 unmodified lines
336#define CEC_CAP_RC (1 << 4)336#define CEC_CAP_RC (1 << 4)
337/* Hardware can monitor all messages, not just directed and broadcast. */337/* Hardware can monitor all messages, not just directed and broadcast. */
338#define CEC_CAP_MONITOR_ALL (1 << 5)338#define CEC_CAP_MONITOR_ALL (1 << 5)
339/* Hardware can use CEC only if the HDMI HPD pin is high. */
340#define CEC_CAP_NEEDS_HPD (1 << 6)
339 341
340/**342/**
341 * struct cec_caps - CEC capabilities structure.343 * struct cec_caps - CEC capabilities structure.
include/uapi/linux/dm-ioctl.h+3−1
@@ -240,7 +240,8 @@ enum { · 239 unmodified lines
240 /* Added later */240 /* Added later */
241 DM_LIST_VERSIONS_CMD,241 DM_LIST_VERSIONS_CMD,
242 DM_TARGET_MSG_CMD,242 DM_TARGET_MSG_CMD,
243 DM_DEV_SET_GEOMETRY_CMD243 DM_DEV_SET_GEOMETRY_CMD,
244 DM_DEV_ARM_POLL_CMD,
244};245};
245 246
246#define DM_IOCTL 0xfd247#define DM_IOCTL 0xfd
@@ -255,6 +256,7 @@ enum { · 8 unmodified lines
255#define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl)256#define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl)
256#define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl)257#define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl)
257#define DM_DEV_WAIT _IOWR(DM_IOCTL, DM_DEV_WAIT_CMD, struct dm_ioctl)258#define DM_DEV_WAIT _IOWR(DM_IOCTL, DM_DEV_WAIT_CMD, struct dm_ioctl)
259#define DM_DEV_ARM_POLL _IOWR(DM_IOCTL, DM_DEV_ARM_POLL_CMD, struct dm_ioctl)
258 260
259#define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl)261#define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl)
260#define DM_TABLE_CLEAR _IOWR(DM_IOCTL, DM_TABLE_CLEAR_CMD, struct dm_ioctl)262#define DM_TABLE_CLEAR _IOWR(DM_IOCTL, DM_TABLE_CLEAR_CMD, struct dm_ioctl)
include/uapi/linux/dvb/video.h+2−1
@@ -134,7 +134,8 @@ struct video_event { · 133 unmodified lines
134#define VIDEO_EVENT_FRAME_RATE_CHANGED 2134#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
135#define VIDEO_EVENT_DECODER_STOPPED 3135#define VIDEO_EVENT_DECODER_STOPPED 3
136#define VIDEO_EVENT_VSYNC 4136#define VIDEO_EVENT_VSYNC 4
137 __kernel_time_t timestamp;137 /* unused, make sure to use atomic time for y2038 if it ever gets used */
138 long timestamp;
138 union {139 union {
139 video_size_t size;140 video_size_t size;
140 unsigned int frame_rate; /* in frames per 1000sec */141 unsigned int frame_rate; /* in frames per 1000sec */
include/uapi/linux/fs.h+2−0
@@ -272,6 +272,8 @@ struct fsxattr { · 271 unmodified lines
272#define FS_ENCRYPTION_MODE_AES_256_GCM 2272#define FS_ENCRYPTION_MODE_AES_256_GCM 2
273#define FS_ENCRYPTION_MODE_AES_256_CBC 3273#define FS_ENCRYPTION_MODE_AES_256_CBC 3
274#define FS_ENCRYPTION_MODE_AES_256_CTS 4274#define FS_ENCRYPTION_MODE_AES_256_CTS 4
275#define FS_ENCRYPTION_MODE_AES_128_CBC 5
276#define FS_ENCRYPTION_MODE_AES_128_CTS 6
275 277
276struct fscrypt_policy {278struct fscrypt_policy {
277 __u8 version;279 __u8 version;
include/uapi/linux/if_link.h+18−2
@@ -157,6 +157,7 @@ enum { · 156 unmodified lines
157 IFLA_GSO_MAX_SIZE,157 IFLA_GSO_MAX_SIZE,
158 IFLA_PAD,158 IFLA_PAD,
159 IFLA_XDP,159 IFLA_XDP,
160 IFLA_EVENT,
160 __IFLA_MAX161 __IFLA_MAX
161};162};
162 163
@@ -890,15 +891,19 @@ enum { · 727 unmodified lines
890#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)891#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
891#define XDP_FLAGS_SKB_MODE (1U << 1)892#define XDP_FLAGS_SKB_MODE (1U << 1)
892#define XDP_FLAGS_DRV_MODE (1U << 2)893#define XDP_FLAGS_DRV_MODE (1U << 2)
894#define XDP_FLAGS_HW_MODE (1U << 3)
895#define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | \
896 XDP_FLAGS_DRV_MODE | \
897 XDP_FLAGS_HW_MODE)
893#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \898#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \
894 XDP_FLAGS_SKB_MODE | \899 XDP_FLAGS_MODES)
895 XDP_FLAGS_DRV_MODE)
896 900
897/* These are stored into IFLA_XDP_ATTACHED on dump. */901/* These are stored into IFLA_XDP_ATTACHED on dump. */
898enum {902enum {
899 XDP_ATTACHED_NONE = 0,903 XDP_ATTACHED_NONE = 0,
900 XDP_ATTACHED_DRV,904 XDP_ATTACHED_DRV,
901 XDP_ATTACHED_SKB,905 XDP_ATTACHED_SKB,
906 XDP_ATTACHED_HW,
902};907};
903 908
904enum {909enum {
@@ -906,9 +911,20 @@ enum { · 1 unmodified line
906 IFLA_XDP_FD,911 IFLA_XDP_FD,
907 IFLA_XDP_ATTACHED,912 IFLA_XDP_ATTACHED,
908 IFLA_XDP_FLAGS,913 IFLA_XDP_FLAGS,
914 IFLA_XDP_PROG_ID,
909 __IFLA_XDP_MAX,915 __IFLA_XDP_MAX,
910};916};
911 917
912#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)918#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
913 919
920enum {
921 IFLA_EVENT_NONE,
922 IFLA_EVENT_REBOOT, /* internal reset / reboot */
923 IFLA_EVENT_FEATURES, /* change in offload features */
924 IFLA_EVENT_BONDING_FAILOVER, /* change in active slave */
925 IFLA_EVENT_NOTIFY_PEERS, /* re-sent grat. arp/ndisc */
926 IFLA_EVENT_IGMP_RESEND, /* re-sent IGMP JOIN */
927 IFLA_EVENT_BONDING_OPTIONS, /* change in bonding options */
928};
929
914#endif /* _UAPI_LINUX_IF_LINK_H */930#endif /* _UAPI_LINUX_IF_LINK_H */
include/uapi/linux/input-event-codes.h+1−0
@@ -600,6 +600,7 @@ · 599 unmodified lines
600#define KEY_APPSELECT 0x244 /* AL Select Task/Application */600#define KEY_APPSELECT 0x244 /* AL Select Task/Application */
601#define KEY_SCREENSAVER 0x245 /* AL Screen Saver */601#define KEY_SCREENSAVER 0x245 /* AL Screen Saver */
602#define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */602#define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */
603#define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */
603 604
604#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */605#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
605#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */606#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
include/uapi/linux/kcmp.h+10−0
@@ -1,6 +1,8 @@
1#ifndef _UAPI_LINUX_KCMP_H1#ifndef _UAPI_LINUX_KCMP_H
2#define _UAPI_LINUX_KCMP_H2#define _UAPI_LINUX_KCMP_H
3 3
4#include <linux/types.h>
5
4/* Comparison type */6/* Comparison type */
5enum kcmp_type {7enum kcmp_type {
6 KCMP_FILE,8 KCMP_FILE,
@@ -10,8 +12,16 @@ enum kcmp_type { · 3 unmodified lines
10 KCMP_SIGHAND,12 KCMP_SIGHAND,
11 KCMP_IO,13 KCMP_IO,
12 KCMP_SYSVSEM,14 KCMP_SYSVSEM,
15 KCMP_EPOLL_TFD,
13 16
14 KCMP_TYPES,17 KCMP_TYPES,
15};18};
16 19
20/* Slot for KCMP_EPOLL_TFD */
21struct kcmp_epoll_slot {
22 __u32 efd; /* epoll file descriptor */
23 __u32 tfd; /* target file number */
24 __u32 toff; /* target offset within same numbered sequence */
25};
26
17#endif /* _UAPI_LINUX_KCMP_H */27#endif /* _UAPI_LINUX_KCMP_H */
include/uapi/linux/kvm.h+37−0
@@ -155,6 +155,35 @@ struct kvm_s390_skeys { · 154 unmodified lines
155 __u32 reserved[9];155 __u32 reserved[9];
156};156};
157 157
158#define KVM_S390_CMMA_PEEK (1 << 0)
159
160/**
161 * kvm_s390_cmma_log - Used for CMMA migration.
162 *
163 * Used both for input and output.
164 *
165 * @start_gfn: Guest page number to start from.
166 * @count: Size of the result buffer.
167 * @flags: Control operation mode via KVM_S390_CMMA_* flags
168 * @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty
169 * pages are still remaining.
170 * @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set
171 * in the PGSTE.
172 * @values: Pointer to the values buffer.
173 *
174 * Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls.
175 */
176struct kvm_s390_cmma_log {
177 __u64 start_gfn;
178 __u32 count;
179 __u32 flags;
180 union {
181 __u64 remaining;
182 __u64 mask;
183 };
184 __u64 values;
185};
186
158struct kvm_hyperv_exit {187struct kvm_hyperv_exit {
159#define KVM_EXIT_HYPERV_SYNIC 1188#define KVM_EXIT_HYPERV_SYNIC 1
160#define KVM_EXIT_HYPERV_HCALL 2189#define KVM_EXIT_HYPERV_HCALL 2
@@ -895,6 +924,11 @@ struct kvm_ppc_resize_hpt { · 734 unmodified lines
895#define KVM_CAP_SPAPR_TCE_VFIO 142924#define KVM_CAP_SPAPR_TCE_VFIO 142
896#define KVM_CAP_X86_GUEST_MWAIT 143925#define KVM_CAP_X86_GUEST_MWAIT 143
897#define KVM_CAP_ARM_USER_IRQ 144926#define KVM_CAP_ARM_USER_IRQ 144
927#define KVM_CAP_S390_CMMA_MIGRATION 145
928#define KVM_CAP_PPC_FWNMI 146
929#define KVM_CAP_PPC_SMT_POSSIBLE 147
930#define KVM_CAP_HYPERV_SYNIC2 148
931#define KVM_CAP_HYPERV_VP_INDEX 149
898 932
899#ifdef KVM_CAP_IRQ_ROUTING933#ifdef KVM_CAP_IRQ_ROUTING
900 934
@@ -1318,6 +1352,9 @@ struct kvm_s390_ucas_mapping { · 417 unmodified lines
1318#define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state)1352#define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state)
1319/* Available with KVM_CAP_X86_SMM */1353/* Available with KVM_CAP_X86_SMM */
1320#define KVM_SMI _IO(KVMIO, 0xb7)1354#define KVM_SMI _IO(KVMIO, 0xb7)
1355/* Available with KVM_CAP_S390_CMMA_MIGRATION */
1356#define KVM_S390_GET_CMMA_BITS _IOWR(KVMIO, 0xb8, struct kvm_s390_cmma_log)
1357#define KVM_S390_SET_CMMA_BITS _IOW(KVMIO, 0xb9, struct kvm_s390_cmma_log)
1321 1358
1322#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)1359#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
1323#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)1360#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
include/uapi/linux/magic.h+3−0
@@ -42,6 +42,7 @@ · 41 unmodified lines
42#define MSDOS_SUPER_MAGIC 0x4d44 /* MD */42#define MSDOS_SUPER_MAGIC 0x4d44 /* MD */
43#define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */43#define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */
44#define NFS_SUPER_MAGIC 0x696944#define NFS_SUPER_MAGIC 0x6969
45#define OCFS2_SUPER_MAGIC 0x7461636f
45#define OPENPROM_SUPER_MAGIC 0x9fa146#define OPENPROM_SUPER_MAGIC 0x9fa1
46#define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */47#define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */
47#define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */48#define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */
@@ -80,6 +81,8 @@ · 32 unmodified lines
80#define BTRFS_TEST_MAGIC 0x7372727981#define BTRFS_TEST_MAGIC 0x73727279
81#define NSFS_MAGIC 0x6e73667382#define NSFS_MAGIC 0x6e736673
82#define BPF_FS_MAGIC 0xcafe4a1183#define BPF_FS_MAGIC 0xcafe4a11
84#define AAFS_MAGIC 0x5a3c69f0
85
83/* Since UDF 2.01 is ISO 13346 based... */86/* Since UDF 2.01 is ISO 13346 based... */
84#define UDF_SUPER_MAGIC 0x1501334687#define UDF_SUPER_MAGIC 0x15013346
85#define BALLOON_KVM_MAGIC 0x1366136688#define BALLOON_KVM_MAGIC 0x13661366
include/uapi/linux/max2175.h+28−0
@@ -0,0 +1,28 @@
1/*
2 * max2175.h
3 *
4 * Maxim Integrated MAX2175 RF to Bits tuner driver - user space header file.
5 *
6 * Copyright (C) 2016 Maxim Integrated Products
7 * Copyright (C) 2017 Renesas Electronics Corporation
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2
11 * as published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 */
18
19#ifndef __UAPI_MAX2175_H_
20#define __UAPI_MAX2175_H_
21
22#include <linux/v4l2-controls.h>
23
24#define V4L2_CID_MAX2175_I2S_ENABLE (V4L2_CID_USER_MAX217X_BASE + 0x01)
25#define V4L2_CID_MAX2175_HSLS (V4L2_CID_USER_MAX217X_BASE + 0x02)
26#define V4L2_CID_MAX2175_RX_MODE (V4L2_CID_USER_MAX217X_BASE + 0x03)
27
28#endif /* __UAPI_MAX2175_H_ */
include/uapi/linux/media.h+6−0
@@ -104,6 +104,12 @@ struct media_device_info { · 103 unmodified lines
104#define MEDIA_ENT_F_PROC_VIDEO_SCALER (MEDIA_ENT_F_BASE + 0x4005)104#define MEDIA_ENT_F_PROC_VIDEO_SCALER (MEDIA_ENT_F_BASE + 0x4005)
105#define MEDIA_ENT_F_PROC_VIDEO_STATISTICS (MEDIA_ENT_F_BASE + 0x4006)105#define MEDIA_ENT_F_PROC_VIDEO_STATISTICS (MEDIA_ENT_F_BASE + 0x4006)
106 106
107/*
108 * Switch and bridge entitites
109 */
110#define MEDIA_ENT_F_VID_MUX (MEDIA_ENT_F_BASE + 0x5001)
111#define MEDIA_ENT_F_VID_IF_BRIDGE (MEDIA_ENT_F_BASE + 0x5002)
112
107/*113/*
108 * Connectors114 * Connectors
109 */115 */
include/uapi/linux/mempolicy.h+0−8
@@ -24,13 +24,6 @@ enum { · 23 unmodified lines
24 MPOL_MAX, /* always last member of enum */24 MPOL_MAX, /* always last member of enum */
25};25};
26 26
27enum mpol_rebind_step {
28 MPOL_REBIND_ONCE, /* do rebind work at once(not by two step) */
29 MPOL_REBIND_STEP1, /* first step(set all the newly nodes) */
30 MPOL_REBIND_STEP2, /* second step(clean all the disallowed nodes)*/
31 MPOL_REBIND_NSTEP,
32};
33
34/* Flags for set_mempolicy */27/* Flags for set_mempolicy */
35#define MPOL_F_STATIC_NODES (1 << 15)28#define MPOL_F_STATIC_NODES (1 << 15)
36#define MPOL_F_RELATIVE_NODES (1 << 14)29#define MPOL_F_RELATIVE_NODES (1 << 14)
@@ -65,7 +58,6 @@ enum mpol_rebind_step { · 28 unmodified lines
65 */58 */
66#define MPOL_F_SHARED (1 << 0) /* identify shared policies */59#define MPOL_F_SHARED (1 << 0) /* identify shared policies */
67#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */60#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */
68#define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */
69#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */61#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */
70#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */62#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */
71 63
include/uapi/linux/mroute.h+54−0
@@ -110,6 +110,60 @@ struct igmpmsg { · 109 unmodified lines
110 struct in_addr im_src,im_dst;110 struct in_addr im_src,im_dst;
111};111};
112 112
113/* ipmr netlink table attributes */
114enum {
115 IPMRA_TABLE_UNSPEC,
116 IPMRA_TABLE_ID,
117 IPMRA_TABLE_CACHE_RES_QUEUE_LEN,
118 IPMRA_TABLE_MROUTE_REG_VIF_NUM,
119 IPMRA_TABLE_MROUTE_DO_ASSERT,
120 IPMRA_TABLE_MROUTE_DO_PIM,
121 IPMRA_TABLE_VIFS,
122 __IPMRA_TABLE_MAX
123};
124#define IPMRA_TABLE_MAX (__IPMRA_TABLE_MAX - 1)
125
126/* ipmr netlink vif attribute format
127 * [ IPMRA_TABLE_VIFS ] - nested attribute
128 * [ IPMRA_VIF ] - nested attribute
129 * [ IPMRA_VIFA_xxx ]
130 */
131enum {
132 IPMRA_VIF_UNSPEC,
133 IPMRA_VIF,
134 __IPMRA_VIF_MAX
135};
136#define IPMRA_VIF_MAX (__IPMRA_VIF_MAX - 1)
137
138/* vif-specific attributes */
139enum {
140 IPMRA_VIFA_UNSPEC,
141 IPMRA_VIFA_IFINDEX,
142 IPMRA_VIFA_VIF_ID,
143 IPMRA_VIFA_FLAGS,
144 IPMRA_VIFA_BYTES_IN,
145 IPMRA_VIFA_BYTES_OUT,
146 IPMRA_VIFA_PACKETS_IN,
147 IPMRA_VIFA_PACKETS_OUT,
148 IPMRA_VIFA_LOCAL_ADDR,
149 IPMRA_VIFA_REMOTE_ADDR,
150 IPMRA_VIFA_PAD,
151 __IPMRA_VIFA_MAX
152};
153#define IPMRA_VIFA_MAX (__IPMRA_VIFA_MAX - 1)
154
155/* ipmr netlink cache report attributes */
156enum {
157 IPMRA_CREPORT_UNSPEC,
158 IPMRA_CREPORT_MSGTYPE,
159 IPMRA_CREPORT_VIF_ID,
160 IPMRA_CREPORT_SRC_ADDR,
161 IPMRA_CREPORT_DST_ADDR,
162 IPMRA_CREPORT_PKT,
163 __IPMRA_CREPORT_MAX
164};
165#define IPMRA_CREPORT_MAX (__IPMRA_CREPORT_MAX - 1)
166
113/* That's all usermode folks */167/* That's all usermode folks */
114 168
115#define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */169#define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */
include/uapi/linux/mroute6.h+12−0
@@ -133,4 +133,16 @@ struct mrt6msg { · 132 unmodified lines
133 struct in6_addr im6_src, im6_dst;133 struct in6_addr im6_src, im6_dst;
134};134};
135 135
136/* ip6mr netlink cache report attributes */
137enum {
138 IP6MRA_CREPORT_UNSPEC,
139 IP6MRA_CREPORT_MSGTYPE,
140 IP6MRA_CREPORT_MIF_ID,
141 IP6MRA_CREPORT_SRC_ADDR,
142 IP6MRA_CREPORT_DST_ADDR,
143 IP6MRA_CREPORT_PKT,
144 __IP6MRA_CREPORT_MAX
145};
146#define IP6MRA_CREPORT_MAX (__IP6MRA_CREPORT_MAX - 1)
147
136#endif /* _UAPI__LINUX_MROUTE6_H */148#endif /* _UAPI__LINUX_MROUTE6_H */
include/uapi/linux/ndctl.h+41−1
@@ -105,7 +105,8 @@ struct nd_cmd_ars_cap { · 104 unmodified lines
105 __u32 status;105 __u32 status;
106 __u32 max_ars_out;106 __u32 max_ars_out;
107 __u32 clear_err_unit;107 __u32 clear_err_unit;
108 __u32 reserved;108 __u16 flags;
109 __u16 reserved;
109} __packed;110} __packed;
110 111
111struct nd_cmd_ars_start {112struct nd_cmd_ars_start {
@@ -144,6 +145,43 @@ struct nd_cmd_clear_error { · 32 unmodified lines
144 __u64 cleared;145 __u64 cleared;
145} __packed;146} __packed;
146 147
148struct nd_cmd_trans_spa {
149 __u64 spa;
150 __u32 status;
151 __u8 flags;
152 __u8 _reserved[3];
153 __u64 trans_length;
154 __u32 num_nvdimms;
155 struct nd_nvdimm_device {
156 __u32 nfit_device_handle;
157 __u32 _reserved;
158 __u64 dpa;
159 } __packed devices[0];
160
161} __packed;
162
163struct nd_cmd_ars_err_inj {
164 __u64 err_inj_spa_range_base;
165 __u64 err_inj_spa_range_length;
166 __u8 err_inj_options;
167 __u32 status;
168} __packed;
169
170struct nd_cmd_ars_err_inj_clr {
171 __u64 err_inj_clr_spa_range_base;
172 __u64 err_inj_clr_spa_range_length;
173 __u32 status;
174} __packed;
175
176struct nd_cmd_ars_err_inj_stat {
177 __u32 status;
178 __u32 inj_err_rec_count;
179 struct nd_error_stat_query_record {
180 __u64 err_inj_stat_spa_range_base;
181 __u64 err_inj_stat_spa_range_length;
182 } __packed record[0];
183} __packed;
184
147enum {185enum {
148 ND_CMD_IMPLEMENTED = 0,186 ND_CMD_IMPLEMENTED = 0,
149 187
@@ -169,6 +207,7 @@ enum { · 19 unmodified lines
169enum {207enum {
170 ND_ARS_VOLATILE = 1,208 ND_ARS_VOLATILE = 1,
171 ND_ARS_PERSISTENT = 2,209 ND_ARS_PERSISTENT = 2,
210 ND_ARS_RETURN_PREV_DATA = 1 << 1,
172 ND_CONFIG_LOCKED = 1,211 ND_CONFIG_LOCKED = 1,
173};212};
174 213
@@ -179,6 +218,7 @@ static inline const char *nvdimm_bus_cmd_name(unsigned cmd) · 4 unmodified lines
179 [ND_CMD_ARS_START] = "ars_start",218 [ND_CMD_ARS_START] = "ars_start",
180 [ND_CMD_ARS_STATUS] = "ars_status",219 [ND_CMD_ARS_STATUS] = "ars_status",
181 [ND_CMD_CLEAR_ERROR] = "clear_error",220 [ND_CMD_CLEAR_ERROR] = "clear_error",
221 [ND_CMD_CALL] = "cmd_call",
182 };222 };
183 223
184 if (cmd < ARRAY_SIZE(names) && names[cmd])224 if (cmd < ARRAY_SIZE(names) && names[cmd])
include/uapi/linux/neighbour.h+1−0
@@ -41,6 +41,7 @@ enum { · 40 unmodified lines
41#define NTF_MASTER 0x0441#define NTF_MASTER 0x04
42#define NTF_PROXY 0x08 /* == ATF_PUBL */42#define NTF_PROXY 0x08 /* == ATF_PUBL */
43#define NTF_EXT_LEARNED 0x1043#define NTF_EXT_LEARNED 0x10
44#define NTF_OFFLOADED 0x20
44#define NTF_ROUTER 0x8045#define NTF_ROUTER 0x80
45 46
46/*47/*
include/uapi/linux/net_tstamp.h+14−1
@@ -9,6 +9,7 @@ · 8 unmodified lines
9#ifndef _NET_TIMESTAMPING_H9#ifndef _NET_TIMESTAMPING_H
10#define _NET_TIMESTAMPING_H10#define _NET_TIMESTAMPING_H
11 11
12#include <linux/types.h>
12#include <linux/socket.h> /* for SO_TIMESTAMPING */13#include <linux/socket.h> /* for SO_TIMESTAMPING */
13 14
14/* SO_TIMESTAMPING gets an integer bit field comprised of these values */15/* SO_TIMESTAMPING gets an integer bit field comprised of these values */
@@ -26,8 +27,10 @@ enum { · 11 unmodified lines
26 SOF_TIMESTAMPING_OPT_CMSG = (1<<10),27 SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
27 SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),28 SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
28 SOF_TIMESTAMPING_OPT_STATS = (1<<12),29 SOF_TIMESTAMPING_OPT_STATS = (1<<12),
30 SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13),
31 SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14),
29 32
30 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_STATS,33 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TX_SWHW,
31 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |34 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
32 SOF_TIMESTAMPING_LAST35 SOF_TIMESTAMPING_LAST
33};36};
@@ -125,6 +128,16 @@ enum hwtstamp_rx_filters { · 91 unmodified lines
125 HWTSTAMP_FILTER_PTP_V2_SYNC,128 HWTSTAMP_FILTER_PTP_V2_SYNC,
126 /* PTP v2/802.AS1, any layer, Delay_req packet */129 /* PTP v2/802.AS1, any layer, Delay_req packet */
127 HWTSTAMP_FILTER_PTP_V2_DELAY_REQ,130 HWTSTAMP_FILTER_PTP_V2_DELAY_REQ,
131
132 /* NTP, UDP, all versions and packet modes */
133 HWTSTAMP_FILTER_NTP_ALL,
134};
135
136/* SCM_TIMESTAMPING_PKTINFO control message */
137struct scm_ts_pktinfo {
138 __u32 if_index;
139 __u32 pkt_length;
140 __u32 reserved[2];
128};141};
129 142
130#endif /* _NET_TIMESTAMPING_H */143#endif /* _NET_TIMESTAMPING_H */
include/uapi/linux/nl80211.h+73−9
@@ -172,6 +172,29 @@ · 171 unmodified lines
172 * Multiple such rules can be created.172 * Multiple such rules can be created.
173 */173 */
174 174
175/**
176 * DOC: WPA/WPA2 EAPOL handshake offload
177 *
178 * By setting @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK flag drivers
179 * can indicate they support offloading EAPOL handshakes for WPA/WPA2
180 * preshared key authentication. In %NL80211_CMD_CONNECT the preshared
181 * key should be specified using %NL80211_ATTR_PMK. Drivers supporting
182 * this offload may reject the %NL80211_CMD_CONNECT when no preshared
183 * key material is provided, for example when that driver does not
184 * support setting the temporal keys through %CMD_NEW_KEY.
185 *
186 * Similarly @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X flag can be
187 * set by drivers indicating offload support of the PTK/GTK EAPOL
188 * handshakes during 802.1X authentication. In order to use the offload
189 * the %NL80211_CMD_CONNECT should have %NL80211_ATTR_WANT_1X_4WAY_HS
190 * attribute flag. Drivers supporting this offload may reject the
191 * %NL80211_CMD_CONNECT when the attribute flag is not present.
192 *
193 * For 802.1X the PMK or PMK-R0 are set by providing %NL80211_ATTR_PMK
194 * using %NL80211_CMD_SET_PMK. For offloaded FT support also
195 * %NL80211_ATTR_PMKR0_NAME must be provided.
196 */
197
175/**198/**
176 * DOC: FILS shared key authentication offload199 * DOC: FILS shared key authentication offload
177 *200 *
@@ -546,8 +569,13 @@ · 368 unmodified lines
546 * authentication/association or not receiving a response from the AP.569 * authentication/association or not receiving a response from the AP.
547 * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as570 * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as
548 * well to remain backwards compatible.571 * well to remain backwards compatible.
549 * @NL80211_CMD_ROAM: request that the card roam (currently not implemented),572 * @NL80211_CMD_ROAM: notifcation indicating the card/driver roamed by itself.
550 * sent as an event when the card/driver roamed by itself.573 * When the driver roamed in a network that requires 802.1X authentication,
574 * %NL80211_ATTR_PORT_AUTHORIZED should be set if the 802.1X authentication
575 * was done by the driver or if roaming was done using Fast Transition
576 * protocol (in which case 802.1X authentication is not needed). If
577 * %NL80211_ATTR_PORT_AUTHORIZED is not set, user space is responsible for
578 * the 802.1X authentication.
551 * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify579 * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
552 * userspace that a connection was dropped by the AP or due to other580 * userspace that a connection was dropped by the AP or due to other
553 * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and581 * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and
@@ -947,6 +975,14 @@ · 393 unmodified lines
947 * does not result in a change for the current association. Currently,975 * does not result in a change for the current association. Currently,
948 * only the %NL80211_ATTR_IE data is used and updated with this command.976 * only the %NL80211_ATTR_IE data is used and updated with this command.
949 *977 *
978 * @NL80211_CMD_SET_PMK: For offloaded 4-Way handshake, set the PMK or PMK-R0
979 * for the given authenticator address (specified with &NL80211_ATTR_MAC).
980 * When &NL80211_ATTR_PMKR0_NAME is set, &NL80211_ATTR_PMK specifies the
981 * PMK-R0, otherwise it specifies the PMK.
982 * @NL80211_CMD_DEL_PMK: For offloaded 4-Way handshake, delete the previously
983 * configured PMK for the authenticator address identified by
984 * &NL80211_ATTR_MAC.
985 *
950 * @NL80211_CMD_MAX: highest used command number986 * @NL80211_CMD_MAX: highest used command number
951 * @__NL80211_CMD_AFTER_LAST: internal use987 * @__NL80211_CMD_AFTER_LAST: internal use
952 */988 */
@@ -1146,6 +1182,9 @@ enum nl80211_commands { · 193 unmodified lines
1146 1182
1147 NL80211_CMD_UPDATE_CONNECT_PARAMS,1183 NL80211_CMD_UPDATE_CONNECT_PARAMS,
1148 1184
1185 NL80211_CMD_SET_PMK,
1186 NL80211_CMD_DEL_PMK,
1187
1149 /* add new commands above here */1188 /* add new commands above here */
1150 1189
1151 /* used to define NL80211_CMD_MAX below */1190 /* used to define NL80211_CMD_MAX below */
@@ -1870,11 +1909,10 @@ enum nl80211_commands { · 718 unmodified lines
1870 * that configured the indoor setting, and the indoor operation would be1909 * that configured the indoor setting, and the indoor operation would be
1871 * cleared when the socket is closed.1910 * cleared when the socket is closed.
1872 * If set during NAN interface creation, the interface will be destroyed1911 * If set during NAN interface creation, the interface will be destroyed
1873 * if the socket is closed just like any other interface. Moreover, only1912 * if the socket is closed just like any other interface. Moreover, NAN
1874 * the netlink socket that created the interface will be allowed to add1913 * notifications will be sent in unicast to that socket. Without this
1875 * and remove functions. NAN notifications will be sent in unicast to that1914 * attribute, the notifications will be sent to the %NL80211_MCGRP_NAN
1876 * socket. Without this attribute, any socket can add functions and the1915 * multicast group.
1877 * notifications will be sent to the %NL80211_MCGRP_NAN multicast group.
1878 * If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the1916 * If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the
1879 * station will deauthenticate when the socket is closed.1917 * station will deauthenticate when the socket is closed.
1880 *1918 *
@@ -2080,14 +2118,27 @@ enum nl80211_commands { · 199 unmodified lines
2080 * identifying the scope of PMKSAs. This is used with2118 * identifying the scope of PMKSAs. This is used with
2081 * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA.2119 * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA.
2082 *2120 *
2083 * @NL80211_ATTR_PMK: PMK for the PMKSA identified by %NL80211_ATTR_PMKID.2121 * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with
2084 * This is used with @NL80211_CMD_SET_PMKSA.2122 * %NL80211_CMD_SET_PMKSA for the PMKSA identified by %NL80211_ATTR_PMKID.
2123 * For %NL80211_CMD_CONNECT it is used to provide PSK for offloading 4-way
2124 * handshake for WPA/WPA2-PSK networks. For 802.1X authentication it is
2125 * used with %NL80211_CMD_SET_PMK. For offloaded FT support this attribute
2126 * specifies the PMK-R0 if NL80211_ATTR_PMKR0_NAME is included as well.
2085 *2127 *
2086 * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to2128 * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to
2087 * indicate that it supports multiple active scheduled scan requests.2129 * indicate that it supports multiple active scheduled scan requests.
2088 * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled2130 * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled
2089 * scan request that may be active for the device (u32).2131 * scan request that may be active for the device (u32).
2090 *2132 *
2133 * @NL80211_ATTR_WANT_1X_4WAY_HS: flag attribute which user-space can include
2134 * in %NL80211_CMD_CONNECT to indicate that for 802.1X authentication it
2135 * wants to use the supported offload of the 4-way handshake.
2136 * @NL80211_ATTR_PMKR0_NAME: PMK-R0 Name for offloaded FT.
2137 * @NL80211_ATTR_PORT_AUTHORIZED: flag attribute used in %NL80211_CMD_ROAMED
2138 * notification indicating that that 802.1X authentication was done by
2139 * the driver or is not needed (because roaming used the Fast Transition
2140 * protocol).
2141 *
2091 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2142 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2092 * @NL80211_ATTR_MAX: highest attribute number currently defined2143 * @NL80211_ATTR_MAX: highest attribute number currently defined
2093 * @__NL80211_ATTR_AFTER_LAST: internal use2144 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2510,6 +2561,10 @@ enum nl80211_attrs { · 416 unmodified lines
2510 NL80211_ATTR_SCHED_SCAN_MULTI,2561 NL80211_ATTR_SCHED_SCAN_MULTI,
2511 NL80211_ATTR_SCHED_SCAN_MAX_REQS,2562 NL80211_ATTR_SCHED_SCAN_MAX_REQS,
2512 2563
2564 NL80211_ATTR_WANT_1X_4WAY_HS,
2565 NL80211_ATTR_PMKR0_NAME,
2566 NL80211_ATTR_PORT_AUTHORIZED,
2567
2513 /* add attributes here, update the policy in nl80211.c */2568 /* add attributes here, update the policy in nl80211.c */
2514 2569
2515 __NL80211_ATTR_AFTER_LAST,2570 __NL80211_ATTR_AFTER_LAST,
@@ -4852,6 +4907,13 @@ enum nl80211_feature_flags { · 2336 unmodified lines
4852 * RSSI threshold values to monitor rather than exactly one threshold.4907 * RSSI threshold values to monitor rather than exactly one threshold.
4853 * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key4908 * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key
4854 * authentication with %NL80211_CMD_CONNECT.4909 * authentication with %NL80211_CMD_CONNECT.
4910 * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK: Device wants to do 4-way
4911 * handshake with PSK in station mode (PSK is passed as part of the connect
4912 * and associate commands), doing it in the host might not be supported.
4913 * @NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X: Device wants to do doing 4-way
4914 * handshake with 802.1X in station mode (will pass EAP frames to the host
4915 * and accept the set_pmk/del_pmk commands), doing it in the host might not
4916 * be supported.
4855 *4917 *
4856 * @NUM_NL80211_EXT_FEATURES: number of extended features.4918 * @NUM_NL80211_EXT_FEATURES: number of extended features.
4857 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.4919 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4872,6 +4934,8 @@ enum nl80211_ext_feature_index { · 14 unmodified lines
4872 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,4934 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,
4873 NL80211_EXT_FEATURE_CQM_RSSI_LIST,4935 NL80211_EXT_FEATURE_CQM_RSSI_LIST,
4874 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD,4936 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD,
4937 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK,
4938 NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X,
4875 4939
4876 /* add new features before the definition below */4940 /* add new features before the definition below */
4877 NUM_NL80211_EXT_FEATURES,4941 NUM_NL80211_EXT_FEATURES,
include/uapi/linux/pci_regs.h+1−0
@@ -517,6 +517,7 @@ · 516 unmodified lines
517#define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */517#define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */
518#define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 */518#define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 */
519#define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */519#define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */
520#define PCI_EXP_LNKCAP_SLS_8_0GB 0x00000003 /* LNKCAP2 SLS Vector bit 2 */
520#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */521#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
521#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */522#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
522#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */523#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */
include/uapi/linux/pkt_cls.h+17−0
@@ -37,6 +37,13 @@ enum { · 36 unmodified lines
37#define TC_ACT_QUEUED 537#define TC_ACT_QUEUED 5
38#define TC_ACT_REPEAT 638#define TC_ACT_REPEAT 6
39#define TC_ACT_REDIRECT 739#define TC_ACT_REDIRECT 7
40#define TC_ACT_TRAP 8 /* For hw path, this means "trap to cpu"
41 * and don't further process the frame
42 * in hardware. For sw path, this is
43 * equivalent of TC_ACT_STOLEN - drop
44 * the skb and act like everything
45 * is alright.
46 */
40 47
41/* There is a special kind of actions called "extended actions",48/* There is a special kind of actions called "extended actions",
42 * which need a value parameter. These have a local opcode located in49 * which need a value parameter. These have a local opcode located in
@@ -51,6 +58,7 @@ enum { · 8 unmodified lines
51 (((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode)58 (((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode)
52 59
53#define TC_ACT_JUMP __TC_ACT_EXT(1)60#define TC_ACT_JUMP __TC_ACT_EXT(1)
61#define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2)
54 62
55/* Action type identifiers*/63/* Action type identifiers*/
56enum {64enum {
@@ -361,6 +369,7 @@ enum { · 304 unmodified lines
361 TCA_BPF_FLAGS,369 TCA_BPF_FLAGS,
362 TCA_BPF_FLAGS_GEN,370 TCA_BPF_FLAGS_GEN,
363 TCA_BPF_TAG,371 TCA_BPF_TAG,
372 TCA_BPF_ID,
364 __TCA_BPF_MAX,373 __TCA_BPF_MAX,
365};374};
366 375
@@ -450,6 +459,14 @@ enum { · 83 unmodified lines
450 TCA_FLOWER_KEY_MPLS_TC, /* u8 - 3 bits */459 TCA_FLOWER_KEY_MPLS_TC, /* u8 - 3 bits */
451 TCA_FLOWER_KEY_MPLS_LABEL, /* be32 - 20 bits */460 TCA_FLOWER_KEY_MPLS_LABEL, /* be32 - 20 bits */
452 461
462 TCA_FLOWER_KEY_TCP_FLAGS, /* be16 */
463 TCA_FLOWER_KEY_TCP_FLAGS_MASK, /* be16 */
464
465 TCA_FLOWER_KEY_IP_TOS, /* u8 */
466 TCA_FLOWER_KEY_IP_TOS_MASK, /* u8 */
467 TCA_FLOWER_KEY_IP_TTL, /* u8 */
468 TCA_FLOWER_KEY_IP_TTL_MASK, /* u8 */
469
453 __TCA_FLOWER_MAX,470 __TCA_FLOWER_MAX,
454};471};
455 472
include/uapi/linux/rtnetlink.h+9−0
@@ -146,6 +146,9 @@ enum { · 145 unmodified lines
146 RTM_GETSTATS = 94,146 RTM_GETSTATS = 94,
147#define RTM_GETSTATS RTM_GETSTATS147#define RTM_GETSTATS RTM_GETSTATS
148 148
149 RTM_NEWCACHEREPORT = 96,
150#define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT
151
149 __RTM_MAX,152 __RTM_MAX,
150#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)153#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
151};154};
@@ -278,6 +281,7 @@ enum rt_scope_t { · 126 unmodified lines
278#define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */281#define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */
279#define RTM_F_PREFIX 0x800 /* Prefix addresses */282#define RTM_F_PREFIX 0x800 /* Prefix addresses */
280#define RTM_F_LOOKUP_TABLE 0x1000 /* set rtm_table to FIB lookup result */283#define RTM_F_LOOKUP_TABLE 0x1000 /* set rtm_table to FIB lookup result */
284#define RTM_F_FIB_MATCH 0x2000 /* return full fib lookup match */
281 285
282/* Reserved table identifiers */286/* Reserved table identifiers */
283 287
@@ -549,6 +553,7 @@ enum { · 265 unmodified lines
549 TCA_STAB,553 TCA_STAB,
550 TCA_PAD,554 TCA_PAD,
551 TCA_DUMP_INVISIBLE,555 TCA_DUMP_INVISIBLE,
556 TCA_CHAIN,
552 __TCA_MAX557 __TCA_MAX
553};558};
554 559
@@ -664,6 +669,10 @@ enum rtnetlink_groups { · 109 unmodified lines
664#define RTNLGRP_NSID RTNLGRP_NSID669#define RTNLGRP_NSID RTNLGRP_NSID
665 RTNLGRP_MPLS_NETCONF,670 RTNLGRP_MPLS_NETCONF,
666#define RTNLGRP_MPLS_NETCONF RTNLGRP_MPLS_NETCONF671#define RTNLGRP_MPLS_NETCONF RTNLGRP_MPLS_NETCONF
672 RTNLGRP_IPV4_MROUTE_R,
673#define RTNLGRP_IPV4_MROUTE_R RTNLGRP_IPV4_MROUTE_R
674 RTNLGRP_IPV6_MROUTE_R,
675#define RTNLGRP_IPV6_MROUTE_R RTNLGRP_IPV6_MROUTE_R
667 __RTNLGRP_MAX676 __RTNLGRP_MAX
668};677};
669#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)678#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
include/uapi/linux/sched/types.h+8−8
@@ -54,21 +54,21 @@ struct sched_param { · 53 unmodified lines
54 * available in the scheduling class file or in Documentation/.54 * available in the scheduling class file or in Documentation/.
55 */55 */
56struct sched_attr {56struct sched_attr {
57 u32 size;57 __u32 size;
58 58
59 u32 sched_policy;59 __u32 sched_policy;
60 u64 sched_flags;60 __u64 sched_flags;
61 61
62 /* SCHED_NORMAL, SCHED_BATCH */62 /* SCHED_NORMAL, SCHED_BATCH */
63 s32 sched_nice;63 __s32 sched_nice;
64 64
65 /* SCHED_FIFO, SCHED_RR */65 /* SCHED_FIFO, SCHED_RR */
66 u32 sched_priority;66 __u32 sched_priority;
67 67
68 /* SCHED_DEADLINE */68 /* SCHED_DEADLINE */
69 u64 sched_runtime;69 __u64 sched_runtime;
70 u64 sched_deadline;70 __u64 sched_deadline;
71 u64 sched_period;71 __u64 sched_period;
72};72};
73 73
74#endif /* _UAPI_LINUX_SCHED_TYPES_H */74#endif /* _UAPI_LINUX_SCHED_TYPES_H */
include/uapi/linux/sctp.h+6−0
@@ -121,6 +121,7 @@ typedef __s32 sctp_assoc_t; · 120 unmodified lines
121#define SCTP_RESET_STREAMS 119121#define SCTP_RESET_STREAMS 119
122#define SCTP_RESET_ASSOC 120122#define SCTP_RESET_ASSOC 120
123#define SCTP_ADD_STREAMS 121123#define SCTP_ADD_STREAMS 121
124#define SCTP_SOCKOPT_PEELOFF_FLAGS 122
124 125
125/* PR-SCTP policies */126/* PR-SCTP policies */
126#define SCTP_PR_SCTP_NONE 0x0000127#define SCTP_PR_SCTP_NONE 0x0000
@@ -978,6 +979,11 @@ typedef struct { · 851 unmodified lines
978 int sd;979 int sd;
979} sctp_peeloff_arg_t;980} sctp_peeloff_arg_t;
980 981
982typedef struct {
983 sctp_peeloff_arg_t p_arg;
984 unsigned flags;
985} sctp_peeloff_flags_arg_t;
986
981/*987/*
982 * Peer Address Thresholds socket option988 * Peer Address Thresholds socket option
983 */989 */
include/uapi/linux/sem.h+1−1
@@ -23,7 +23,7 @@ · 22 unmodified lines
23struct semid_ds {23struct semid_ds {
24 struct ipc_perm sem_perm; /* permissions .. see ipc.h */24 struct ipc_perm sem_perm; /* permissions .. see ipc.h */
25 __kernel_time_t sem_otime; /* last semop time */25 __kernel_time_t sem_otime; /* last semop time */
26 __kernel_time_t sem_ctime; /* last change time */26 __kernel_time_t sem_ctime; /* create/last semctl() time */
27 struct sem *sem_base; /* ptr to first semaphore in array */27 struct sem *sem_base; /* ptr to first semaphore in array */
28 struct sem_queue *sem_pending; /* pending operations to be processed */28 struct sem_queue *sem_pending; /* pending operations to be processed */
29 struct sem_queue **sem_pending_last; /* last pending operation */29 struct sem_queue **sem_pending_last; /* last pending operation */
include/uapi/linux/serial.h+3−0
@@ -122,6 +122,9 @@ struct serial_rs485 { · 121 unmodified lines
122#define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for122#define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for
123 RTS pin after sent*/123 RTS pin after sent*/
124#define SER_RS485_RX_DURING_TX (1 << 4)124#define SER_RS485_RX_DURING_TX (1 << 4)
125#define SER_RS485_TERMINATE_BUS (1 << 5) /* Enable bus
126 termination
127 (if supported) */
125 __u32 delay_rts_before_send; /* Delay before send (milliseconds) */128 __u32 delay_rts_before_send; /* Delay before send (milliseconds) */
126 __u32 delay_rts_after_send; /* Delay after send (milliseconds) */129 __u32 delay_rts_after_send; /* Delay after send (milliseconds) */
127 __u32 padding[5]; /* Memory is cheap, new structs130 __u32 padding[5]; /* Memory is cheap, new structs
include/uapi/linux/serial_core.h+1−1
@@ -83,7 +83,7 @@ · 82 unmodified lines
83/* Parisc type numbers. */83/* Parisc type numbers. */
84#define PORT_MUX 4884#define PORT_MUX 48
85 85
86/* Atmel AT91 / AT32 SoC */86/* Atmel AT91 SoC */
87#define PORT_ATMEL 4987#define PORT_ATMEL 49
88 88
89/* Macintosh Zilog type numbers */89/* Macintosh Zilog type numbers */
include/uapi/linux/snmp.h+1−0
@@ -228,6 +228,7 @@ enum · 227 unmodified lines
228 LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */228 LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */
229 LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */229 LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */
230 LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */230 LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */
231 LINUX_MIB_TCPMEMORYPRESSURESCHRONO, /* TCPMemoryPressuresChrono */
231 LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */232 LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */
232 LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */233 LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */
233 LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */234 LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */
include/uapi/linux/switchtec_ioctl.h+3−0
@@ -39,6 +39,9 @@ struct switchtec_ioctl_flash_info { · 38 unmodified lines
39 __u32 padding;39 __u32 padding;
40};40};
41 41
42#define SWITCHTEC_IOCTL_PART_ACTIVE 1
43#define SWITCHTEC_IOCTL_PART_RUNNING 2
44
42struct switchtec_ioctl_flash_part_info {45struct switchtec_ioctl_flash_part_info {
43 __u32 flash_partition;46 __u32 flash_partition;
44 __u32 address;47 __u32 address;
include/uapi/linux/target_core_user.h+12−0
@@ -130,6 +130,11 @@ enum tcmu_genl_cmd { · 129 unmodified lines
130 TCMU_CMD_UNSPEC,130 TCMU_CMD_UNSPEC,
131 TCMU_CMD_ADDED_DEVICE,131 TCMU_CMD_ADDED_DEVICE,
132 TCMU_CMD_REMOVED_DEVICE,132 TCMU_CMD_REMOVED_DEVICE,
133 TCMU_CMD_RECONFIG_DEVICE,
134 TCMU_CMD_ADDED_DEVICE_DONE,
135 TCMU_CMD_REMOVED_DEVICE_DONE,
136 TCMU_CMD_RECONFIG_DEVICE_DONE,
137 TCMU_CMD_SET_FEATURES,
133 __TCMU_CMD_MAX,138 __TCMU_CMD_MAX,
134};139};
135#define TCMU_CMD_MAX (__TCMU_CMD_MAX - 1)140#define TCMU_CMD_MAX (__TCMU_CMD_MAX - 1)
@@ -138,6 +143,13 @@ enum tcmu_genl_attr { · 2 unmodified lines
138 TCMU_ATTR_UNSPEC,143 TCMU_ATTR_UNSPEC,
139 TCMU_ATTR_DEVICE,144 TCMU_ATTR_DEVICE,
140 TCMU_ATTR_MINOR,145 TCMU_ATTR_MINOR,
146 TCMU_ATTR_PAD,
147 TCMU_ATTR_DEV_CFG,
148 TCMU_ATTR_DEV_SIZE,
149 TCMU_ATTR_WRITECACHE,
150 TCMU_ATTR_CMD_STATUS,
151 TCMU_ATTR_DEVICE_ID,
152 TCMU_ATTR_SUPP_KERN_CMD_REPLY,
141 __TCMU_ATTR_MAX,153 __TCMU_ATTR_MAX,
142};154};
143#define TCMU_ATTR_MAX (__TCMU_ATTR_MAX - 1)155#define TCMU_ATTR_MAX (__TCMU_ATTR_MAX - 1)
include/uapi/linux/tc_act/tc_bpf.h+1−0
@@ -28,6 +28,7 @@ enum { · 27 unmodified lines
28 TCA_ACT_BPF_NAME,28 TCA_ACT_BPF_NAME,
29 TCA_ACT_BPF_PAD,29 TCA_ACT_BPF_PAD,
30 TCA_ACT_BPF_TAG,30 TCA_ACT_BPF_TAG,
31 TCA_ACT_BPF_ID,
31 __TCA_ACT_BPF_MAX,32 __TCA_ACT_BPF_MAX,
32};33};
33#define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1)34#define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1)
include/uapi/linux/tc_act/tc_tunnel_key.h+1−0
@@ -34,6 +34,7 @@ enum { · 33 unmodified lines
34 TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */34 TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */
35 TCA_TUNNEL_KEY_PAD,35 TCA_TUNNEL_KEY_PAD,
36 TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */36 TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */
37 TCA_TUNNEL_KEY_NO_CSUM, /* u8 */
37 __TCA_TUNNEL_KEY_MAX,38 __TCA_TUNNEL_KEY_MAX,
38};39};
39 40
include/uapi/linux/tcp.h+8−2
@@ -117,6 +117,8 @@ enum { · 116 unmodified lines
117#define TCP_SAVED_SYN 28 /* Get SYN headers recorded for connection */117#define TCP_SAVED_SYN 28 /* Get SYN headers recorded for connection */
118#define TCP_REPAIR_WINDOW 29 /* Get/set window parameters */118#define TCP_REPAIR_WINDOW 29 /* Get/set window parameters */
119#define TCP_FASTOPEN_CONNECT 30 /* Attempt FastOpen with connect */119#define TCP_FASTOPEN_CONNECT 30 /* Attempt FastOpen with connect */
120#define TCP_ULP 31 /* Attach a ULP to a TCP connection */
121#define TCP_MD5SIG_EXT 32 /* TCP MD5 Signature with extensions */
120 122
121struct tcp_repair_opt {123struct tcp_repair_opt {
122 __u32 opt_code;124 __u32 opt_code;
@@ -234,11 +236,15 @@ enum { · 111 unmodified lines
234/* for TCP_MD5SIG socket option */236/* for TCP_MD5SIG socket option */
235#define TCP_MD5SIG_MAXKEYLEN 80237#define TCP_MD5SIG_MAXKEYLEN 80
236 238
239/* tcp_md5sig extension flags for TCP_MD5SIG_EXT */
240#define TCP_MD5SIG_FLAG_PREFIX 1 /* address prefix length */
241
237struct tcp_md5sig {242struct tcp_md5sig {
238 struct __kernel_sockaddr_storage tcpm_addr; /* address associated */243 struct __kernel_sockaddr_storage tcpm_addr; /* address associated */
239 __u16 __tcpm_pad1; /* zero */244 __u8 tcpm_flags; /* extension flags */
245 __u8 tcpm_prefixlen; /* address prefix */
240 __u16 tcpm_keylen; /* key length */246 __u16 tcpm_keylen; /* key length */
241 __u32 __tcpm_pad2; /* zero */247 __u32 __tcpm_pad; /* zero */
242 __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */248 __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */
243};249};
244 250
include/uapi/linux/tls.h+79−0
@@ -0,0 +1,79 @@
1/*
2 * Copyright (c) 2016-2017, Mellanox Technologies. All rights reserved.
3 *
4 * This software is available to you under a choice of one of two
5 * licenses. You may choose to be licensed under the terms of the GNU
6 * General Public License (GPL) Version 2, available from the file
7 * COPYING in the main directory of this source tree, or the
8 * OpenIB.org BSD license below:
9 *
10 * Redistribution and use in source and binary forms, with or
11 * without modification, are permitted provided that the following
12 * conditions are met:
13 *
14 * - Redistributions of source code must retain the above
15 * copyright notice, this list of conditions and the following
16 * disclaimer.
17 *
18 * - Redistributions in binary form must reproduce the above
19 * copyright notice, this list of conditions and the following
20 * disclaimer in the documentation and/or other materials
21 * provided with the distribution.
22 *
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
27 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
28 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
29 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30 * SOFTWARE.
31 */
32
33#ifndef _UAPI_LINUX_TLS_H
34#define _UAPI_LINUX_TLS_H
35
36#include <linux/types.h>
37#include <asm/byteorder.h>
38#include <linux/socket.h>
39#include <linux/tcp.h>
40#include <net/tcp.h>
41
42/* TLS socket options */
43#define TLS_TX 1 /* Set transmit parameters */
44
45/* Supported versions */
46#define TLS_VERSION_MINOR(ver) ((ver) & 0xFF)
47#define TLS_VERSION_MAJOR(ver) (((ver) >> 8) & 0xFF)
48
49#define TLS_VERSION_NUMBER(id) ((((id##_VERSION_MAJOR) & 0xFF) << 8) | \
50 ((id##_VERSION_MINOR) & 0xFF))
51
52#define TLS_1_2_VERSION_MAJOR 0x3
53#define TLS_1_2_VERSION_MINOR 0x3
54#define TLS_1_2_VERSION TLS_VERSION_NUMBER(TLS_1_2)
55
56/* Supported ciphers */
57#define TLS_CIPHER_AES_GCM_128 51
58#define TLS_CIPHER_AES_GCM_128_IV_SIZE 8
59#define TLS_CIPHER_AES_GCM_128_KEY_SIZE 16
60#define TLS_CIPHER_AES_GCM_128_SALT_SIZE 4
61#define TLS_CIPHER_AES_GCM_128_TAG_SIZE 16
62#define TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE 8
63
64#define TLS_SET_RECORD_TYPE 1
65
66struct tls_crypto_info {
67 __u16 version;
68 __u16 cipher_type;
69};
70
71struct tls12_crypto_info_aes_gcm_128 {
72 struct tls_crypto_info info;
73 unsigned char iv[TLS_CIPHER_AES_GCM_128_IV_SIZE];
74 unsigned char key[TLS_CIPHER_AES_GCM_128_KEY_SIZE];
75 unsigned char salt[TLS_CIPHER_AES_GCM_128_SALT_SIZE];
76 unsigned char rec_seq[TLS_CIPHER_AES_GCM_128_REC_SEQ_SIZE];
77};
78
79#endif /* _UAPI_LINUX_TLS_H */
include/uapi/linux/tty.h+2−0
@@ -35,5 +35,7 @@ · 34 unmodified lines
35#define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */35#define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */
36#define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */36#define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */
37#define N_NCI 25 /* NFC NCI UART */37#define N_NCI 25 /* NFC NCI UART */
38#define N_SPEAKUP 26 /* Speakup communication with synths */
39#define N_NULL 27 /* Null ldisc used for error handling */
38 40
39#endif /* _UAPI_LINUX_TTY_H */41#endif /* _UAPI_LINUX_TTY_H */
include/uapi/linux/usb/audio.h+3−3
@@ -333,7 +333,7 @@ struct uac_processing_unit_descriptor { · 332 unmodified lines
333 __u8 bDescriptorType;333 __u8 bDescriptorType;
334 __u8 bDescriptorSubtype;334 __u8 bDescriptorSubtype;
335 __u8 bUnitID;335 __u8 bUnitID;
336 __u16 wProcessType;336 __le16 wProcessType;
337 __u8 bNrInPins;337 __u8 bNrInPins;
338 __u8 baSourceID[];338 __u8 baSourceID[];
339} __attribute__ ((packed));339} __attribute__ ((packed));
@@ -491,8 +491,8 @@ struct uac_format_type_ii_ext_descriptor { · 151 unmodified lines
491 __u8 bDescriptorType;491 __u8 bDescriptorType;
492 __u8 bDescriptorSubtype;492 __u8 bDescriptorSubtype;
493 __u8 bFormatType;493 __u8 bFormatType;
494 __u16 wMaxBitRate;494 __le16 wMaxBitRate;
495 __u16 wSamplesPerFrame;495 __le16 wSamplesPerFrame;
496 __u8 bHeaderLength;496 __u8 bHeaderLength;
497 __u8 bSideBandProtocol;497 __u8 bSideBandProtocol;
498} __attribute__((packed));498} __attribute__((packed));
include/uapi/linux/usb/functionfs.h+4−3
@@ -275,13 +275,14 @@ struct usb_functionfs_event { · 274 unmodified lines
275#define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128)275#define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128)
276 276
277/*277/*
278 * Returns real bEndpointAddress of an endpoint. If function is not278 * Returns real bEndpointAddress of an endpoint. If endpoint shuts down
279 * active returns -ENODEV.279 * during the call, returns -ESHUTDOWN.
280 */280 */
281#define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129)281#define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129)
282 282
283/*283/*
284 * Returns endpoint descriptor. If function is not active returns -ENODEV.284 * Returns endpoint descriptor. If endpoint shuts down during the call,
285 * returns -ESHUTDOWN.
285 */286 */
286#define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, \287#define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, \
287 struct usb_endpoint_descriptor)288 struct usb_endpoint_descriptor)
include/uapi/linux/usbdevice_fs.h+6−0
@@ -156,6 +156,11 @@ struct usbdevfs_streams { · 155 unmodified lines
156 unsigned char eps[0];156 unsigned char eps[0];
157};157};
158 158
159/*
160 * USB_SPEED_* values returned by USBDEVFS_GET_SPEED are defined in
161 * linux/usb/ch9.h
162 */
163
159#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)164#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
160#define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)165#define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
161#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)166#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
@@ -190,5 +195,6 @@ struct usbdevfs_streams { · 28 unmodified lines
190#define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams)195#define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams)
191#define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)196#define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)
192#define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32)197#define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32)
198#define USBDEVFS_GET_SPEED _IO('U', 31)
193 199
194#endif /* _UAPI_LINUX_USBDEVICE_FS_H */200#endif /* _UAPI_LINUX_USBDEVICE_FS_H */
include/uapi/linux/v4l2-controls.h+10−1
@@ -180,6 +180,15 @@ enum v4l2_colorfx { · 179 unmodified lines
180 * We reserve 16 controls for this driver. */180 * We reserve 16 controls for this driver. */
181#define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080)181#define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080)
182 182
183/* The base for the max217x driver controls.
184 * We reserve 32 controls for this driver
185 */
186#define V4L2_CID_USER_MAX217X_BASE (V4L2_CID_USER_BASE + 0x1090)
187
188/* The base for the imx driver controls.
189 * We reserve 16 controls for this driver. */
190#define V4L2_CID_USER_IMX_BASE (V4L2_CID_USER_BASE + 0x1090)
191
183/* MPEG-class control IDs */192/* MPEG-class control IDs */
184/* The MPEG controls are applicable to all codec controls193/* The MPEG controls are applicable to all codec controls
185 * and the 'MPEG' part of the define is historical */194 * and the 'MPEG' part of the define is historical */
@@ -893,7 +902,7 @@ enum v4l2_jpeg_chroma_subsampling { · 707 unmodified lines
893#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)902#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
894#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)903#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
895#define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)904#define V4L2_CID_DEINTERLACING_MODE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 4)
896 905#define V4L2_CID_DIGITAL_GAIN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 5)
897 906
898/* DV-class control IDs defined by V4L2 */907/* DV-class control IDs defined by V4L2 */
899#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)908#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
include/uapi/linux/videodev2.h+3−0
@@ -669,6 +669,9 @@ struct v4l2_pix_format { · 668 unmodified lines
669#define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */669#define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */
670#define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */670#define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */
671#define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */671#define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */
672#define V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6') /* planar complex u16be */
673#define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8') /* planar complex u18be */
674#define V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0') /* planar complex u20be */
672 675
673/* Touch formats - used for Touch devices */676/* Touch formats - used for Touch devices */
674#define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */677#define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */
include/uapi/linux/vtpm_proxy.h+4−0
@@ -46,4 +46,8 @@ struct vtpm_proxy_new_dev { · 45 unmodified lines
46 46
47#define VTPM_PROXY_IOC_NEW_DEV _IOWR(0xa1, 0x00, struct vtpm_proxy_new_dev)47#define VTPM_PROXY_IOC_NEW_DEV _IOWR(0xa1, 0x00, struct vtpm_proxy_new_dev)
48 48
49/* vendor specific commands to set locality */
50#define TPM2_CC_SET_LOCALITY 0x20001000
51#define TPM_ORD_SET_LOCALITY 0x20001000
52
49#endif /* _UAPI_LINUX_VTPM_PROXY_H */53#endif /* _UAPI_LINUX_VTPM_PROXY_H */
include/uapi/linux/wil6210_uapi.h+0−87
@@ -1,87 +0,0 @@
1/*
2 * Copyright (c) 2014 Qualcomm Atheros, Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17#ifndef __WIL6210_UAPI_H__
18#define __WIL6210_UAPI_H__
19
20#if !defined(__KERNEL__)
21#define __user
22#endif
23
24#include <linux/sockios.h>
25
26/* Numbers SIOCDEVPRIVATE and SIOCDEVPRIVATE + 1
27 * are used by Android devices to implement PNO (preferred network offload).
28 * Albeit it is temporary solution, use different numbers to avoid conflicts
29 */
30
31/**
32 * Perform 32-bit I/O operation to the card memory
33 *
34 * User code should arrange data in memory like this:
35 *
36 * struct wil_memio io;
37 * struct ifreq ifr = {
38 * .ifr_data = &io,
39 * };
40 */
41#define WIL_IOCTL_MEMIO (SIOCDEVPRIVATE + 2)
42
43/**
44 * Perform block I/O operation to the card memory
45 *
46 * User code should arrange data in memory like this:
47 *
48 * void *buf;
49 * struct wil_memio_block io = {
50 * .block = buf,
51 * };
52 * struct ifreq ifr = {
53 * .ifr_data = &io,
54 * };
55 */
56#define WIL_IOCTL_MEMIO_BLOCK (SIOCDEVPRIVATE + 3)
57
58/**
59 * operation to perform
60 *
61 * @wil_mmio_op_mask - bits defining operation,
62 * @wil_mmio_addr_mask - bits defining addressing mode
63 */
64enum wil_memio_op {
65 wil_mmio_read = 0,
66 wil_mmio_write = 1,
67 wil_mmio_op_mask = 0xff,
68 wil_mmio_addr_linker = 0 << 8,
69 wil_mmio_addr_ahb = 1 << 8,
70 wil_mmio_addr_bar = 2 << 8,
71 wil_mmio_addr_mask = 0xff00,
72};
73
74struct wil_memio {
75 uint32_t op; /* enum wil_memio_op */
76 uint32_t addr; /* should be 32-bit aligned */
77 uint32_t val;
78};
79
80struct wil_memio_block {
81 uint32_t op; /* enum wil_memio_op */
82 uint32_t addr; /* should be 32-bit aligned */
83 uint32_t size; /* should be multiple of 4 */
84 void __user *block; /* block address */
85};
86
87#endif /* __WIL6210_UAPI_H__ */
include/uapi/scsi/cxlflash_ioctl.h+83−2
@@ -17,6 +17,11 @@ · 16 unmodified lines
17 17
18#include <linux/types.h>18#include <linux/types.h>
19 19
20/*
21 * Structure and definitions for all CXL Flash ioctls
22 */
23#define CXLFLASH_WWID_LEN 16
24
20/*25/*
21 * Structure and flag definitions CXL Flash superpipe ioctls26 * Structure and flag definitions CXL Flash superpipe ioctls
22 */27 */
@@ -31,7 +36,7 @@ struct dk_cxlflash_hdr { · 8 unmodified lines
31};36};
32 37
33/*38/*
34 * Return flag definitions available to all ioctls39 * Return flag definitions available to all superpipe ioctls
35 *40 *
36 * Similar to the input flags, these are grown from the bottom-up with the41 * Similar to the input flags, these are grown from the bottom-up with the
37 * intention that ioctl-specific return flag definitions would grow from the42 * intention that ioctl-specific return flag definitions would grow from the
@@ -151,7 +156,7 @@ struct dk_cxlflash_recover_afu { · 113 unmodified lines
151 __u64 reserved[8]; /* Reserved for future use */156 __u64 reserved[8]; /* Reserved for future use */
152};157};
153 158
154#define DK_CXLFLASH_MANAGE_LUN_WWID_LEN 16159#define DK_CXLFLASH_MANAGE_LUN_WWID_LEN CXLFLASH_WWID_LEN
155#define DK_CXLFLASH_MANAGE_LUN_ENABLE_SUPERPIPE 0x8000000000000000ULL160#define DK_CXLFLASH_MANAGE_LUN_ENABLE_SUPERPIPE 0x8000000000000000ULL
156#define DK_CXLFLASH_MANAGE_LUN_DISABLE_SUPERPIPE 0x4000000000000000ULL161#define DK_CXLFLASH_MANAGE_LUN_DISABLE_SUPERPIPE 0x4000000000000000ULL
157#define DK_CXLFLASH_MANAGE_LUN_ALL_PORTS_ACCESSIBLE 0x2000000000000000ULL162#define DK_CXLFLASH_MANAGE_LUN_ALL_PORTS_ACCESSIBLE 0x2000000000000000ULL
@@ -180,6 +185,10 @@ union cxlflash_ioctls { · 22 unmodified lines
180#define CXL_MAGIC 0xCA185#define CXL_MAGIC 0xCA
181#define CXL_IOWR(_n, _s) _IOWR(CXL_MAGIC, _n, struct _s)186#define CXL_IOWR(_n, _s) _IOWR(CXL_MAGIC, _n, struct _s)
182 187
188/*
189 * CXL Flash superpipe ioctls start at base of the reserved CXL_MAGIC
190 * region (0x80) and grow upwards.
191 */
183#define DK_CXLFLASH_ATTACH CXL_IOWR(0x80, dk_cxlflash_attach)192#define DK_CXLFLASH_ATTACH CXL_IOWR(0x80, dk_cxlflash_attach)
184#define DK_CXLFLASH_USER_DIRECT CXL_IOWR(0x81, dk_cxlflash_udirect)193#define DK_CXLFLASH_USER_DIRECT CXL_IOWR(0x81, dk_cxlflash_udirect)
185#define DK_CXLFLASH_RELEASE CXL_IOWR(0x82, dk_cxlflash_release)194#define DK_CXLFLASH_RELEASE CXL_IOWR(0x82, dk_cxlflash_release)
@@ -191,4 +200,76 @@ union cxlflash_ioctls { · 5 unmodified lines
191#define DK_CXLFLASH_VLUN_RESIZE CXL_IOWR(0x88, dk_cxlflash_resize)200#define DK_CXLFLASH_VLUN_RESIZE CXL_IOWR(0x88, dk_cxlflash_resize)
192#define DK_CXLFLASH_VLUN_CLONE CXL_IOWR(0x89, dk_cxlflash_clone)201#define DK_CXLFLASH_VLUN_CLONE CXL_IOWR(0x89, dk_cxlflash_clone)
193 202
203/*
204 * Structure and flag definitions CXL Flash host ioctls
205 */
206
207#define HT_CXLFLASH_VERSION_0 0
208
209struct ht_cxlflash_hdr {
210 __u16 version; /* Version data */
211 __u16 subcmd; /* Sub-command */
212 __u16 rsvd[2]; /* Reserved for future use */
213 __u64 flags; /* Input flags */
214 __u64 return_flags; /* Returned flags */
215};
216
217/*
218 * Input flag definitions available to all host ioctls
219 *
220 * These are grown from the bottom-up with the intention that ioctl-specific
221 * input flag definitions would grow from the top-down, allowing the two sets
222 * to co-exist. While not required/enforced at this time, this provides future
223 * flexibility.
224 */
225#define HT_CXLFLASH_HOST_READ 0x0000000000000000ULL
226#define HT_CXLFLASH_HOST_WRITE 0x0000000000000001ULL
227
228#define HT_CXLFLASH_LUN_PROVISION_SUBCMD_CREATE_LUN 0x0001
229#define HT_CXLFLASH_LUN_PROVISION_SUBCMD_DELETE_LUN 0x0002
230#define HT_CXLFLASH_LUN_PROVISION_SUBCMD_QUERY_PORT 0x0003
231
232struct ht_cxlflash_lun_provision {
233 struct ht_cxlflash_hdr hdr; /* Common fields */
234 __u16 port; /* Target port for provision request */
235 __u16 reserved16[3]; /* Reserved for future use */
236 __u64 size; /* Size of LUN (4K blocks) */
237 __u64 lun_id; /* SCSI LUN ID */
238 __u8 wwid[CXLFLASH_WWID_LEN];/* Page83 WWID, NAA-6 */
239 __u64 max_num_luns; /* Maximum number of LUNs provisioned */
240 __u64 cur_num_luns; /* Current number of LUNs provisioned */
241 __u64 max_cap_port; /* Total capacity for port (4K blocks) */
242 __u64 cur_cap_port; /* Current capacity for port (4K blocks) */
243 __u64 reserved[8]; /* Reserved for future use */
244};
245
246#define HT_CXLFLASH_AFU_DEBUG_MAX_DATA_LEN 262144 /* 256K */
247#define HT_CXLFLASH_AFU_DEBUG_SUBCMD_LEN 12
248struct ht_cxlflash_afu_debug {
249 struct ht_cxlflash_hdr hdr; /* Common fields */
250 __u8 reserved8[4]; /* Reserved for future use */
251 __u8 afu_subcmd[HT_CXLFLASH_AFU_DEBUG_SUBCMD_LEN]; /* AFU subcommand,
252 * (pass through)
253 */
254 __u64 data_ea; /* Data buffer effective address */
255 __u32 data_len; /* Data buffer length */
256 __u32 reserved32; /* Reserved for future use */
257 __u64 reserved[8]; /* Reserved for future use */
258};
259
260union cxlflash_ht_ioctls {
261 struct ht_cxlflash_lun_provision lun_provision;
262 struct ht_cxlflash_afu_debug afu_debug;
263};
264
265#define MAX_HT_CXLFLASH_IOCTL_SZ (sizeof(union cxlflash_ht_ioctls))
266
267/*
268 * CXL Flash host ioctls start at the top of the reserved CXL_MAGIC
269 * region (0xBF) and grow downwards.
270 */
271#define HT_CXLFLASH_LUN_PROVISION CXL_IOWR(0xBF, ht_cxlflash_lun_provision)
272#define HT_CXLFLASH_AFU_DEBUG CXL_IOWR(0xBE, ht_cxlflash_afu_debug)
273
274
194#endif /* ifndef _CXLFLASH_IOCTL_H */275#endif /* ifndef _CXLFLASH_IOCTL_H */
include/uapi/sound/asoc.h+9−1
@@ -73,7 +73,15 @@ · 72 unmodified lines
73#define SND_SOC_TPLG_DAPM_DAI_IN 1373#define SND_SOC_TPLG_DAPM_DAI_IN 13
74#define SND_SOC_TPLG_DAPM_DAI_OUT 1474#define SND_SOC_TPLG_DAPM_DAI_OUT 14
75#define SND_SOC_TPLG_DAPM_DAI_LINK 1575#define SND_SOC_TPLG_DAPM_DAI_LINK 15
76#define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DAI_LINK76#define SND_SOC_TPLG_DAPM_BUFFER 16
77#define SND_SOC_TPLG_DAPM_SCHEDULER 17
78#define SND_SOC_TPLG_DAPM_EFFECT 18
79#define SND_SOC_TPLG_DAPM_SIGGEN 19
80#define SND_SOC_TPLG_DAPM_SRC 20
81#define SND_SOC_TPLG_DAPM_ASRC 21
82#define SND_SOC_TPLG_DAPM_ENCODER 22
83#define SND_SOC_TPLG_DAPM_DECODER 23
84#define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DECODER
77 85
78/* Header magic number and string sizes */86/* Header magic number and string sizes */
79#define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */87#define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */
include/uapi/sound/asound.h+3−1
@@ -152,7 +152,7 @@ struct snd_hwdep_dsp_image { · 151 unmodified lines
152 * *152 * *
153 *****************************************************************************/153 *****************************************************************************/
154 154
155#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 13)155#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 14)
156 156
157typedef unsigned long snd_pcm_uframes_t;157typedef unsigned long snd_pcm_uframes_t;
158typedef signed long snd_pcm_sframes_t;158typedef signed long snd_pcm_sframes_t;
@@ -268,6 +268,7 @@ typedef int __bitwise snd_pcm_subformat_t; · 109 unmodified lines
268#define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 /* period data are valid during transfer */268#define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 /* period data are valid during transfer */
269#define SNDRV_PCM_INFO_DOUBLE 0x00000004 /* Double buffering needed for PCM start/stop */269#define SNDRV_PCM_INFO_DOUBLE 0x00000004 /* Double buffering needed for PCM start/stop */
270#define SNDRV_PCM_INFO_BATCH 0x00000010 /* double buffering */270#define SNDRV_PCM_INFO_BATCH 0x00000010 /* double buffering */
271#define SNDRV_PCM_INFO_SYNC_APPLPTR 0x00000020 /* need the explicit sync of appl_ptr update */
271#define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 /* channels are interleaved */272#define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 /* channels are interleaved */
272#define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 /* channels are not interleaved */273#define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 /* channels are not interleaved */
273#define SNDRV_PCM_INFO_COMPLEX 0x00000400 /* complex frame organization (mmap only) */274#define SNDRV_PCM_INFO_COMPLEX 0x00000400 /* complex frame organization (mmap only) */
@@ -563,6 +564,7 @@ enum { · 289 unmodified lines
563#define SNDRV_PCM_IOCTL_INFO _IOR('A', 0x01, struct snd_pcm_info)564#define SNDRV_PCM_IOCTL_INFO _IOR('A', 0x01, struct snd_pcm_info)
564#define SNDRV_PCM_IOCTL_TSTAMP _IOW('A', 0x02, int)565#define SNDRV_PCM_IOCTL_TSTAMP _IOW('A', 0x02, int)
565#define SNDRV_PCM_IOCTL_TTSTAMP _IOW('A', 0x03, int)566#define SNDRV_PCM_IOCTL_TTSTAMP _IOW('A', 0x03, int)
567#define SNDRV_PCM_IOCTL_USER_PVERSION _IOW('A', 0x04, int)
566#define SNDRV_PCM_IOCTL_HW_REFINE _IOWR('A', 0x10, struct snd_pcm_hw_params)568#define SNDRV_PCM_IOCTL_HW_REFINE _IOWR('A', 0x10, struct snd_pcm_hw_params)
567#define SNDRV_PCM_IOCTL_HW_PARAMS _IOWR('A', 0x11, struct snd_pcm_hw_params)569#define SNDRV_PCM_IOCTL_HW_PARAMS _IOWR('A', 0x11, struct snd_pcm_hw_params)
568#define SNDRV_PCM_IOCTL_HW_FREE _IO('A', 0x12)570#define SNDRV_PCM_IOCTL_HW_FREE _IO('A', 0x12)
include/uapi/sound/snd_sst_tokens.h+6−2
@@ -161,6 +161,8 @@ · 160 unmodified lines
161 *161 *
162 * %SKL_TKL_U32_D0I3_CAPS: Specifies the D0i3 capability for module162 * %SKL_TKL_U32_D0I3_CAPS: Specifies the D0i3 capability for module
163 *163 *
164 * %SKL_TKN_U32_DMA_BUF_SIZE: DMA buffer size in millisec
165 *
164 * module_id and loadable flags dont have tokens as these values will be166 * module_id and loadable flags dont have tokens as these values will be
165 * read from the DSP FW manifest167 * read from the DSP FW manifest
166 */168 */
@@ -213,8 +215,10 @@ enum SKL_TKNS { · 46 unmodified lines
213 SKL_TKN_U32_LIB_COUNT,215 SKL_TKN_U32_LIB_COUNT,
214 SKL_TKN_STR_LIB_NAME,216 SKL_TKN_STR_LIB_NAME,
215 SKL_TKN_U32_PMODE,217 SKL_TKN_U32_PMODE,
216 SKL_TKL_U32_D0I3_CAPS,218 SKL_TKL_U32_D0I3_CAPS, /* Typo added at v4.10 */
217 SKL_TKN_MAX = SKL_TKL_U32_D0I3_CAPS,219 SKL_TKN_U32_D0I3_CAPS = SKL_TKL_U32_D0I3_CAPS,
220 SKL_TKN_U32_DMA_BUF_SIZE,
221 SKL_TKN_MAX = SKL_TKN_U32_DMA_BUF_SIZE,
218};222};
219 223
220#endif224#endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t