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
7777 #define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */
7878 #define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */
7979 #define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */
80+#define TIOCGPTPEER _IO('T', 0x41) /* Safely open the slave */
8081
8182 #define FIONCLEX 0x5450
8283 #define FIOCLEX 0x5451
include/uapi/asm-generic/socket.h+4−0
@@ -100,4 +100,8 @@ · 99 unmodified lines
100100
101101 #define SO_COOKIE 57
102102
103+#define SCM_TIMESTAMPING_PKTINFO 58
104+
105+#define SO_PEERGROUPS 59
106+
103107 #endif /* __ASM_GENERIC_SOCKET_H */
include/uapi/drm/amdgpu_drm.h+37−1
@@ -51,6 +51,7 @@ extern "C" { · 50 unmodified lines
5151 #define DRM_AMDGPU_GEM_OP 0x10
5252 #define DRM_AMDGPU_GEM_USERPTR 0x11
5353 #define DRM_AMDGPU_WAIT_FENCES 0x12
54+#define DRM_AMDGPU_VM 0x13
5455
5556 #define DRM_IOCTL_AMDGPU_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_CREATE, union drm_amdgpu_gem_create)
5657 #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
6566 #define DRM_IOCTL_AMDGPU_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_OP, struct drm_amdgpu_gem_op)
6667 #define DRM_IOCTL_AMDGPU_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_USERPTR, struct drm_amdgpu_gem_userptr)
6768 #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)
6870
6971 #define AMDGPU_GEM_DOMAIN_CPU 0x1
7072 #define AMDGPU_GEM_DOMAIN_GTT 0x2
@@ -190,6 +192,26 @@ union drm_amdgpu_ctx { · 119 unmodified lines
190192 union drm_amdgpu_ctx_out out;
191193 };
192194
195+/* vm ioctl */
196+#define AMDGPU_VM_OP_RESERVE_VMID 1
197+#define AMDGPU_VM_OP_UNRESERVE_VMID 2
198+
199+struct drm_amdgpu_vm_in {
200+ /** AMDGPU_VM_OP_* */
201+ __u32 op;
202+ __u32 flags;
203+};
204+
205+struct drm_amdgpu_vm_out {
206+ /** For future use, no flags defined so far */
207+ __u64 flags;
208+};
209+
210+union drm_amdgpu_vm {
211+ struct drm_amdgpu_vm_in in;
212+ struct drm_amdgpu_vm_out out;
213+};
214+
193215 /*
194216 * This is not a reliable API and you should expect it to fail for any
195217 * 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
409431 #define AMDGPU_HW_IP_UVD 3
410432 #define AMDGPU_HW_IP_VCE 4
411433 #define AMDGPU_HW_IP_UVD_ENC 5
412−#define AMDGPU_HW_IP_NUM 6
434+#define AMDGPU_HW_IP_VCN_DEC 6
435+#define AMDGPU_HW_IP_VCN_ENC 7
436+#define AMDGPU_HW_IP_NUM 8
413437
414438 #define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1
415439
416440 #define AMDGPU_CHUNK_ID_IB 0x01
417441 #define AMDGPU_CHUNK_ID_FENCE 0x02
418442 #define AMDGPU_CHUNK_ID_DEPENDENCIES 0x03
443+#define AMDGPU_CHUNK_ID_SYNCOBJ_IN 0x04
444+#define AMDGPU_CHUNK_ID_SYNCOBJ_OUT 0x05
419445
420446 struct drm_amdgpu_cs_chunk {
421447 __u32 chunk_id;
@@ -483,6 +509,10 @@ struct drm_amdgpu_cs_chunk_fence { · 61 unmodified lines
483509 __u32 offset;
484510 };
485511
512+struct drm_amdgpu_cs_chunk_sem {
513+ __u32 handle;
514+};
515+
486516 struct drm_amdgpu_cs_chunk_data {
487517 union {
488518 struct drm_amdgpu_cs_chunk_ib ib_data;
@@ -579,6 +609,8 @@ struct drm_amdgpu_cs_chunk_data { · 90 unmodified lines
579609 #define AMDGPU_INFO_SENSOR_VDDNB 0x6
580610 /* Subquery id: Query graphics voltage */
581611 #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
582614
583615 #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0
584616 #define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff
@@ -732,6 +764,7 @@ struct drm_amdgpu_info_device { · 147 unmodified lines
732764 __u64 max_memory_clock;
733765 /* cu information */
734766 __u32 cu_active_number;
767+ /* NOTE: cu_ao_mask is INVALID, DON'T use it */
735768 __u32 cu_ao_mask;
736769 __u32 cu_bitmap[4][4];
737770 /** Render backend pipe mask. One render backend is CB+DB. */
@@ -786,6 +819,8 @@ struct drm_amdgpu_info_device { · 48 unmodified lines
786819 /* max gs wavefront per vgt*/
787820 __u32 max_gs_waves_per_vgt;
788821 __u32 _pad1;
822+ /* always on cu bitmap */
823+ __u32 cu_ao_bitmap[4][4];
789824 };
790825
791826 struct drm_amdgpu_info_hw_ip {
@@ -838,6 +873,7 @@ struct drm_amdgpu_info_vce_clock_table { · 46 unmodified lines
838873 #define AMDGPU_FAMILY_VI 130 /* Iceland, Tonga */
839874 #define AMDGPU_FAMILY_CZ 135 /* Carrizo, Stoney */
840875 #define AMDGPU_FAMILY_AI 141 /* Vega10 */
876+#define AMDGPU_FAMILY_RV 142 /* Raven */
841877
842878 #if defined(__cplusplus)
843879 }
include/uapi/drm/drm.h+26−0
@@ -648,6 +648,7 @@ struct drm_gem_open { · 647 unmodified lines
648648 #define DRM_CAP_ADDFB2_MODIFIERS 0x10
649649 #define DRM_CAP_PAGE_FLIP_TARGET 0x11
650650 #define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12
651+#define DRM_CAP_SYNCOBJ 0x13
651652
652653 /** DRM_IOCTL_GET_CAP ioctl argument type */
653654 struct drm_get_cap {
@@ -697,6 +698,26 @@ struct drm_prime_handle { · 43 unmodified lines
697698 __s32 fd;
698699 };
699700
701+struct drm_syncobj_create {
702+ __u32 handle;
703+ __u32 flags;
704+};
705+
706+struct 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)
713+struct drm_syncobj_handle {
714+ __u32 handle;
715+ __u32 flags;
716+
717+ __s32 fd;
718+ __u32 pad;
719+};
720+
700721 #if defined(__cplusplus)
701722 }
702723 #endif
@@ -815,6 +836,11 @@ extern "C" { · 112 unmodified lines
815836 #define DRM_IOCTL_MODE_CREATEPROPBLOB DRM_IOWR(0xBD, struct drm_mode_create_blob)
816837 #define DRM_IOCTL_MODE_DESTROYPROPBLOB DRM_IOWR(0xBE, struct drm_mode_destroy_blob)
817838
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+
818844 /**
819845 * Device specific ioctls should only be in their respective headers
820846 * 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
182182 #define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04
183183 #define DRM_FORMAT_MOD_VENDOR_QCOM 0x05
184184 #define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06
185+#define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07
185186 /* add more to the end as needed */
186187
187188 #define fourcc_mod_code(vendor, val) \
@@ -306,7 +307,6 @@ extern "C" { · 118 unmodified lines
306307 */
307308 #define DRM_FORMAT_MOD_VIVANTE_SPLIT_SUPER_TILED fourcc_mod_code(VIVANTE, 4)
308309
309−
310310 /* NVIDIA Tegra frame buffer modifiers */
311311
312312 /*
@@ -351,6 +351,27 @@ extern "C" { · 38 unmodified lines
351351 */
352352 #define NV_FORMAT_MOD_TEGRA_16BX2_BLOCK(v) fourcc_mod_tegra_code(2, v)
353353
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+
354375 #if defined(__cplusplus)
355376 }
356377 #endif
include/uapi/drm/drm_mode.h+48−1
@@ -75,7 +75,7 @@ extern "C" { · 74 unmodified lines
7575 * (define not exposed to user space).
7676 */
7777 #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)
7979 #define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14)
8080 #define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14)
8181 #define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14)
@@ -127,6 +127,53 @@ extern "C" { · 45 unmodified lines
127127 #define DRM_MODE_LINK_STATUS_GOOD 0
128128 #define DRM_MODE_LINK_STATUS_BAD 1
129129
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+
130177 struct drm_mode_modeinfo {
131178 __u32 clock;
132179 __u16 hdisplay;
include/uapi/drm/i915_drm.h+52−9
@@ -412,6 +412,25 @@ typedef struct drm_i915_irq_wait { · 411 unmodified lines
412412 */
413413 #define I915_PARAM_HAS_EXEC_FENCE 44
414414
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+
415434 typedef struct drm_i915_getparam {
416435 __s32 param;
417436 /*
@@ -666,6 +685,8 @@ struct drm_i915_gem_relocation_entry { · 248 unmodified lines
666685 #define I915_GEM_DOMAIN_VERTEX 0x00000020
667686 /** GTT domain - aperture and scanout */
668687 #define I915_GEM_DOMAIN_GTT 0x00000040
688+/** WC domain - uncached access */
689+#define I915_GEM_DOMAIN_WC 0x00000080
669690 /** @} */
670691
671692 struct drm_i915_gem_exec_object {
@@ -773,8 +794,15 @@ struct drm_i915_gem_exec_object2 { · 101 unmodified lines
773794 * I915_PARAM_HAS_EXEC_FENCE to order execbufs and execute them asynchronously.
774795 */
775796 #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)
776804 /* 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)
778806 __u64 flags;
779807
780808 union {
@@ -889,7 +917,17 @@ struct drm_i915_gem_execbuffer2 { · 108 unmodified lines
889917 */
890918 #define I915_EXEC_FENCE_OUT (1<<17)
891919
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))
893931
894932 #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
895933 #define i915_execbuffer2_set_context_id(eb2, context) \
@@ -1293,13 +1331,18 @@ struct drm_i915_gem_context_param { · 397 unmodified lines
12931331 };
12941332
12951333 enum drm_i915_oa_format {
1296− I915_OA_FORMAT_A13 = 1,
1297− I915_OA_FORMAT_A29,
1298− I915_OA_FORMAT_A13_B8_C8,
1299− I915_OA_FORMAT_B4_C8,
1300− I915_OA_FORMAT_A45_B8_C8,
1301− I915_OA_FORMAT_B4_C8_A16,
1302− I915_OA_FORMAT_C4_B8,
1334+ I915_OA_FORMAT_A13 = 1, /* HSW only */
1335+ I915_OA_FORMAT_A29, /* HSW only */
1336+ I915_OA_FORMAT_A13_B8_C8, /* HSW only */
1337+ I915_OA_FORMAT_B4_C8, /* HSW only */
1338+ I915_OA_FORMAT_A45_B8_C8, /* HSW only */
1339+ I915_OA_FORMAT_B4_C8_A16, /* HSW only */
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,
13031346
13041347 I915_OA_FORMAT_MAX /* non-ABI */
13051348 };
include/uapi/drm/msm_drm.h+6−3
@@ -104,10 +104,14 @@ struct drm_msm_gem_new { · 103 unmodified lines
104104 __u32 handle; /* out */
105105 };
106106
107+#define MSM_INFO_IOVA 0x01
108+
109+#define MSM_INFO_FLAGS (MSM_INFO_IOVA)
110+
107111 struct drm_msm_gem_info {
108112 __u32 handle; /* in */
109− __u32 pad;
110− __u64 offset; /* out, offset to pass to mmap() */
113+ __u32 flags; /* in - combination of MSM_INFO_* flags */
114+ __u64 offset; /* out, mmap() offset or iova */
111115 };
112116
113117 #define MSM_PREP_READ 0x01
@@ -261,7 +265,6 @@ struct drm_msm_gem_madvise { · 147 unmodified lines
261265 #define DRM_MSM_GEM_SUBMIT 0x06
262266 #define DRM_MSM_WAIT_FENCE 0x07
263267 #define DRM_MSM_GEM_MADVISE 0x08
264−#define DRM_MSM_NUM_IOCTLS 0x09
265268
266269 #define DRM_IOCTL_MSM_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GET_PARAM, struct drm_msm_param)
267270 #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
106106 #define DRM_OMAP_GET_PARAM 0x00
107107 #define DRM_OMAP_SET_PARAM 0x01
108108 #define DRM_OMAP_GEM_NEW 0x03
109−#define DRM_OMAP_GEM_CPU_PREP 0x04
110−#define DRM_OMAP_GEM_CPU_FINI 0x05
109+#define DRM_OMAP_GEM_CPU_PREP 0x04 /* Deprecated, to be removed */
110+#define DRM_OMAP_GEM_CPU_FINI 0x05 /* Deprecated, to be removed */
111111 #define DRM_OMAP_GEM_INFO 0x06
112112 #define DRM_OMAP_NUM_IOCTLS 0x07
113113
include/uapi/drm/vc4_drm.h+16−0
@@ -38,6 +38,8 @@ extern "C" { · 37 unmodified lines
3838 #define DRM_VC4_CREATE_SHADER_BO 0x05
3939 #define DRM_VC4_GET_HANG_STATE 0x06
4040 #define DRM_VC4_GET_PARAM 0x07
41+#define DRM_VC4_SET_TILING 0x08
42+#define DRM_VC4_GET_TILING 0x09
4143
4244 #define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl)
4345 #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
4749 #define DRM_IOCTL_VC4_CREATE_SHADER_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_CREATE_SHADER_BO, struct drm_vc4_create_shader_bo)
4850 #define DRM_IOCTL_VC4_GET_HANG_STATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_HANG_STATE, struct drm_vc4_get_hang_state)
4951 #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)
5054
5155 struct drm_vc4_submit_rcl_surface {
5256 __u32 hindex; /* Handle index, or ~0 if not present. */
@@ -295,6 +299,18 @@ struct drm_vc4_get_param { · 242 unmodified lines
295299 __u64 value;
296300 };
297301
302+struct drm_vc4_get_tiling {
303+ __u32 handle;
304+ __u32 flags;
305+ __u64 modifier;
306+};
307+
308+struct drm_vc4_set_tiling {
309+ __u32 handle;
310+ __u32 flags;
311+ __u64 modifier;
312+};
313+
298314 #if defined(__cplusplus)
299315 }
300316 #endif
include/uapi/linux/auto_fs.h+2−2
@@ -26,7 +26,7 @@ · 25 unmodified lines
2626 #define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
2727
2828 /*
29− * The wait_queue_entry_token (autofs_wqt_t) is part of a structure which is passed
29+ * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
3030 * back to the kernel via ioctl from userspace. On architectures where 32- and
3131 * 64-bit userspace binaries can be executed it's important that the size of
3232 * 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
4949
5050 struct autofs_packet_missing {
5151 struct autofs_packet_hdr hdr;
52− autofs_wqt_t wait_queue_entry_token;
52+ autofs_wqt_t wait_queue_token;
5353 int len;
5454 char name[NAME_MAX+1];
5555 };
include/uapi/linux/auto_fs4.h+2−2
@@ -108,7 +108,7 @@ enum autofs_notify { · 107 unmodified lines
108108 /* v4 multi expire (via pipe) */
109109 struct autofs_packet_expire_multi {
110110 struct autofs_packet_hdr hdr;
111− autofs_wqt_t wait_queue_entry_token;
111+ autofs_wqt_t wait_queue_token;
112112 int len;
113113 char name[NAME_MAX+1];
114114 };
@@ -123,7 +123,7 @@ union autofs_packet_union { · 8 unmodified lines
123123 /* autofs v5 common packet struct */
124124 struct autofs_v5_packet {
125125 struct autofs_packet_hdr hdr;
126− autofs_wqt_t wait_queue_entry_token;
126+ autofs_wqt_t wait_queue_token;
127127 __u32 dev;
128128 __u64 ino;
129129 __u32 uid;
include/uapi/linux/bpf.h+135−5
@@ -82,6 +82,11 @@ enum bpf_cmd { · 81 unmodified lines
8282 BPF_PROG_ATTACH,
8383 BPF_PROG_DETACH,
8484 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,
8590 };
8691
8792 enum bpf_map_type {
@@ -115,12 +120,14 @@ enum bpf_prog_type { · 27 unmodified lines
115120 BPF_PROG_TYPE_LWT_IN,
116121 BPF_PROG_TYPE_LWT_OUT,
117122 BPF_PROG_TYPE_LWT_XMIT,
123+ BPF_PROG_TYPE_SOCK_OPS,
118124 };
119125
120126 enum bpf_attach_type {
121127 BPF_CGROUP_INET_INGRESS,
122128 BPF_CGROUP_INET_EGRESS,
123129 BPF_CGROUP_INET_SOCK_CREATE,
130+ BPF_CGROUP_SOCK_OPS,
124131 __MAX_BPF_ATTACH_TYPE
125132 };
126133
@@ -209,6 +216,21 @@ union bpf_attr { · 82 unmodified lines
209216 __u32 repeat;
210217 __u32 duration;
211218 } 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;
212234 } __attribute__((aligned(8)));
213235
214236 /* BPF helper function descriptions:
@@ -313,8 +335,11 @@ union bpf_attr { · 98 unmodified lines
313335 * @flags: room for future extensions
314336 * Return: 0 on success or negative error
315337 *
316− * u64 bpf_perf_event_read(&map, index)
317− * Return: Number events read or error code
338+ * u64 bpf_perf_event_read(map, flags)
339+ * 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
318343 *
319344 * int bpf_redirect(ifindex, flags)
320345 * redirect to another netdev
@@ -328,11 +353,11 @@ union bpf_attr { · 7 unmodified lines
328353 * @skb: pointer to skb
329354 * Return: realm if != 0
330355 *
331− * int bpf_perf_event_output(ctx, map, index, data, size)
356+ * int bpf_perf_event_output(ctx, map, flags, data, size)
332357 * output perf raw sample
333358 * @ctx: struct pt_regs*
334359 * @map: pointer to perf_event_array map
335− * @index: index of event in the map
360+ * @flags: index of event in the map or bitmask flags
336361 * @data: data on stack to be output as raw data
337362 * @size: size of data
338363 * Return: 0 on success or negative error
@@ -490,6 +515,30 @@ union bpf_attr { · 151 unmodified lines
490515 * Get the owner uid of the socket stored inside sk_buff.
491516 * @skb: pointer to skb
492517 * 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
493542 */
494543 #define __BPF_FUNC_MAPPER(FN) \
495544 FN(unspec), \
@@ -539,7 +588,10 @@ union bpf_attr { · 43 unmodified lines
539588 FN(xdp_adjust_head), \
540589 FN(probe_read_str), \
541590 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),
543595
544596 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
545597 * function eBPF program intends to call
@@ -589,6 +641,11 @@ enum bpf_func_id { · 43 unmodified lines
589641 /* BPF_FUNC_perf_event_output for sk_buff input context. */
590642 #define BPF_F_CTXLEN_MASK (0xfffffULL << 32)
591643
644+/* Mode for BPF_FUNC_skb_adjust_room helper. */
645+enum bpf_adj_room_mode {
646+ BPF_ADJ_ROOM_NET,
647+};
648+
592649 /* user accessible mirror of in-kernel sk_buff.
593650 * new fields can only be added to the end of this structure
594651 */
@@ -670,4 +727,77 @@ struct xdp_md { · 75 unmodified lines
670727 __u32 data_end;
671728 };
672729
730+#define BPF_TAG_SIZE 8
731+
732+struct 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+
742+struct 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+ */
757+struct 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+ */
775+enum {
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+
673803 #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
426426 char name[BTRFS_INO_LOOKUP_PATH_MAX];
427427 };
428428
429+/* Search criteria for the btrfs SEARCH ioctl family. */
429430 struct btrfs_ioctl_search_key {
430− /* which root are we searching. 0 is the tree of tree roots */
431− __u64 tree_id;
432−
433− /* keys returned will be >= min and <= max */
434− __u64 min_objectid;
435− __u64 max_objectid;
436−
437− /* keys returned will be >= min and <= max */
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;
431+ /*
432+ * The tree we're searching in. 1 is the tree of tree roots, 2 is the
433+ * extent tree, etc...
434+ *
435+ * A special tree_id value of 0 will cause a search in the subvolume
436+ * tree that the inode which is passed to the ioctl is part of.
437+ */
438+ __u64 tree_id; /* in */
444439
445− /* keys returned will be >= min and <= max */
446− __u32 min_type;
447− __u32 max_type;
440+ /*
441+ * When doing a tree search, we're actually taking a slice from a
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 */
448468
449469 /*
450− * how many items did userland ask for, and how many are we
451− * returning
470+ * input: The maximum amount of results desired.
471+ * 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
452475 */
453− __u32 nr_items;
476+ __u32 nr_items; /* in/out */
454477
455478 /* align to 64 bits */
456479 __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
336336 #define CEC_CAP_RC (1 << 4)
337337 /* Hardware can monitor all messages, not just directed and broadcast. */
338338 #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)
339341
340342 /**
341343 * struct cec_caps - CEC capabilities structure.
include/uapi/linux/dm-ioctl.h+3−1
@@ -240,7 +240,8 @@ enum { · 239 unmodified lines
240240 /* Added later */
241241 DM_LIST_VERSIONS_CMD,
242242 DM_TARGET_MSG_CMD,
243− DM_DEV_SET_GEOMETRY_CMD
243+ DM_DEV_SET_GEOMETRY_CMD,
244+ DM_DEV_ARM_POLL_CMD,
244245 };
245246
246247 #define DM_IOCTL 0xfd
@@ -255,6 +256,7 @@ enum { · 8 unmodified lines
255256 #define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl)
256257 #define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl)
257258 #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)
258260
259261 #define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl)
260262 #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
134134 #define VIDEO_EVENT_FRAME_RATE_CHANGED 2
135135 #define VIDEO_EVENT_DECODER_STOPPED 3
136136 #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;
138139 union {
139140 video_size_t size;
140141 unsigned int frame_rate; /* in frames per 1000sec */
include/uapi/linux/fs.h+2−0
@@ -272,6 +272,8 @@ struct fsxattr { · 271 unmodified lines
272272 #define FS_ENCRYPTION_MODE_AES_256_GCM 2
273273 #define FS_ENCRYPTION_MODE_AES_256_CBC 3
274274 #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
275277
276278 struct fscrypt_policy {
277279 __u8 version;
include/uapi/linux/if_link.h+18−2
@@ -157,6 +157,7 @@ enum { · 156 unmodified lines
157157 IFLA_GSO_MAX_SIZE,
158158 IFLA_PAD,
159159 IFLA_XDP,
160+ IFLA_EVENT,
160161 __IFLA_MAX
161162 };
162163
@@ -890,15 +891,19 @@ enum { · 727 unmodified lines
890891 #define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0)
891892 #define XDP_FLAGS_SKB_MODE (1U << 1)
892893 #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)
893898 #define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \
894− XDP_FLAGS_SKB_MODE | \
895− XDP_FLAGS_DRV_MODE)
899+ XDP_FLAGS_MODES)
896900
897901 /* These are stored into IFLA_XDP_ATTACHED on dump. */
898902 enum {
899903 XDP_ATTACHED_NONE = 0,
900904 XDP_ATTACHED_DRV,
901905 XDP_ATTACHED_SKB,
906+ XDP_ATTACHED_HW,
902907 };
903908
904909 enum {
@@ -906,9 +911,20 @@ enum { · 1 unmodified line
906911 IFLA_XDP_FD,
907912 IFLA_XDP_ATTACHED,
908913 IFLA_XDP_FLAGS,
914+ IFLA_XDP_PROG_ID,
909915 __IFLA_XDP_MAX,
910916 };
911917
912918 #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1)
913919
920+enum {
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+
914930 #endif /* _UAPI_LINUX_IF_LINK_H */
include/uapi/linux/input-event-codes.h+1−0
@@ -600,6 +600,7 @@ · 599 unmodified lines
600600 #define KEY_APPSELECT 0x244 /* AL Select Task/Application */
601601 #define KEY_SCREENSAVER 0x245 /* AL Screen Saver */
602602 #define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */
603+#define KEY_ASSISTANT 0x247 /* AL Context-aware desktop assistant */
603604
604605 #define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
605606 #define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
include/uapi/linux/kcmp.h+10−0
@@ -1,6 +1,8 @@
11 #ifndef _UAPI_LINUX_KCMP_H
22 #define _UAPI_LINUX_KCMP_H
33
4+#include <linux/types.h>
5+
46 /* Comparison type */
57 enum kcmp_type {
68 KCMP_FILE,
@@ -10,8 +12,16 @@ enum kcmp_type { · 3 unmodified lines
1012 KCMP_SIGHAND,
1113 KCMP_IO,
1214 KCMP_SYSVSEM,
15+ KCMP_EPOLL_TFD,
1316
1417 KCMP_TYPES,
1518 };
1619
20+/* Slot for KCMP_EPOLL_TFD */
21+struct 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+
1727 #endif /* _UAPI_LINUX_KCMP_H */
include/uapi/linux/kvm.h+37−0
@@ -155,6 +155,35 @@ struct kvm_s390_skeys { · 154 unmodified lines
155155 __u32 reserved[9];
156156 };
157157
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+ */
176+struct 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+
158187 struct kvm_hyperv_exit {
159188 #define KVM_EXIT_HYPERV_SYNIC 1
160189 #define KVM_EXIT_HYPERV_HCALL 2
@@ -895,6 +924,11 @@ struct kvm_ppc_resize_hpt { · 734 unmodified lines
895924 #define KVM_CAP_SPAPR_TCE_VFIO 142
896925 #define KVM_CAP_X86_GUEST_MWAIT 143
897926 #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
898932
899933 #ifdef KVM_CAP_IRQ_ROUTING
900934
@@ -1318,6 +1352,9 @@ struct kvm_s390_ucas_mapping { · 417 unmodified lines
13181352 #define KVM_S390_GET_IRQ_STATE _IOW(KVMIO, 0xb6, struct kvm_s390_irq_state)
13191353 /* Available with KVM_CAP_X86_SMM */
13201354 #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)
13211358
13221359 #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
13231360 #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
include/uapi/linux/magic.h+3−0
@@ -42,6 +42,7 @@ · 41 unmodified lines
4242 #define MSDOS_SUPER_MAGIC 0x4d44 /* MD */
4343 #define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */
4444 #define NFS_SUPER_MAGIC 0x6969
45+#define OCFS2_SUPER_MAGIC 0x7461636f
4546 #define OPENPROM_SUPER_MAGIC 0x9fa1
4647 #define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */
4748 #define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */
@@ -80,6 +81,8 @@ · 32 unmodified lines
8081 #define BTRFS_TEST_MAGIC 0x73727279
8182 #define NSFS_MAGIC 0x6e736673
8283 #define BPF_FS_MAGIC 0xcafe4a11
84+#define AAFS_MAGIC 0x5a3c69f0
85+
8386 /* Since UDF 2.01 is ISO 13346 based... */
8487 #define UDF_SUPER_MAGIC 0x15013346
8588 #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
104104 #define MEDIA_ENT_F_PROC_VIDEO_SCALER (MEDIA_ENT_F_BASE + 0x4005)
105105 #define MEDIA_ENT_F_PROC_VIDEO_STATISTICS (MEDIA_ENT_F_BASE + 0x4006)
106106
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+
107113 /*
108114 * Connectors
109115 */
include/uapi/linux/mempolicy.h+0−8
@@ -24,13 +24,6 @@ enum { · 23 unmodified lines
2424 MPOL_MAX, /* always last member of enum */
2525 };
2626
27−enum 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−
3427 /* Flags for set_mempolicy */
3528 #define MPOL_F_STATIC_NODES (1 << 15)
3629 #define MPOL_F_RELATIVE_NODES (1 << 14)
@@ -65,7 +58,6 @@ enum mpol_rebind_step { · 28 unmodified lines
6558 */
6659 #define MPOL_F_SHARED (1 << 0) /* identify shared policies */
6760 #define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */
68−#define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */
6961 #define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */
7062 #define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */
7163
include/uapi/linux/mroute.h+54−0
@@ -110,6 +110,60 @@ struct igmpmsg { · 109 unmodified lines
110110 struct in_addr im_src,im_dst;
111111 };
112112
113+/* ipmr netlink table attributes */
114+enum {
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+ */
131+enum {
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 */
139+enum {
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 */
156+enum {
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+
113167 /* That's all usermode folks */
114168
115169 #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
133133 struct in6_addr im6_src, im6_dst;
134134 };
135135
136+/* ip6mr netlink cache report attributes */
137+enum {
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+
136148 #endif /* _UAPI__LINUX_MROUTE6_H */
include/uapi/linux/ndctl.h+41−1
@@ -105,7 +105,8 @@ struct nd_cmd_ars_cap { · 104 unmodified lines
105105 __u32 status;
106106 __u32 max_ars_out;
107107 __u32 clear_err_unit;
108− __u32 reserved;
108+ __u16 flags;
109+ __u16 reserved;
109110 } __packed;
110111
111112 struct nd_cmd_ars_start {
@@ -144,6 +145,43 @@ struct nd_cmd_clear_error { · 32 unmodified lines
144145 __u64 cleared;
145146 } __packed;
146147
148+struct 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+
163+struct 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+
170+struct 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+
176+struct 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+
147185 enum {
148186 ND_CMD_IMPLEMENTED = 0,
149187
@@ -169,6 +207,7 @@ enum { · 19 unmodified lines
169207 enum {
170208 ND_ARS_VOLATILE = 1,
171209 ND_ARS_PERSISTENT = 2,
210+ ND_ARS_RETURN_PREV_DATA = 1 << 1,
172211 ND_CONFIG_LOCKED = 1,
173212 };
174213
@@ -179,6 +218,7 @@ static inline const char *nvdimm_bus_cmd_name(unsigned cmd) · 4 unmodified lines
179218 [ND_CMD_ARS_START] = "ars_start",
180219 [ND_CMD_ARS_STATUS] = "ars_status",
181220 [ND_CMD_CLEAR_ERROR] = "clear_error",
221+ [ND_CMD_CALL] = "cmd_call",
182222 };
183223
184224 if (cmd < ARRAY_SIZE(names) && names[cmd])
include/uapi/linux/neighbour.h+1−0
@@ -41,6 +41,7 @@ enum { · 40 unmodified lines
4141 #define NTF_MASTER 0x04
4242 #define NTF_PROXY 0x08 /* == ATF_PUBL */
4343 #define NTF_EXT_LEARNED 0x10
44+#define NTF_OFFLOADED 0x20
4445 #define NTF_ROUTER 0x80
4546
4647 /*
include/uapi/linux/net_tstamp.h+14−1
@@ -9,6 +9,7 @@ · 8 unmodified lines
99 #ifndef _NET_TIMESTAMPING_H
1010 #define _NET_TIMESTAMPING_H
1111
12+#include <linux/types.h>
1213 #include <linux/socket.h> /* for SO_TIMESTAMPING */
1314
1415 /* SO_TIMESTAMPING gets an integer bit field comprised of these values */
@@ -26,8 +27,10 @@ enum { · 11 unmodified lines
2627 SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
2728 SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
2829 SOF_TIMESTAMPING_OPT_STATS = (1<<12),
30+ SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13),
31+ SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14),
2932
30− SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_STATS,
33+ SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TX_SWHW,
3134 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
3235 SOF_TIMESTAMPING_LAST
3336 };
@@ -125,6 +128,16 @@ enum hwtstamp_rx_filters { · 91 unmodified lines
125128 HWTSTAMP_FILTER_PTP_V2_SYNC,
126129 /* PTP v2/802.AS1, any layer, Delay_req packet */
127130 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 */
137+struct scm_ts_pktinfo {
138+ __u32 if_index;
139+ __u32 pkt_length;
140+ __u32 reserved[2];
128141 };
129142
130143 #endif /* _NET_TIMESTAMPING_H */
include/uapi/linux/nl80211.h+73−9
@@ -172,6 +172,29 @@ · 171 unmodified lines
172172 * Multiple such rules can be created.
173173 */
174174
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+
175198 /**
176199 * DOC: FILS shared key authentication offload
177200 *
@@ -546,8 +569,13 @@ · 368 unmodified lines
546569 * authentication/association or not receiving a response from the AP.
547570 * Non-zero %NL80211_ATTR_STATUS_CODE value is indicated in that case as
548571 * well to remain backwards compatible.
549− * @NL80211_CMD_ROAM: request that the card roam (currently not implemented),
550− * sent as an event when the card/driver roamed by itself.
572+ * @NL80211_CMD_ROAM: notifcation indicating 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.
551579 * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
552580 * userspace that a connection was dropped by the AP or due to other
553581 * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and
@@ -947,6 +975,14 @@ · 393 unmodified lines
947975 * does not result in a change for the current association. Currently,
948976 * only the %NL80211_ATTR_IE data is used and updated with this command.
949977 *
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+ *
950986 * @NL80211_CMD_MAX: highest used command number
951987 * @__NL80211_CMD_AFTER_LAST: internal use
952988 */
@@ -1146,6 +1182,9 @@ enum nl80211_commands { · 193 unmodified lines
11461182
11471183 NL80211_CMD_UPDATE_CONNECT_PARAMS,
11481184
1185+ NL80211_CMD_SET_PMK,
1186+ NL80211_CMD_DEL_PMK,
1187+
11491188 /* add new commands above here */
11501189
11511190 /* used to define NL80211_CMD_MAX below */
@@ -1870,11 +1909,10 @@ enum nl80211_commands { · 718 unmodified lines
18701909 * that configured the indoor setting, and the indoor operation would be
18711910 * cleared when the socket is closed.
18721911 * If set during NAN interface creation, the interface will be destroyed
1873− * if the socket is closed just like any other interface. Moreover, only
1874− * the netlink socket that created the interface will be allowed to add
1875− * and remove functions. NAN notifications will be sent in unicast to that
1876− * socket. Without this attribute, any socket can add functions and the
1877− * notifications will be sent to the %NL80211_MCGRP_NAN multicast group.
1912+ * if the socket is closed just like any other interface. Moreover, NAN
1913+ * notifications will be sent in unicast to that socket. Without this
1914+ * attribute, the notifications will be sent to the %NL80211_MCGRP_NAN
1915+ * multicast group.
18781916 * If set during %NL80211_CMD_ASSOCIATE or %NL80211_CMD_CONNECT the
18791917 * station will deauthenticate when the socket is closed.
18801918 *
@@ -2080,14 +2118,27 @@ enum nl80211_commands { · 199 unmodified lines
20802118 * identifying the scope of PMKSAs. This is used with
20812119 * @NL80211_CMD_SET_PMKSA and @NL80211_CMD_DEL_PMKSA.
20822120 *
2083− * @NL80211_ATTR_PMK: PMK for the PMKSA identified by %NL80211_ATTR_PMKID.
2084− * This is used with @NL80211_CMD_SET_PMKSA.
2121+ * @NL80211_ATTR_PMK: attribute for passing PMK key material. Used with
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.
20852127 *
20862128 * @NL80211_ATTR_SCHED_SCAN_MULTI: flag attribute which user-space shall use to
20872129 * indicate that it supports multiple active scheduled scan requests.
20882130 * @NL80211_ATTR_SCHED_SCAN_MAX_REQS: indicates maximum number of scheduled
20892131 * scan request that may be active for the device (u32).
20902132 *
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+ *
20912142 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
20922143 * @NL80211_ATTR_MAX: highest attribute number currently defined
20932144 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2510,6 +2561,10 @@ enum nl80211_attrs { · 416 unmodified lines
25102561 NL80211_ATTR_SCHED_SCAN_MULTI,
25112562 NL80211_ATTR_SCHED_SCAN_MAX_REQS,
25122563
2564+ NL80211_ATTR_WANT_1X_4WAY_HS,
2565+ NL80211_ATTR_PMKR0_NAME,
2566+ NL80211_ATTR_PORT_AUTHORIZED,
2567+
25132568 /* add attributes here, update the policy in nl80211.c */
25142569
25152570 __NL80211_ATTR_AFTER_LAST,
@@ -4852,6 +4907,13 @@ enum nl80211_feature_flags { · 2336 unmodified lines
48524907 * RSSI threshold values to monitor rather than exactly one threshold.
48534908 * @NL80211_EXT_FEATURE_FILS_SK_OFFLOAD: Driver SME supports FILS shared key
48544909 * 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.
48554917 *
48564918 * @NUM_NL80211_EXT_FEATURES: number of extended features.
48574919 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
@@ -4872,6 +4934,8 @@ enum nl80211_ext_feature_index { · 14 unmodified lines
48724934 NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI,
48734935 NL80211_EXT_FEATURE_CQM_RSSI_LIST,
48744936 NL80211_EXT_FEATURE_FILS_SK_OFFLOAD,
4937+ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK,
4938+ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X,
48754939
48764940 /* add new features before the definition below */
48774941 NUM_NL80211_EXT_FEATURES,
include/uapi/linux/pci_regs.h+1−0
@@ -517,6 +517,7 @@ · 516 unmodified lines
517517 #define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */
518518 #define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 */
519519 #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 */
520521 #define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
521522 #define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
522523 #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
3737 #define TC_ACT_QUEUED 5
3838 #define TC_ACT_REPEAT 6
3939 #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+ */
4047
4148 /* There is a special kind of actions called "extended actions",
4249 * which need a value parameter. These have a local opcode located in
@@ -51,6 +58,7 @@ enum { · 8 unmodified lines
5158 (((combined) & (~TC_ACT_EXT_VAL_MASK)) == opcode)
5259
5360 #define TC_ACT_JUMP __TC_ACT_EXT(1)
61+#define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2)
5462
5563 /* Action type identifiers*/
5664 enum {
@@ -361,6 +369,7 @@ enum { · 304 unmodified lines
361369 TCA_BPF_FLAGS,
362370 TCA_BPF_FLAGS_GEN,
363371 TCA_BPF_TAG,
372+ TCA_BPF_ID,
364373 __TCA_BPF_MAX,
365374 };
366375
@@ -450,6 +459,14 @@ enum { · 83 unmodified lines
450459 TCA_FLOWER_KEY_MPLS_TC, /* u8 - 3 bits */
451460 TCA_FLOWER_KEY_MPLS_LABEL, /* be32 - 20 bits */
452461
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+
453470 __TCA_FLOWER_MAX,
454471 };
455472
include/uapi/linux/rtnetlink.h+9−0
@@ -146,6 +146,9 @@ enum { · 145 unmodified lines
146146 RTM_GETSTATS = 94,
147147 #define RTM_GETSTATS RTM_GETSTATS
148148
149+ RTM_NEWCACHEREPORT = 96,
150+#define RTM_NEWCACHEREPORT RTM_NEWCACHEREPORT
151+
149152 __RTM_MAX,
150153 #define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
151154 };
@@ -278,6 +281,7 @@ enum rt_scope_t { · 126 unmodified lines
278281 #define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */
279282 #define RTM_F_PREFIX 0x800 /* Prefix addresses */
280283 #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 */
281285
282286 /* Reserved table identifiers */
283287
@@ -549,6 +553,7 @@ enum { · 265 unmodified lines
549553 TCA_STAB,
550554 TCA_PAD,
551555 TCA_DUMP_INVISIBLE,
556+ TCA_CHAIN,
552557 __TCA_MAX
553558 };
554559
@@ -664,6 +669,10 @@ enum rtnetlink_groups { · 109 unmodified lines
664669 #define RTNLGRP_NSID RTNLGRP_NSID
665670 RTNLGRP_MPLS_NETCONF,
666671 #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
667676 __RTNLGRP_MAX
668677 };
669678 #define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
include/uapi/linux/sched/types.h+8−8
@@ -54,21 +54,21 @@ struct sched_param { · 53 unmodified lines
5454 * available in the scheduling class file or in Documentation/.
5555 */
5656 struct sched_attr {
57− u32 size;
57+ __u32 size;
5858
59− u32 sched_policy;
60− u64 sched_flags;
59+ __u32 sched_policy;
60+ __u64 sched_flags;
6161
6262 /* SCHED_NORMAL, SCHED_BATCH */
63− s32 sched_nice;
63+ __s32 sched_nice;
6464
6565 /* SCHED_FIFO, SCHED_RR */
66− u32 sched_priority;
66+ __u32 sched_priority;
6767
6868 /* SCHED_DEADLINE */
69− u64 sched_runtime;
70− u64 sched_deadline;
71− u64 sched_period;
69+ __u64 sched_runtime;
70+ __u64 sched_deadline;
71+ __u64 sched_period;
7272 };
7373
7474 #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
121121 #define SCTP_RESET_STREAMS 119
122122 #define SCTP_RESET_ASSOC 120
123123 #define SCTP_ADD_STREAMS 121
124+#define SCTP_SOCKOPT_PEELOFF_FLAGS 122
124125
125126 /* PR-SCTP policies */
126127 #define SCTP_PR_SCTP_NONE 0x0000
@@ -978,6 +979,11 @@ typedef struct { · 851 unmodified lines
978979 int sd;
979980 } sctp_peeloff_arg_t;
980981
982+typedef struct {
983+ sctp_peeloff_arg_t p_arg;
984+ unsigned flags;
985+} sctp_peeloff_flags_arg_t;
986+
981987 /*
982988 * Peer Address Thresholds socket option
983989 */
include/uapi/linux/sem.h+1−1
@@ -23,7 +23,7 @@ · 22 unmodified lines
2323 struct semid_ds {
2424 struct ipc_perm sem_perm; /* permissions .. see ipc.h */
2525 __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 */
2727 struct sem *sem_base; /* ptr to first semaphore in array */
2828 struct sem_queue *sem_pending; /* pending operations to be processed */
2929 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
122122 #define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for
123123 RTS pin after sent*/
124124 #define SER_RS485_RX_DURING_TX (1 << 4)
125+#define SER_RS485_TERMINATE_BUS (1 << 5) /* Enable bus
126+ termination
127+ (if supported) */
125128 __u32 delay_rts_before_send; /* Delay before send (milliseconds) */
126129 __u32 delay_rts_after_send; /* Delay after send (milliseconds) */
127130 __u32 padding[5]; /* Memory is cheap, new structs
include/uapi/linux/serial_core.h+1−1
@@ -83,7 +83,7 @@ · 82 unmodified lines
8383 /* Parisc type numbers. */
8484 #define PORT_MUX 48
8585
86−/* Atmel AT91 / AT32 SoC */
86+/* Atmel AT91 SoC */
8787 #define PORT_ATMEL 49
8888
8989 /* Macintosh Zilog type numbers */
include/uapi/linux/snmp.h+1−0
@@ -228,6 +228,7 @@ enum · 227 unmodified lines
228228 LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */
229229 LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */
230230 LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */
231+ LINUX_MIB_TCPMEMORYPRESSURESCHRONO, /* TCPMemoryPressuresChrono */
231232 LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */
232233 LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */
233234 LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */
include/uapi/linux/switchtec_ioctl.h+3−0
@@ -39,6 +39,9 @@ struct switchtec_ioctl_flash_info { · 38 unmodified lines
3939 __u32 padding;
4040 };
4141
42+#define SWITCHTEC_IOCTL_PART_ACTIVE 1
43+#define SWITCHTEC_IOCTL_PART_RUNNING 2
44+
4245 struct switchtec_ioctl_flash_part_info {
4346 __u32 flash_partition;
4447 __u32 address;
include/uapi/linux/target_core_user.h+12−0
@@ -130,6 +130,11 @@ enum tcmu_genl_cmd { · 129 unmodified lines
130130 TCMU_CMD_UNSPEC,
131131 TCMU_CMD_ADDED_DEVICE,
132132 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,
133138 __TCMU_CMD_MAX,
134139 };
135140 #define TCMU_CMD_MAX (__TCMU_CMD_MAX - 1)
@@ -138,6 +143,13 @@ enum tcmu_genl_attr { · 2 unmodified lines
138143 TCMU_ATTR_UNSPEC,
139144 TCMU_ATTR_DEVICE,
140145 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,
141153 __TCMU_ATTR_MAX,
142154 };
143155 #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
2828 TCA_ACT_BPF_NAME,
2929 TCA_ACT_BPF_PAD,
3030 TCA_ACT_BPF_TAG,
31+ TCA_ACT_BPF_ID,
3132 __TCA_ACT_BPF_MAX,
3233 };
3334 #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
3434 TCA_TUNNEL_KEY_ENC_KEY_ID, /* be64 */
3535 TCA_TUNNEL_KEY_PAD,
3636 TCA_TUNNEL_KEY_ENC_DST_PORT, /* be16 */
37+ TCA_TUNNEL_KEY_NO_CSUM, /* u8 */
3738 __TCA_TUNNEL_KEY_MAX,
3839 };
3940
include/uapi/linux/tcp.h+8−2
@@ -117,6 +117,8 @@ enum { · 116 unmodified lines
117117 #define TCP_SAVED_SYN 28 /* Get SYN headers recorded for connection */
118118 #define TCP_REPAIR_WINDOW 29 /* Get/set window parameters */
119119 #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 */
120122
121123 struct tcp_repair_opt {
122124 __u32 opt_code;
@@ -234,11 +236,15 @@ enum { · 111 unmodified lines
234236 /* for TCP_MD5SIG socket option */
235237 #define TCP_MD5SIG_MAXKEYLEN 80
236238
239+/* tcp_md5sig extension flags for TCP_MD5SIG_EXT */
240+#define TCP_MD5SIG_FLAG_PREFIX 1 /* address prefix length */
241+
237242 struct tcp_md5sig {
238243 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 */
240246 __u16 tcpm_keylen; /* key length */
241− __u32 __tcpm_pad2; /* zero */
247+ __u32 __tcpm_pad; /* zero */
242248 __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */
243249 };
244250
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+
66+struct tls_crypto_info {
67+ __u16 version;
68+ __u16 cipher_type;
69+};
70+
71+struct 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
3535 #define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */
3636 #define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */
3737 #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 */
3840
3941 #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
333333 __u8 bDescriptorType;
334334 __u8 bDescriptorSubtype;
335335 __u8 bUnitID;
336− __u16 wProcessType;
336+ __le16 wProcessType;
337337 __u8 bNrInPins;
338338 __u8 baSourceID[];
339339 } __attribute__ ((packed));
@@ -491,8 +491,8 @@ struct uac_format_type_ii_ext_descriptor { · 151 unmodified lines
491491 __u8 bDescriptorType;
492492 __u8 bDescriptorSubtype;
493493 __u8 bFormatType;
494− __u16 wMaxBitRate;
495− __u16 wSamplesPerFrame;
494+ __le16 wMaxBitRate;
495+ __le16 wSamplesPerFrame;
496496 __u8 bHeaderLength;
497497 __u8 bSideBandProtocol;
498498 } __attribute__((packed));
include/uapi/linux/usb/functionfs.h+4−3
@@ -275,13 +275,14 @@ struct usb_functionfs_event { · 274 unmodified lines
275275 #define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128)
276276
277277 /*
278− * Returns real bEndpointAddress of an endpoint. If function is not
279− * active returns -ENODEV.
278+ * Returns real bEndpointAddress of an endpoint. If endpoint shuts down
279+ * during the call, returns -ESHUTDOWN.
280280 */
281281 #define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129)
282282
283283 /*
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.
285286 */
286287 #define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, \
287288 struct usb_endpoint_descriptor)
include/uapi/linux/usbdevice_fs.h+6−0
@@ -156,6 +156,11 @@ struct usbdevfs_streams { · 155 unmodified lines
156156 unsigned char eps[0];
157157 };
158158
159+/*
160+ * USB_SPEED_* values returned by USBDEVFS_GET_SPEED are defined in
161+ * linux/usb/ch9.h
162+ */
163+
159164 #define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
160165 #define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
161166 #define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
@@ -190,5 +195,6 @@ struct usbdevfs_streams { · 28 unmodified lines
190195 #define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams)
191196 #define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)
192197 #define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32)
198+#define USBDEVFS_GET_SPEED _IO('U', 31)
193199
194200 #endif /* _UAPI_LINUX_USBDEVICE_FS_H */
include/uapi/linux/v4l2-controls.h+10−1
@@ -180,6 +180,15 @@ enum v4l2_colorfx { · 179 unmodified lines
180180 * We reserve 16 controls for this driver. */
181181 #define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080)
182182
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+
183192 /* MPEG-class control IDs */
184193 /* The MPEG controls are applicable to all codec controls
185194 * and the 'MPEG' part of the define is historical */
@@ -893,7 +902,7 @@ enum v4l2_jpeg_chroma_subsampling { · 707 unmodified lines
893902 #define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
894903 #define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
895904 #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)
897906
898907 /* DV-class control IDs defined by V4L2 */
899908 #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
669669 #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */
670670 #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */
671671 #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 */
672675
673676 /* Touch formats - used for Touch devices */
674677 #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
4646
4747 #define VTPM_PROXY_IOC_NEW_DEV _IOWR(0xa1, 0x00, struct vtpm_proxy_new_dev)
4848
49+/* vendor specific commands to set locality */
50+#define TPM2_CC_SET_LOCALITY 0x20001000
51+#define TPM_ORD_SET_LOCALITY 0x20001000
52+
4953 #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− */
64−enum 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−
74−struct 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−
80−struct 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
1717
1818 #include <linux/types.h>
1919
20+/*
21+ * Structure and definitions for all CXL Flash ioctls
22+ */
23+#define CXLFLASH_WWID_LEN 16
24+
2025 /*
2126 * Structure and flag definitions CXL Flash superpipe ioctls
2227 */
@@ -31,7 +36,7 @@ struct dk_cxlflash_hdr { · 8 unmodified lines
3136 };
3237
3338 /*
34− * Return flag definitions available to all ioctls
39+ * Return flag definitions available to all superpipe ioctls
3540 *
3641 * Similar to the input flags, these are grown from the bottom-up with the
3742 * intention that ioctl-specific return flag definitions would grow from the
@@ -151,7 +156,7 @@ struct dk_cxlflash_recover_afu { · 113 unmodified lines
151156 __u64 reserved[8]; /* Reserved for future use */
152157 };
153158
154−#define DK_CXLFLASH_MANAGE_LUN_WWID_LEN 16
159+#define DK_CXLFLASH_MANAGE_LUN_WWID_LEN CXLFLASH_WWID_LEN
155160 #define DK_CXLFLASH_MANAGE_LUN_ENABLE_SUPERPIPE 0x8000000000000000ULL
156161 #define DK_CXLFLASH_MANAGE_LUN_DISABLE_SUPERPIPE 0x4000000000000000ULL
157162 #define DK_CXLFLASH_MANAGE_LUN_ALL_PORTS_ACCESSIBLE 0x2000000000000000ULL
@@ -180,6 +185,10 @@ union cxlflash_ioctls { · 22 unmodified lines
180185 #define CXL_MAGIC 0xCA
181186 #define CXL_IOWR(_n, _s) _IOWR(CXL_MAGIC, _n, struct _s)
182187
188+/*
189+ * CXL Flash superpipe ioctls start at base of the reserved CXL_MAGIC
190+ * region (0x80) and grow upwards.
191+ */
183192 #define DK_CXLFLASH_ATTACH CXL_IOWR(0x80, dk_cxlflash_attach)
184193 #define DK_CXLFLASH_USER_DIRECT CXL_IOWR(0x81, dk_cxlflash_udirect)
185194 #define DK_CXLFLASH_RELEASE CXL_IOWR(0x82, dk_cxlflash_release)
@@ -191,4 +200,76 @@ union cxlflash_ioctls { · 5 unmodified lines
191200 #define DK_CXLFLASH_VLUN_RESIZE CXL_IOWR(0x88, dk_cxlflash_resize)
192201 #define DK_CXLFLASH_VLUN_CLONE CXL_IOWR(0x89, dk_cxlflash_clone)
193202
203+/*
204+ * Structure and flag definitions CXL Flash host ioctls
205+ */
206+
207+#define HT_CXLFLASH_VERSION_0 0
208+
209+struct 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+
232+struct 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
248+struct 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+
260+union 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+
194275 #endif /* ifndef _CXLFLASH_IOCTL_H */
include/uapi/sound/asoc.h+9−1
@@ -73,7 +73,15 @@ · 72 unmodified lines
7373 #define SND_SOC_TPLG_DAPM_DAI_IN 13
7474 #define SND_SOC_TPLG_DAPM_DAI_OUT 14
7575 #define SND_SOC_TPLG_DAPM_DAI_LINK 15
76−#define SND_SOC_TPLG_DAPM_LAST SND_SOC_TPLG_DAPM_DAI_LINK
76+#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
7785
7886 /* Header magic number and string sizes */
7987 #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
152152 * *
153153 *****************************************************************************/
154154
155−#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 13)
155+#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 14)
156156
157157 typedef unsigned long snd_pcm_uframes_t;
158158 typedef signed long snd_pcm_sframes_t;
@@ -268,6 +268,7 @@ typedef int __bitwise snd_pcm_subformat_t; · 109 unmodified lines
268268 #define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 /* period data are valid during transfer */
269269 #define SNDRV_PCM_INFO_DOUBLE 0x00000004 /* Double buffering needed for PCM start/stop */
270270 #define SNDRV_PCM_INFO_BATCH 0x00000010 /* double buffering */
271+#define SNDRV_PCM_INFO_SYNC_APPLPTR 0x00000020 /* need the explicit sync of appl_ptr update */
271272 #define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 /* channels are interleaved */
272273 #define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 /* channels are not interleaved */
273274 #define SNDRV_PCM_INFO_COMPLEX 0x00000400 /* complex frame organization (mmap only) */
@@ -563,6 +564,7 @@ enum { · 289 unmodified lines
563564 #define SNDRV_PCM_IOCTL_INFO _IOR('A', 0x01, struct snd_pcm_info)
564565 #define SNDRV_PCM_IOCTL_TSTAMP _IOW('A', 0x02, int)
565566 #define SNDRV_PCM_IOCTL_TTSTAMP _IOW('A', 0x03, int)
567+#define SNDRV_PCM_IOCTL_USER_PVERSION _IOW('A', 0x04, int)
566568 #define SNDRV_PCM_IOCTL_HW_REFINE _IOWR('A', 0x10, struct snd_pcm_hw_params)
567569 #define SNDRV_PCM_IOCTL_HW_PARAMS _IOWR('A', 0x11, struct snd_pcm_hw_params)
568570 #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
161161 *
162162 * %SKL_TKL_U32_D0I3_CAPS: Specifies the D0i3 capability for module
163163 *
164+ * %SKL_TKN_U32_DMA_BUF_SIZE: DMA buffer size in millisec
165+ *
164166 * module_id and loadable flags dont have tokens as these values will be
165167 * read from the DSP FW manifest
166168 */
@@ -213,8 +215,10 @@ enum SKL_TKNS { · 46 unmodified lines
213215 SKL_TKN_U32_LIB_COUNT,
214216 SKL_TKN_STR_LIB_NAME,
215217 SKL_TKN_U32_PMODE,
216− SKL_TKL_U32_D0I3_CAPS,
217− SKL_TKN_MAX = SKL_TKL_U32_D0I3_CAPS,
218+ SKL_TKL_U32_D0I3_CAPS, /* Typo added at v4.10 */
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,
218222 };
219223
220224 #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