History

Merge tag 'v4.0-rc1' into perf/core, to refresh the tree

Ingo Molnar committed 11 years ago

Commit e9e4e442 parents 8a26ce4 c517d838443 files · +371440 −196089Browse files

Showing the changes to include/uapi (58 of 8443 files). Show all

Unified · Split

58 files
  1. include/uapi/drm/drm.h +8 −0
  2. include/uapi/drm/drm_fourcc.h +0 −3
  3. include/uapi/drm/drm_mode.h +34 −4
  4. include/uapi/drm/i915_drm.h +29 −1
  5. include/uapi/linux/Kbuild +2 −1
  6. include/uapi/linux/am437x-vpfe.h +122 −0
  7. include/uapi/linux/btrfs.h +1 −2
  8. include/uapi/linux/dm-ioctl.h +2 −2
  9. include/uapi/linux/ethtool.h +3 −1
  10. include/uapi/linux/fou.h +1 −0
  11. include/uapi/linux/fs.h +3 −1
  12. include/uapi/linux/if_bridge.h +2 −0
  13. include/uapi/linux/if_link.h +5 −0
  14. include/uapi/linux/in.h +1 −0
  15. include/uapi/linux/input.h +1 −0
  16. include/uapi/linux/ipv6.h +6 −1
  17. include/uapi/linux/kernel-page-flags.h +1 −0
  18. include/uapi/linux/kexec.h +0 −6
  19. include/uapi/linux/kvm.h +9 −0
  20. include/uapi/linux/l2tp.h +1 −0
  21. include/uapi/linux/libc-compat.h +6 −0
  22. include/uapi/linux/mempolicy.h +1 −1
  23. include/uapi/linux/msdos_fs.h +2 −2
  24. include/uapi/linux/neighbour.h +1 −0
  25. include/uapi/linux/net_namespace.h +23 −0
  26. include/uapi/linux/net_tstamp.h +2 −1
  27. include/uapi/linux/nfc.h +1 −0
  28. include/uapi/linux/nfsd/debug.h +1 −0
  29. include/uapi/linux/nfsd/export.h +3 −1
  30. include/uapi/linux/nl80211.h +176 −31
  31. include/uapi/linux/nvme.h +25 −1
  32. include/uapi/linux/openvswitch.h +52 −1
  33. include/uapi/linux/pci_regs.h +4 −0
  34. include/uapi/linux/pkt_sched.h +2 −0
  35. include/uapi/linux/prctl.h +5 −0
  36. include/uapi/linux/quota.h +13 −1
  37. include/uapi/linux/rtnetlink.h +8 −0
  38. include/uapi/linux/serial_core.h +11 −1
  39. include/uapi/linux/serial_reg.h +2 −1
  40. include/uapi/linux/snmp.h +6 −0
  41. include/uapi/linux/som.h +0 −154
  42. include/uapi/linux/tc_act/Kbuild +1 −0
  43. include/uapi/linux/tc_act/tc_bpf.h +31 −0
  44. include/uapi/linux/tc_act/tc_connmark.h +22 −0
  45. include/uapi/linux/tipc_config.h +20 −0
  46. include/uapi/linux/usb/functionfs.h +1 −0
  47. include/uapi/linux/usbdevice_fs.h +2 −1
  48. include/uapi/linux/v4l2-controls.h +4 −0
  49. include/uapi/linux/vfio.h +1 −0
  50. include/uapi/linux/videodev2.h +9 −8
  51. include/uapi/linux/virtio_balloon.h +1 −2
  52. include/uapi/linux/virtio_blk.h +13 −4
  53. include/uapi/linux/virtio_config.h +2 −0
  54. include/uapi/linux/virtio_net.h +33 −9
  55. include/uapi/linux/virtio_pci.h +92 −1
  56. include/uapi/rdma/ib_user_verbs.h +1 −5
  57. include/uapi/sound/asound.h +1 −0
  58. include/uapi/sound/usb_stream.h +76 −0
include/uapi/drm/drm.h+8−0
@@ -654,6 +654,13 @@ struct drm_get_cap { · 653 unmodified lines
654 */654 */
655#define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2655#define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2
656 656
657/**
658 * DRM_CLIENT_CAP_ATOMIC
659 *
660 * If set to 1, the DRM core will expose atomic properties to userspace
661 */
662#define DRM_CLIENT_CAP_ATOMIC 3
663
657/** DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */664/** DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */
658struct drm_set_client_cap {665struct drm_set_client_cap {
659 __u64 capability;666 __u64 capability;
@@ -777,6 +784,7 @@ struct drm_prime_handle { · 117 unmodified lines
777#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties)784#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties)
778#define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property)785#define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property)
779#define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2)786#define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2)
787#define DRM_IOCTL_MODE_ATOMIC DRM_IOWR(0xBC, struct drm_mode_atomic)
780 788
781/**789/**
782 * Device specific ioctls should only be in their respective headers790 * Device specific ioctls should only be in their respective headers
include/uapi/drm/drm_fourcc.h+0−3
@@ -109,9 +109,6 @@ · 108 unmodified lines
109#define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */109#define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */
110#define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */110#define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
111 111
112/* special NV12 tiled format */
113#define DRM_FORMAT_NV12MT fourcc_code('T', 'M', '1', '2') /* 2x2 subsampled Cr:Cb plane 64x32 macroblocks */
114
115/*112/*
116 * 3 plane YCbCr113 * 3 plane YCbCr
117 * index 0: Y plane, [7:0] Y114 * index 0: Y plane, [7:0] Y
include/uapi/drm/drm_mode.h+34−4
@@ -272,6 +272,13 @@ struct drm_mode_get_connector { · 271 unmodified lines
272#define DRM_MODE_PROP_OBJECT DRM_MODE_PROP_TYPE(1)272#define DRM_MODE_PROP_OBJECT DRM_MODE_PROP_TYPE(1)
273#define DRM_MODE_PROP_SIGNED_RANGE DRM_MODE_PROP_TYPE(2)273#define DRM_MODE_PROP_SIGNED_RANGE DRM_MODE_PROP_TYPE(2)
274 274
275/* the PROP_ATOMIC flag is used to hide properties from userspace that
276 * is not aware of atomic properties. This is mostly to work around
277 * older userspace (DDX drivers) that read/write each prop they find,
278 * witout being aware that this could be triggering a lengthy modeset.
279 */
280#define DRM_MODE_PROP_ATOMIC 0x80000000
281
275struct drm_mode_property_enum {282struct drm_mode_property_enum {
276 __u64 value;283 __u64 value;
277 char name[DRM_PROP_NAME_LEN];284 char name[DRM_PROP_NAME_LEN];
@@ -338,7 +345,7 @@ struct drm_mode_fb_cmd2 { · 60 unmodified lines
338 345
339 /*346 /*
340 * In case of planar formats, this ioctl allows up to 4347 * In case of planar formats, this ioctl allows up to 4
341 * buffer objects with offets and pitches per plane.348 * buffer objects with offsets and pitches per plane.
342 * The pitch and offset order is dictated by the fourcc,349 * The pitch and offset order is dictated by the fourcc,
343 * e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as:350 * e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as:
344 *351 *
@@ -346,9 +353,9 @@ struct drm_mode_fb_cmd2 { · 1 unmodified line
346 * followed by an interleaved U/V plane containing353 * followed by an interleaved U/V plane containing
347 * 8 bit 2x2 subsampled colour difference samples.354 * 8 bit 2x2 subsampled colour difference samples.
348 *355 *
349 * So it would consist of Y as offset[0] and UV as356 * So it would consist of Y as offsets[0] and UV as
350 * offeset[1]. Note that offset[0] will generally357 * offsets[1]. Note that offsets[0] will generally
351 * be 0.358 * be 0 (but this is not required).
352 */359 */
353 __u32 handles[4];360 __u32 handles[4];
354 __u32 pitches[4]; /* pitch for each plane */361 __u32 pitches[4]; /* pitch for each plane */
@@ -519,4 +526,27 @@ struct drm_mode_destroy_dumb { · 164 unmodified lines
519 uint32_t handle;526 uint32_t handle;
520};527};
521 528
529/* page-flip flags are valid, plus: */
530#define DRM_MODE_ATOMIC_TEST_ONLY 0x0100
531#define DRM_MODE_ATOMIC_NONBLOCK 0x0200
532#define DRM_MODE_ATOMIC_ALLOW_MODESET 0x0400
533
534#define DRM_MODE_ATOMIC_FLAGS (\
535 DRM_MODE_PAGE_FLIP_EVENT |\
536 DRM_MODE_PAGE_FLIP_ASYNC |\
537 DRM_MODE_ATOMIC_TEST_ONLY |\
538 DRM_MODE_ATOMIC_NONBLOCK |\
539 DRM_MODE_ATOMIC_ALLOW_MODESET)
540
541struct drm_mode_atomic {
542 __u32 flags;
543 __u32 count_objs;
544 __u64 objs_ptr;
545 __u64 count_props_ptr;
546 __u64 props_ptr;
547 __u64 prop_values_ptr;
548 __u64 reserved;
549 __u64 user_data;
550};
551
522#endif552#endif
include/uapi/drm/i915_drm.h+29−1
@@ -224,6 +224,8 @@ typedef struct _drm_i915_sarea { · 223 unmodified lines
224#define DRM_I915_REG_READ 0x31224#define DRM_I915_REG_READ 0x31
225#define DRM_I915_GET_RESET_STATS 0x32225#define DRM_I915_GET_RESET_STATS 0x32
226#define DRM_I915_GEM_USERPTR 0x33226#define DRM_I915_GEM_USERPTR 0x33
227#define DRM_I915_GEM_CONTEXT_GETPARAM 0x34
228#define DRM_I915_GEM_CONTEXT_SETPARAM 0x35
227 229
228#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)230#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
229#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)231#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
@@ -275,6 +277,8 @@ typedef struct _drm_i915_sarea { · 45 unmodified lines
275#define DRM_IOCTL_I915_REG_READ DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_REG_READ, struct drm_i915_reg_read)277#define DRM_IOCTL_I915_REG_READ DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_REG_READ, struct drm_i915_reg_read)
276#define DRM_IOCTL_I915_GET_RESET_STATS DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GET_RESET_STATS, struct drm_i915_reset_stats)278#define DRM_IOCTL_I915_GET_RESET_STATS DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GET_RESET_STATS, struct drm_i915_reset_stats)
277#define DRM_IOCTL_I915_GEM_USERPTR DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_USERPTR, struct drm_i915_gem_userptr)279#define DRM_IOCTL_I915_GEM_USERPTR DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_USERPTR, struct drm_i915_gem_userptr)
280#define DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_GETPARAM, struct drm_i915_gem_context_param)
281#define DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_SETPARAM, struct drm_i915_gem_context_param)
278 282
279/* Allow drivers to submit batchbuffers directly to hardware, relying283/* Allow drivers to submit batchbuffers directly to hardware, relying
280 * on the security mechanisms provided by hardware.284 * on the security mechanisms provided by hardware.
@@ -341,6 +345,8 @@ typedef struct drm_i915_irq_wait { · 60 unmodified lines
341#define I915_PARAM_HAS_WT 27345#define I915_PARAM_HAS_WT 27
342#define I915_PARAM_CMD_PARSER_VERSION 28346#define I915_PARAM_CMD_PARSER_VERSION 28
343#define I915_PARAM_HAS_COHERENT_PHYS_GTT 29347#define I915_PARAM_HAS_COHERENT_PHYS_GTT 29
348#define I915_PARAM_MMAP_VERSION 30
349#define I915_PARAM_HAS_BSD2 31
344 350
345typedef struct drm_i915_getparam {351typedef struct drm_i915_getparam {
346 int param;352 int param;
@@ -488,6 +494,14 @@ struct drm_i915_gem_mmap { · 141 unmodified lines
488 * This is a fixed-size type for 32/64 compatibility.494 * This is a fixed-size type for 32/64 compatibility.
489 */495 */
490 __u64 addr_ptr;496 __u64 addr_ptr;
497
498 /**
499 * Flags for extended behaviour.
500 *
501 * Added in version 2.
502 */
503 __u64 flags;
504#define I915_MMAP_WC 0x1
491};505};
492 506
493struct drm_i915_gem_mmap_gtt {507struct drm_i915_gem_mmap_gtt {
@@ -737,7 +751,13 @@ struct drm_i915_gem_execbuffer2 { · 243 unmodified lines
737 */751 */
738#define I915_EXEC_HANDLE_LUT (1<<12)752#define I915_EXEC_HANDLE_LUT (1<<12)
739 753
740#define __I915_EXEC_UNKNOWN_FLAGS -(I915_EXEC_HANDLE_LUT<<1)754/** Used for switching BSD rings on the platforms with two BSD rings */
755#define I915_EXEC_BSD_MASK (3<<13)
756#define I915_EXEC_BSD_DEFAULT (0<<13) /* default ping-pong mode */
757#define I915_EXEC_BSD_RING1 (1<<13)
758#define I915_EXEC_BSD_RING2 (2<<13)
759
760#define __I915_EXEC_UNKNOWN_FLAGS -(1<<15)
741 761
742#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)762#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
743#define i915_execbuffer2_set_context_id(eb2, context) \763#define i915_execbuffer2_set_context_id(eb2, context) \
@@ -1073,4 +1093,12 @@ struct drm_i915_gem_userptr { · 329 unmodified lines
1073 __u32 handle;1093 __u32 handle;
1074};1094};
1075 1095
1096struct drm_i915_gem_context_param {
1097 __u32 ctx_id;
1098 __u32 size;
1099 __u64 param;
1100#define I915_CONTEXT_PARAM_BAN_PERIOD 0x1
1101 __u64 value;
1102};
1103
1076#endif /* _UAPI_I915_DRM_H_ */1104#endif /* _UAPI_I915_DRM_H_ */
include/uapi/linux/Kbuild+2−1
@@ -35,6 +35,7 @@ header-y += adfs_fs.h · 34 unmodified lines
35header-y += affs_hardblocks.h35header-y += affs_hardblocks.h
36header-y += agpgart.h36header-y += agpgart.h
37header-y += aio_abi.h37header-y += aio_abi.h
38header-y += am437x-vpfe.h
38header-y += apm_bios.h39header-y += apm_bios.h
39header-y += arcfb.h40header-y += arcfb.h
40header-y += atalk.h41header-y += atalk.h
@@ -283,6 +284,7 @@ header-y += net.h · 242 unmodified lines
283header-y += netlink_diag.h284header-y += netlink_diag.h
284header-y += netlink.h285header-y += netlink.h
285header-y += netrom.h286header-y += netrom.h
287header-y += net_namespace.h
286header-y += net_tstamp.h288header-y += net_tstamp.h
287header-y += nfc.h289header-y += nfc.h
288header-y += nfs2.h290header-y += nfs2.h
@@ -368,7 +370,6 @@ header-y += snmp.h · 79 unmodified lines
368header-y += sock_diag.h370header-y += sock_diag.h
369header-y += socket.h371header-y += socket.h
370header-y += sockios.h372header-y += sockios.h
371header-y += som.h
372header-y += sonet.h373header-y += sonet.h
373header-y += sonypi.h374header-y += sonypi.h
374header-y += soundcard.h375header-y += soundcard.h
include/uapi/linux/am437x-vpfe.h+122−0
@@ -0,0 +1,122 @@
1/*
2 * Copyright (C) 2013 - 2014 Texas Instruments, Inc.
3 *
4 * Benoit Parrot <bparrot@ti.com>
5 * Lad, Prabhakar <prabhakar.csengg@gmail.com>
6 *
7 * This program is free software; you may redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
12 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
13 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
15 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
16 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18 * SOFTWARE.
19 */
20
21#ifndef AM437X_VPFE_USER_H
22#define AM437X_VPFE_USER_H
23
24enum vpfe_ccdc_data_size {
25 VPFE_CCDC_DATA_16BITS = 0,
26 VPFE_CCDC_DATA_15BITS,
27 VPFE_CCDC_DATA_14BITS,
28 VPFE_CCDC_DATA_13BITS,
29 VPFE_CCDC_DATA_12BITS,
30 VPFE_CCDC_DATA_11BITS,
31 VPFE_CCDC_DATA_10BITS,
32 VPFE_CCDC_DATA_8BITS,
33};
34
35/* enum for No of pixel per line to be avg. in Black Clamping*/
36enum vpfe_ccdc_sample_length {
37 VPFE_CCDC_SAMPLE_1PIXELS = 0,
38 VPFE_CCDC_SAMPLE_2PIXELS,
39 VPFE_CCDC_SAMPLE_4PIXELS,
40 VPFE_CCDC_SAMPLE_8PIXELS,
41 VPFE_CCDC_SAMPLE_16PIXELS,
42};
43
44/* enum for No of lines in Black Clamping */
45enum vpfe_ccdc_sample_line {
46 VPFE_CCDC_SAMPLE_1LINES = 0,
47 VPFE_CCDC_SAMPLE_2LINES,
48 VPFE_CCDC_SAMPLE_4LINES,
49 VPFE_CCDC_SAMPLE_8LINES,
50 VPFE_CCDC_SAMPLE_16LINES,
51};
52
53/* enum for Alaw gamma width */
54enum vpfe_ccdc_gamma_width {
55 VPFE_CCDC_GAMMA_BITS_15_6 = 0, /* use bits 15-6 for gamma */
56 VPFE_CCDC_GAMMA_BITS_14_5,
57 VPFE_CCDC_GAMMA_BITS_13_4,
58 VPFE_CCDC_GAMMA_BITS_12_3,
59 VPFE_CCDC_GAMMA_BITS_11_2,
60 VPFE_CCDC_GAMMA_BITS_10_1,
61 VPFE_CCDC_GAMMA_BITS_09_0, /* use bits 9-0 for gamma */
62};
63
64/* structure for ALaw */
65struct vpfe_ccdc_a_law {
66 /* Enable/disable A-Law */
67 unsigned char enable;
68 /* Gamma Width Input */
69 enum vpfe_ccdc_gamma_width gamma_wd;
70};
71
72/* structure for Black Clamping */
73struct vpfe_ccdc_black_clamp {
74 unsigned char enable;
75 /* only if bClampEnable is TRUE */
76 enum vpfe_ccdc_sample_length sample_pixel;
77 /* only if bClampEnable is TRUE */
78 enum vpfe_ccdc_sample_line sample_ln;
79 /* only if bClampEnable is TRUE */
80 unsigned short start_pixel;
81 /* only if bClampEnable is TRUE */
82 unsigned short sgain;
83 /* only if bClampEnable is FALSE */
84 unsigned short dc_sub;
85};
86
87/* structure for Black Level Compensation */
88struct vpfe_ccdc_black_compensation {
89 /* Constant value to subtract from Red component */
90 char r;
91 /* Constant value to subtract from Gr component */
92 char gr;
93 /* Constant value to subtract from Blue component */
94 char b;
95 /* Constant value to subtract from Gb component */
96 char gb;
97};
98
99/* Structure for CCDC configuration parameters for raw capture mode passed
100 * by application
101 */
102struct vpfe_ccdc_config_params_raw {
103 /* data size value from 8 to 16 bits */
104 enum vpfe_ccdc_data_size data_sz;
105 /* Structure for Optional A-Law */
106 struct vpfe_ccdc_a_law alaw;
107 /* Structure for Optical Black Clamp */
108 struct vpfe_ccdc_black_clamp blk_clamp;
109 /* Structure for Black Compensation */
110 struct vpfe_ccdc_black_compensation blk_comp;
111};
112
113/*
114 * Private IOCTL
115 * VIDIOC_AM437X_CCDC_CFG - Set CCDC configuration for raw capture
116 * This is an experimental ioctl that will change in future kernels. So use
117 * this ioctl with care !
118 **/
119#define VIDIOC_AM437X_CCDC_CFG \
120 _IOW('V', BASE_VIDIOC_PRIVATE + 1, void *)
121
122#endif /* AM437X_VPFE_USER_H */
include/uapi/linux/btrfs.h+1−2
@@ -495,8 +495,7 @@ struct btrfs_ioctl_send_args { · 494 unmodified lines
495 495
496/* Error codes as returned by the kernel */496/* Error codes as returned by the kernel */
497enum btrfs_err_code {497enum btrfs_err_code {
498 notused,498 BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1,
499 BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET,
500 BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET,499 BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET,
501 BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET,500 BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET,
502 BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET,501 BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET,
include/uapi/linux/dm-ioctl.h+2−2
@@ -267,9 +267,9 @@ enum { · 266 unmodified lines
267#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)267#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
268 268
269#define DM_VERSION_MAJOR 4269#define DM_VERSION_MAJOR 4
270#define DM_VERSION_MINOR 29270#define DM_VERSION_MINOR 30
271#define DM_VERSION_PATCHLEVEL 0271#define DM_VERSION_PATCHLEVEL 0
272#define DM_VERSION_EXTRA "-ioctl (2014-10-28)"272#define DM_VERSION_EXTRA "-ioctl (2014-12-22)"
273 273
274/* Status bits */274/* Status bits */
275#define DM_READONLY_FLAG (1 << 0) /* In/Out */275#define DM_READONLY_FLAG (1 << 0) /* In/Out */
include/uapi/linux/ethtool.h+3−1
@@ -139,6 +139,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) · 138 unmodified lines
139 139
140#define ETHTOOL_FWVERS_LEN 32140#define ETHTOOL_FWVERS_LEN 32
141#define ETHTOOL_BUSINFO_LEN 32141#define ETHTOOL_BUSINFO_LEN 32
142#define ETHTOOL_EROMVERS_LEN 32
142 143
143/**144/**
144 * struct ethtool_drvinfo - general driver and device information145 * struct ethtool_drvinfo - general driver and device information
@@ -148,6 +149,7 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) · 3 unmodified lines
148 * not be an empty string.149 * not be an empty string.
149 * @version: Driver version string; may be an empty string150 * @version: Driver version string; may be an empty string
150 * @fw_version: Firmware version string; may be an empty string151 * @fw_version: Firmware version string; may be an empty string
152 * @erom_version: Expansion ROM version string; may be an empty string
151 * @bus_info: Device bus address. This should match the dev_name()153 * @bus_info: Device bus address. This should match the dev_name()
152 * string for the underlying bus device, if there is one. May be154 * string for the underlying bus device, if there is one. May be
153 * an empty string.155 * an empty string.
@@ -176,7 +178,7 @@ struct ethtool_drvinfo { · 22 unmodified lines
176 char version[32];178 char version[32];
177 char fw_version[ETHTOOL_FWVERS_LEN];179 char fw_version[ETHTOOL_FWVERS_LEN];
178 char bus_info[ETHTOOL_BUSINFO_LEN];180 char bus_info[ETHTOOL_BUSINFO_LEN];
179 char reserved1[32];181 char erom_version[ETHTOOL_EROMVERS_LEN];
180 char reserved2[12];182 char reserved2[12];
181 __u32 n_priv_flags;183 __u32 n_priv_flags;
182 __u32 n_stats;184 __u32 n_stats;
include/uapi/linux/fou.h+1−0
@@ -14,6 +14,7 @@ enum { · 13 unmodified lines
14 FOU_ATTR_AF, /* u8 */14 FOU_ATTR_AF, /* u8 */
15 FOU_ATTR_IPPROTO, /* u8 */15 FOU_ATTR_IPPROTO, /* u8 */
16 FOU_ATTR_TYPE, /* u8 */16 FOU_ATTR_TYPE, /* u8 */
17 FOU_ATTR_REMCSUM_NOPARTIAL, /* flag */
17 18
18 __FOU_ATTR_MAX,19 __FOU_ATTR_MAX,
19};20};
include/uapi/linux/fs.h+3−1
@@ -90,6 +90,7 @@ struct inodes_stat_t { · 89 unmodified lines
90#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */90#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
91#define MS_I_VERSION (1<<23) /* Update inode I_version field */91#define MS_I_VERSION (1<<23) /* Update inode I_version field */
92#define MS_STRICTATIME (1<<24) /* Always perform atime updates */92#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
93#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
93 94
94/* These sb flags are internal to the kernel */95/* These sb flags are internal to the kernel */
95#define MS_NOSEC (1<<28)96#define MS_NOSEC (1<<28)
@@ -100,7 +101,8 @@ struct inodes_stat_t { · 4 unmodified lines
100/*101/*
101 * Superblock flags that can be altered by MS_REMOUNT102 * Superblock flags that can be altered by MS_REMOUNT
102 */103 */
103#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION)104#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
105 MS_LAZYTIME)
104 106
105/*107/*
106 * Old magic mount flag and mask108 * Old magic mount flag and mask
include/uapi/linux/if_bridge.h+2−0
@@ -125,6 +125,8 @@ enum { · 124 unmodified lines
125#define BRIDGE_VLAN_INFO_MASTER (1<<0) /* Operate on Bridge device as well */125#define BRIDGE_VLAN_INFO_MASTER (1<<0) /* Operate on Bridge device as well */
126#define BRIDGE_VLAN_INFO_PVID (1<<1) /* VLAN is PVID, ingress untagged */126#define BRIDGE_VLAN_INFO_PVID (1<<1) /* VLAN is PVID, ingress untagged */
127#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */127#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */
128#define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) /* VLAN is start of vlan range */
129#define BRIDGE_VLAN_INFO_RANGE_END (1<<4) /* VLAN is end of vlan range */
128 130
129struct bridge_vlan_info {131struct bridge_vlan_info {
130 __u16 flags;132 __u16 flags;
include/uapi/linux/if_link.h+5−0
@@ -146,6 +146,7 @@ enum { · 145 unmodified lines
146 IFLA_PHYS_PORT_ID,146 IFLA_PHYS_PORT_ID,
147 IFLA_CARRIER_CHANGES,147 IFLA_CARRIER_CHANGES,
148 IFLA_PHYS_SWITCH_ID,148 IFLA_PHYS_SWITCH_ID,
149 IFLA_LINK_NETNSID,
149 __IFLA_MAX150 __IFLA_MAX
150};151};
151 152
@@ -370,6 +371,10 @@ enum { · 218 unmodified lines
370 IFLA_VXLAN_UDP_CSUM,371 IFLA_VXLAN_UDP_CSUM,
371 IFLA_VXLAN_UDP_ZERO_CSUM6_TX,372 IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
372 IFLA_VXLAN_UDP_ZERO_CSUM6_RX,373 IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
374 IFLA_VXLAN_REMCSUM_TX,
375 IFLA_VXLAN_REMCSUM_RX,
376 IFLA_VXLAN_GBP,
377 IFLA_VXLAN_REMCSUM_NOPARTIAL,
373 __IFLA_VXLAN_MAX378 __IFLA_VXLAN_MAX
374};379};
375#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)380#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
include/uapi/linux/in.h+1−0
@@ -109,6 +109,7 @@ struct in_addr { · 108 unmodified lines
109 109
110#define IP_MINTTL 21110#define IP_MINTTL 21
111#define IP_NODEFRAG 22111#define IP_NODEFRAG 22
112#define IP_CHECKSUM 23
112 113
113/* IP_MTU_DISCOVER values */114/* IP_MTU_DISCOVER values */
114#define IP_PMTUDISC_DONT 0 /* Never send DF frames */115#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
include/uapi/linux/input.h+1−0
@@ -166,6 +166,7 @@ struct input_keymap_entry { · 165 unmodified lines
166#define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */166#define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */
167#define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */167#define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */
168#define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */168#define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */
169#define INPUT_PROP_ACCELEROMETER 0x06 /* has accelerometer */
169 170
170#define INPUT_PROP_MAX 0x1f171#define INPUT_PROP_MAX 0x1f
171#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1)172#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1)
include/uapi/linux/ipv6.h+6−1
@@ -1,6 +1,7 @@
1#ifndef _UAPI_IPV6_H1#ifndef _UAPI_IPV6_H
2#define _UAPI_IPV6_H2#define _UAPI_IPV6_H
3 3
4#include <linux/libc-compat.h>
4#include <linux/types.h>5#include <linux/types.h>
5#include <linux/in6.h>6#include <linux/in6.h>
6#include <asm/byteorder.h>7#include <asm/byteorder.h>
@@ -15,16 +16,19 @@ · 8 unmodified lines
15 * *under construction*16 * *under construction*
16 */17 */
17 18
18 19#if __UAPI_DEF_IN6_PKTINFO
19struct in6_pktinfo {20struct in6_pktinfo {
20 struct in6_addr ipi6_addr;21 struct in6_addr ipi6_addr;
21 int ipi6_ifindex;22 int ipi6_ifindex;
22};23};
24#endif
23 25
26#if __UAPI_DEF_IP6_MTUINFO
24struct ip6_mtuinfo {27struct ip6_mtuinfo {
25 struct sockaddr_in6 ip6m_addr;28 struct sockaddr_in6 ip6m_addr;
26 __u32 ip6m_mtu;29 __u32 ip6m_mtu;
27};30};
31#endif
28 32
29struct in6_ifreq {33struct in6_ifreq {
30 struct in6_addr ifr6_addr;34 struct in6_addr ifr6_addr;
@@ -165,6 +169,7 @@ enum { · 134 unmodified lines
165 DEVCONF_SUPPRESS_FRAG_NDISC,169 DEVCONF_SUPPRESS_FRAG_NDISC,
166 DEVCONF_ACCEPT_RA_FROM_LOCAL,170 DEVCONF_ACCEPT_RA_FROM_LOCAL,
167 DEVCONF_USE_OPTIMISTIC,171 DEVCONF_USE_OPTIMISTIC,
172 DEVCONF_ACCEPT_RA_MTU,
168 DEVCONF_MAX173 DEVCONF_MAX
169};174};
170 175
include/uapi/linux/kernel-page-flags.h+1−0
@@ -32,6 +32,7 @@ · 31 unmodified lines
32#define KPF_KSM 2132#define KPF_KSM 21
33#define KPF_THP 2233#define KPF_THP 22
34#define KPF_BALLOON 2334#define KPF_BALLOON 23
35#define KPF_ZERO_PAGE 24
35 36
36 37
37#endif /* _UAPILINUX_KERNEL_PAGE_FLAGS_H */38#endif /* _UAPILINUX_KERNEL_PAGE_FLAGS_H */
include/uapi/linux/kexec.h+0−6
@@ -55,12 +55,6 @@ struct kexec_segment { · 54 unmodified lines
55 size_t memsz;55 size_t memsz;
56};56};
57 57
58/* Load a new kernel image as described by the kexec_segment array
59 * consisting of passed number of segments at the entry-point address.
60 * The flags allow different useage types.
61 */
62extern int kexec_load(void *, size_t, struct kexec_segment *,
63 unsigned long int);
64#endif /* __KERNEL__ */58#endif /* __KERNEL__ */
65 59
66#endif /* _UAPILINUX_KEXEC_H */60#endif /* _UAPILINUX_KEXEC_H */
include/uapi/linux/kvm.h+9−0
@@ -491,6 +491,11 @@ struct kvm_s390_emerg_info { · 490 unmodified lines
491 __u16 code;491 __u16 code;
492};492};
493 493
494#define KVM_S390_STOP_FLAG_STORE_STATUS 0x01
495struct kvm_s390_stop_info {
496 __u32 flags;
497};
498
494struct kvm_s390_mchk_info {499struct kvm_s390_mchk_info {
495 __u64 cr14;500 __u64 cr14;
496 __u64 mcic;501 __u64 mcic;
@@ -509,6 +514,7 @@ struct kvm_s390_irq { · 12 unmodified lines
509 struct kvm_s390_emerg_info emerg;514 struct kvm_s390_emerg_info emerg;
510 struct kvm_s390_extcall_info extcall;515 struct kvm_s390_extcall_info extcall;
511 struct kvm_s390_prefix_info prefix;516 struct kvm_s390_prefix_info prefix;
517 struct kvm_s390_stop_info stop;
512 struct kvm_s390_mchk_info mchk;518 struct kvm_s390_mchk_info mchk;
513 char reserved[64];519 char reserved[64];
514 } u;520 } u;
@@ -753,6 +759,7 @@ struct kvm_ppc_smmu_info { · 238 unmodified lines
753#define KVM_CAP_PPC_FIXUP_HCALL 103759#define KVM_CAP_PPC_FIXUP_HCALL 103
754#define KVM_CAP_PPC_ENABLE_HCALL 104760#define KVM_CAP_PPC_ENABLE_HCALL 104
755#define KVM_CAP_CHECK_EXTENSION_VM 105761#define KVM_CAP_CHECK_EXTENSION_VM 105
762#define KVM_CAP_S390_USER_SIGP 106
756 763
757#ifdef KVM_CAP_IRQ_ROUTING764#ifdef KVM_CAP_IRQ_ROUTING
758 765
@@ -952,6 +959,8 @@ enum kvm_device_type { · 193 unmodified lines
952#define KVM_DEV_TYPE_ARM_VGIC_V2 KVM_DEV_TYPE_ARM_VGIC_V2959#define KVM_DEV_TYPE_ARM_VGIC_V2 KVM_DEV_TYPE_ARM_VGIC_V2
953 KVM_DEV_TYPE_FLIC,960 KVM_DEV_TYPE_FLIC,
954#define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC961#define KVM_DEV_TYPE_FLIC KVM_DEV_TYPE_FLIC
962 KVM_DEV_TYPE_ARM_VGIC_V3,
963#define KVM_DEV_TYPE_ARM_VGIC_V3 KVM_DEV_TYPE_ARM_VGIC_V3
955 KVM_DEV_TYPE_MAX,964 KVM_DEV_TYPE_MAX,
956};965};
957 966
include/uapi/linux/l2tp.h+1−0
@@ -178,5 +178,6 @@ enum l2tp_seqmode { · 177 unmodified lines
178 */178 */
179#define L2TP_GENL_NAME "l2tp"179#define L2TP_GENL_NAME "l2tp"
180#define L2TP_GENL_VERSION 0x1180#define L2TP_GENL_VERSION 0x1
181#define L2TP_GENL_MCGROUP "l2tp"
181 182
182#endif /* _UAPI_LINUX_L2TP_H_ */183#endif /* _UAPI_LINUX_L2TP_H_ */
include/uapi/linux/libc-compat.h+6−0
@@ -70,6 +70,8 @@ · 69 unmodified lines
70#define __UAPI_DEF_IPV6_MREQ 070#define __UAPI_DEF_IPV6_MREQ 0
71#define __UAPI_DEF_IPPROTO_V6 071#define __UAPI_DEF_IPPROTO_V6 0
72#define __UAPI_DEF_IPV6_OPTIONS 072#define __UAPI_DEF_IPV6_OPTIONS 0
73#define __UAPI_DEF_IN6_PKTINFO 0
74#define __UAPI_DEF_IP6_MTUINFO 0
73 75
74#else76#else
75 77
@@ -84,6 +86,8 @@ · 8 unmodified lines
84#define __UAPI_DEF_IPV6_MREQ 186#define __UAPI_DEF_IPV6_MREQ 1
85#define __UAPI_DEF_IPPROTO_V6 187#define __UAPI_DEF_IPPROTO_V6 1
86#define __UAPI_DEF_IPV6_OPTIONS 188#define __UAPI_DEF_IPV6_OPTIONS 1
89#define __UAPI_DEF_IN6_PKTINFO 1
90#define __UAPI_DEF_IP6_MTUINFO 1
87 91
88#endif /* _NETINET_IN_H */92#endif /* _NETINET_IN_H */
89 93
@@ -106,6 +110,8 @@ · 16 unmodified lines
106#define __UAPI_DEF_IPV6_MREQ 1110#define __UAPI_DEF_IPV6_MREQ 1
107#define __UAPI_DEF_IPPROTO_V6 1111#define __UAPI_DEF_IPPROTO_V6 1
108#define __UAPI_DEF_IPV6_OPTIONS 1112#define __UAPI_DEF_IPV6_OPTIONS 1
113#define __UAPI_DEF_IN6_PKTINFO 1
114#define __UAPI_DEF_IP6_MTUINFO 1
109 115
110/* Definitions for xattr.h */116/* Definitions for xattr.h */
111#define __UAPI_DEF_XATTR 1117#define __UAPI_DEF_XATTR 1
include/uapi/linux/mempolicy.h+1−1
@@ -67,7 +67,7 @@ enum mpol_rebind_step { · 66 unmodified lines
67#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */67#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */
68#define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */68#define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */
69#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */69#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */
70#define MPOL_F_MORON (1 << 4) /* Migrate On pte_numa Reference On Node */70#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */
71 71
72 72
73#endif /* _UAPI_LINUX_MEMPOLICY_H */73#endif /* _UAPI_LINUX_MEMPOLICY_H */
include/uapi/linux/msdos_fs.h+2−2
@@ -134,7 +134,7 @@ struct fat_boot_sector { · 133 unmodified lines
134 __u8 vol_id[4]; /* volume ID */134 __u8 vol_id[4]; /* volume ID */
135 __u8 vol_label[11]; /* volume label */135 __u8 vol_label[11]; /* volume label */
136 __u8 fs_type[8]; /* file system type */136 __u8 fs_type[8]; /* file system type */
137 /* other fiealds are not added here */137 /* other fields are not added here */
138 } fat16;138 } fat16;
139 139
140 struct {140 struct {
@@ -157,7 +157,7 @@ struct fat_boot_sector { · 16 unmodified lines
157 __u8 vol_id[4]; /* volume ID */157 __u8 vol_id[4]; /* volume ID */
158 __u8 vol_label[11]; /* volume label */158 __u8 vol_label[11]; /* volume label */
159 __u8 fs_type[8]; /* file system type */159 __u8 fs_type[8]; /* file system type */
160 /* other fiealds are not added here */160 /* other fields are not added here */
161 } fat32;161 } fat32;
162 };162 };
163};163};
include/uapi/linux/neighbour.h+1−0
@@ -25,6 +25,7 @@ enum { · 24 unmodified lines
25 NDA_VNI,25 NDA_VNI,
26 NDA_IFINDEX,26 NDA_IFINDEX,
27 NDA_MASTER,27 NDA_MASTER,
28 NDA_LINK_NETNSID,
28 __NDA_MAX29 __NDA_MAX
29};30};
30 31
include/uapi/linux/net_namespace.h+23−0
@@ -0,0 +1,23 @@
1/* Copyright (c) 2015 6WIND S.A.
2 * Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms and conditions of the GNU General Public License,
6 * version 2, as published by the Free Software Foundation.
7 */
8#ifndef _UAPI_LINUX_NET_NAMESPACE_H_
9#define _UAPI_LINUX_NET_NAMESPACE_H_
10
11/* Attributes of RTM_NEWNSID/RTM_GETNSID messages */
12enum {
13 NETNSA_NONE,
14#define NETNSA_NSID_NOT_ASSIGNED -1
15 NETNSA_NSID,
16 NETNSA_PID,
17 NETNSA_FD,
18 __NETNSA_MAX,
19};
20
21#define NETNSA_MAX (__NETNSA_MAX - 1)
22
23#endif /* _UAPI_LINUX_NET_NAMESPACE_H_ */
include/uapi/linux/net_tstamp.h+2−1
@@ -24,8 +24,9 @@ enum { · 23 unmodified lines
24 SOF_TIMESTAMPING_TX_SCHED = (1<<8),24 SOF_TIMESTAMPING_TX_SCHED = (1<<8),
25 SOF_TIMESTAMPING_TX_ACK = (1<<9),25 SOF_TIMESTAMPING_TX_ACK = (1<<9),
26 SOF_TIMESTAMPING_OPT_CMSG = (1<<10),26 SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
27 SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
27 28
28 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_CMSG,29 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TSONLY,
29 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |30 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
30 SOF_TIMESTAMPING_LAST31 SOF_TIMESTAMPING_LAST
31};32};
include/uapi/linux/nfc.h+1−0
@@ -183,6 +183,7 @@ enum nfc_attrs { · 182 unmodified lines
183 NFC_ATTR_SE_APDU,183 NFC_ATTR_SE_APDU,
184 NFC_ATTR_TARGET_ISO15693_DSFID,184 NFC_ATTR_TARGET_ISO15693_DSFID,
185 NFC_ATTR_TARGET_ISO15693_UID,185 NFC_ATTR_TARGET_ISO15693_UID,
186 NFC_ATTR_SE_PARAMS,
186/* private: internal use only */187/* private: internal use only */
187 __NFC_ATTR_AFTER_LAST188 __NFC_ATTR_AFTER_LAST
188};189};
include/uapi/linux/nfsd/debug.h+1−0
@@ -32,6 +32,7 @@ · 31 unmodified lines
32#define NFSDDBG_REPCACHE 0x008032#define NFSDDBG_REPCACHE 0x0080
33#define NFSDDBG_XDR 0x010033#define NFSDDBG_XDR 0x0100
34#define NFSDDBG_LOCKD 0x020034#define NFSDDBG_LOCKD 0x0200
35#define NFSDDBG_PNFS 0x0400
35#define NFSDDBG_ALL 0x7FFF36#define NFSDDBG_ALL 0x7FFF
36#define NFSDDBG_NOCHANGE 0xFFFF37#define NFSDDBG_NOCHANGE 0xFFFF
37 38
include/uapi/linux/nfsd/export.h+3−1
@@ -47,8 +47,10 @@ · 46 unmodified lines
47 * exported filesystem.47 * exported filesystem.
48 */48 */
49#define NFSEXP_V4ROOT 0x1000049#define NFSEXP_V4ROOT 0x10000
50#define NFSEXP_NOPNFS 0x20000
51
50/* All flags that we claim to support. (Note we don't support NOACL.) */52/* All flags that we claim to support. (Note we don't support NOACL.) */
51#define NFSEXP_ALLFLAGS 0x1FE7F53#define NFSEXP_ALLFLAGS 0x3FE7F
52 54
53/* The flags that may vary depending on security flavor: */55/* The flags that may vary depending on security flavor: */
54#define NFSEXP_SECINFO_FLAGS (NFSEXP_READONLY | NFSEXP_ROOTSQUASH \56#define NFSEXP_SECINFO_FLAGS (NFSEXP_READONLY | NFSEXP_ROOTSQUASH \
include/uapi/linux/nl80211.h+176−31
@@ -29,6 +29,13 @@ · 28 unmodified lines
29 29
30#define NL80211_GENL_NAME "nl80211"30#define NL80211_GENL_NAME "nl80211"
31 31
32#define NL80211_MULTICAST_GROUP_CONFIG "config"
33#define NL80211_MULTICAST_GROUP_SCAN "scan"
34#define NL80211_MULTICAST_GROUP_REG "regulatory"
35#define NL80211_MULTICAST_GROUP_MLME "mlme"
36#define NL80211_MULTICAST_GROUP_VENDOR "vendor"
37#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
38
32/**39/**
33 * DOC: Station handling40 * DOC: Station handling
34 *41 *
@@ -173,8 +180,8 @@ · 138 unmodified lines
173 * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME.180 * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME.
174 *181 *
175 * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration;182 * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration;
176 * either a dump request on a %NL80211_ATTR_WIPHY or a specific get183 * either a dump request for all interfaces or a specific get with a
177 * on an %NL80211_ATTR_IFINDEX is supported.184 * single %NL80211_ATTR_IFINDEX is supported.
178 * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires185 * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires
179 * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE.186 * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE.
180 * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response187 * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response
@@ -252,7 +259,18 @@ · 71 unmodified lines
252 * %NL80211_ATTR_IFINDEX.259 * %NL80211_ATTR_IFINDEX.
253 *260 *
254 * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set261 * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set
255 * regulatory domain.262 * regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device
263 * has a private regulatory domain, it will be returned. Otherwise, the
264 * global regdomain will be returned.
265 * A device will have a private regulatory domain if it uses the
266 * regulatory_hint() API. Even when a private regdomain is used the channel
267 * information will still be mended according to further hints from
268 * the regulatory core to help with compliance. A dump version of this API
269 * is now available which will returns the global regdomain as well as
270 * all private regdomains of present wiphys (for those that have it).
271 * If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then
272 * its private regdomain is the only valid one for it. The regulatory
273 * core is not used to help with compliance in this case.
256 * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command274 * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
257 * after being queried by the kernel. CRDA replies by sending a regulatory275 * after being queried by the kernel. CRDA replies by sending a regulatory
258 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our276 * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
@@ -306,7 +324,9 @@ · 47 unmodified lines
306 * if passed, define which channels should be scanned; if not324 * if passed, define which channels should be scanned; if not
307 * passed, all channels allowed for the current regulatory domain325 * passed, all channels allowed for the current regulatory domain
308 * are used. Extra IEs can also be passed from the userspace by326 * are used. Extra IEs can also be passed from the userspace by
309 * using the %NL80211_ATTR_IE attribute.327 * using the %NL80211_ATTR_IE attribute. The first cycle of the
328 * scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY
329 * is supplied.
310 * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if330 * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if
311 * scheduled scan is not running. The caller may assume that as soon331 * scheduled scan is not running. The caller may assume that as soon
312 * as the call returns, it is safe to start a new scheduled scan again.332 * as the call returns, it is safe to start a new scheduled scan again.
@@ -774,6 +794,10 @@ · 461 unmodified lines
774 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel794 * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
775 * when this command completes.795 * when this command completes.
776 *796 *
797 * @NL80211_CMD_WIPHY_REG_CHANGE: Similar to %NL80211_CMD_REG_CHANGE, but used
798 * as an event to indicate changes for devices with wiphy-specific regdom
799 * management.
800 *
777 * @NL80211_CMD_MAX: highest used command number801 * @NL80211_CMD_MAX: highest used command number
778 * @__NL80211_CMD_AFTER_LAST: internal use802 * @__NL80211_CMD_AFTER_LAST: internal use
779 */803 */
@@ -958,6 +982,8 @@ enum nl80211_commands { · 178 unmodified lines
958 NL80211_CMD_TDLS_CHANNEL_SWITCH,982 NL80211_CMD_TDLS_CHANNEL_SWITCH,
959 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,983 NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
960 984
985 NL80211_CMD_WIPHY_REG_CHANGE,
986
961 /* add new commands above here */987 /* add new commands above here */
962 988
963 /* used to define NL80211_CMD_MAX below */989 /* used to define NL80211_CMD_MAX below */
@@ -1655,6 +1681,9 @@ enum nl80211_commands { · 691 unmodified lines
1655 * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface1681 * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface
1656 * creation then the new interface will be owned by the netlink socket1682 * creation then the new interface will be owned by the netlink socket
1657 * that created it and will be destroyed when the socket is closed.1683 * that created it and will be destroyed when the socket is closed.
1684 * If set during scheduled scan start then the new scan req will be
1685 * owned by the netlink socket that created it and the scheduled scan will
1686 * be stopped when the socket is closed.
1658 *1687 *
1659 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is1688 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
1660 * the TDLS link initiator.1689 * the TDLS link initiator.
@@ -1688,6 +1717,29 @@ enum nl80211_commands { · 27 unmodified lines
1688 *1717 *
1689 * @NL80211_ATTR_MAC_MASK: MAC address mask1718 * @NL80211_ATTR_MAC_MASK: MAC address mask
1690 *1719 *
1720 * @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating this device
1721 * is self-managing its regulatory information and any regulatory domain
1722 * obtained from it is coming from the device's wiphy and not the global
1723 * cfg80211 regdomain.
1724 *
1725 * @NL80211_ATTR_EXT_FEATURES: extended feature flags contained in a byte
1726 * array. The feature flags are identified by their bit index (see &enum
1727 * nl80211_ext_feature_index). The bit index is ordered starting at the
1728 * least-significant bit of the first byte in the array, ie. bit index 0
1729 * is located at bit 0 of byte 0. bit index 25 would be located at bit 1
1730 * of byte 3 (u8 array).
1731 *
1732 * @NL80211_ATTR_SURVEY_RADIO_STATS: Request overall radio statistics to be
1733 * returned along with other survey data. If set, @NL80211_CMD_GET_SURVEY
1734 * may return a survey entry without a channel indicating global radio
1735 * statistics (only some values are valid and make sense.)
1736 * For devices that don't return such an entry even then, the information
1737 * should be contained in the result as the sum of the respective counters
1738 * over all channels.
1739 *
1740 * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before a scheduled scan (or a
1741 * WoWLAN net-detect scan) is started, u32 in seconds.
1742 *
1691 * @NUM_NL80211_ATTR: total number of nl80211_attrs available1743 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1692 * @NL80211_ATTR_MAX: highest attribute number currently defined1744 * @NL80211_ATTR_MAX: highest attribute number currently defined
1693 * @__NL80211_ATTR_AFTER_LAST: internal use1745 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2045,6 +2097,16 @@ enum nl80211_attrs { · 351 unmodified lines
2045 2097
2046 NL80211_ATTR_MAC_MASK,2098 NL80211_ATTR_MAC_MASK,
2047 2099
2100 NL80211_ATTR_WIPHY_SELF_MANAGED_REG,
2101
2102 NL80211_ATTR_EXT_FEATURES,
2103
2104 NL80211_ATTR_SURVEY_RADIO_STATS,
2105
2106 NL80211_ATTR_NETNS_FD,
2107
2108 NL80211_ATTR_SCHED_SCAN_DELAY,
2109
2048 /* add attributes here, update the policy in nl80211.c */2110 /* add attributes here, update the policy in nl80211.c */
2049 2111
2050 __NL80211_ATTR_AFTER_LAST,2112 __NL80211_ATTR_AFTER_LAST,
@@ -2085,7 +2147,7 @@ enum nl80211_attrs { · 34 unmodified lines
2085 2147
2086#define NL80211_MAX_SUPP_RATES 322148#define NL80211_MAX_SUPP_RATES 32
2087#define NL80211_MAX_SUPP_HT_RATES 772149#define NL80211_MAX_SUPP_HT_RATES 77
2088#define NL80211_MAX_SUPP_REG_RULES 322150#define NL80211_MAX_SUPP_REG_RULES 64
2089#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 02151#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
2090#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 162152#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
2091#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 242153#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
@@ -2225,8 +2287,15 @@ struct nl80211_sta_flag_update { · 133 unmodified lines
2225 * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)2287 * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)
2226 * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)2288 * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)
2227 * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate2289 * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate
2228 * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: 80+80 MHz VHT rate2290 * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the
2291 * same as 160 for purposes of the bitrates
2229 * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate2292 * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate
2293 * @NL80211_RATE_INFO_10_MHZ_WIDTH: 10 MHz width - note that this is
2294 * a legacy rate and will be reported as the actual bitrate, i.e.
2295 * half the base (20 MHz) rate
2296 * @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is
2297 * a legacy rate and will be reported as the actual bitrate, i.e.
2298 * a quarter of the base (20 MHz) rate
2230 * @__NL80211_RATE_INFO_AFTER_LAST: internal use2299 * @__NL80211_RATE_INFO_AFTER_LAST: internal use
2231 */2300 */
2232enum nl80211_rate_info {2301enum nl80211_rate_info {
@@ -2241,6 +2310,8 @@ enum nl80211_rate_info { · 8 unmodified lines
2241 NL80211_RATE_INFO_80_MHZ_WIDTH,2310 NL80211_RATE_INFO_80_MHZ_WIDTH,
2242 NL80211_RATE_INFO_80P80_MHZ_WIDTH,2311 NL80211_RATE_INFO_80P80_MHZ_WIDTH,
2243 NL80211_RATE_INFO_160_MHZ_WIDTH,2312 NL80211_RATE_INFO_160_MHZ_WIDTH,
2313 NL80211_RATE_INFO_10_MHZ_WIDTH,
2314 NL80211_RATE_INFO_5_MHZ_WIDTH,
2244 2315
2245 /* keep last */2316 /* keep last */
2246 __NL80211_RATE_INFO_AFTER_LAST,2317 __NL80211_RATE_INFO_AFTER_LAST,
@@ -2285,18 +2356,24 @@ enum nl80211_sta_bss_param { · 38 unmodified lines
2285 *2356 *
2286 * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved2357 * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved
2287 * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)2358 * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
2288 * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station)2359 * @NL80211_STA_INFO_RX_BYTES: total received bytes (MPDU length)
2289 * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station)2360 * (u32, from this station)
2290 * @NL80211_STA_INFO_RX_BYTES64: total received bytes (u64, from this station)2361 * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (MPDU length)
2291 * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (u64, to this station)2362 * (u32, to this station)
2363 * @NL80211_STA_INFO_RX_BYTES64: total received bytes (MPDU length)
2364 * (u64, from this station)
2365 * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (MPDU length)
2366 * (u64, to this station)
2292 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)2367 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
2293 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute2368 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
2294 * containing info as possible, see &enum nl80211_rate_info2369 * containing info as possible, see &enum nl80211_rate_info
2295 * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)2370 * @NL80211_STA_INFO_RX_PACKETS: total received packet (MSDUs and MMPDUs)
2296 * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (u32, to this2371 * (u32, from this station)
2297 * station)2372 * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (MSDUs and MMPDUs)
2298 * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station)2373 * (u32, to this station)
2299 * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station)2374 * @NL80211_STA_INFO_TX_RETRIES: total retries (MPDUs) (u32, to this station)
2375 * @NL80211_STA_INFO_TX_FAILED: total failed packets (MPDUs)
2376 * (u32, to this station)
2300 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)2377 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
2301 * @NL80211_STA_INFO_LLID: the station's mesh LLID2378 * @NL80211_STA_INFO_LLID: the station's mesh LLID
2302 * @NL80211_STA_INFO_PLID: the station's mesh PLID2379 * @NL80211_STA_INFO_PLID: the station's mesh PLID
@@ -2320,6 +2397,16 @@ enum nl80211_sta_bss_param { · 17 unmodified lines
2320 * Same format as NL80211_STA_INFO_CHAIN_SIGNAL.2397 * Same format as NL80211_STA_INFO_CHAIN_SIGNAL.
2321 * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the2398 * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the
2322 * 802.11 header (u32, kbps)2399 * 802.11 header (u32, kbps)
2400 * @NL80211_STA_INFO_RX_DROP_MISC: RX packets dropped for unspecified reasons
2401 * (u64)
2402 * @NL80211_STA_INFO_BEACON_RX: number of beacons received from this peer (u64)
2403 * @NL80211_STA_INFO_BEACON_SIGNAL_AVG: signal strength average
2404 * for beacons only (u8, dBm)
2405 * @NL80211_STA_INFO_TID_STATS: per-TID statistics (see &enum nl80211_tid_stats)
2406 * This is a nested attribute where each the inner attribute number is the
2407 * TID+1 and the special TID 16 (i.e. value 17) is used for non-QoS frames;
2408 * each one of those is again nested with &enum nl80211_tid_stats
2409 * attributes carrying the actual values.
2323 * @__NL80211_STA_INFO_AFTER_LAST: internal2410 * @__NL80211_STA_INFO_AFTER_LAST: internal
2324 * @NL80211_STA_INFO_MAX: highest possible station info attribute2411 * @NL80211_STA_INFO_MAX: highest possible station info attribute
2325 */2412 */
@@ -2352,12 +2439,41 @@ enum nl80211_sta_info { · 26 unmodified lines
2352 NL80211_STA_INFO_CHAIN_SIGNAL,2439 NL80211_STA_INFO_CHAIN_SIGNAL,
2353 NL80211_STA_INFO_CHAIN_SIGNAL_AVG,2440 NL80211_STA_INFO_CHAIN_SIGNAL_AVG,
2354 NL80211_STA_INFO_EXPECTED_THROUGHPUT,2441 NL80211_STA_INFO_EXPECTED_THROUGHPUT,
2442 NL80211_STA_INFO_RX_DROP_MISC,
2443 NL80211_STA_INFO_BEACON_RX,
2444 NL80211_STA_INFO_BEACON_SIGNAL_AVG,
2445 NL80211_STA_INFO_TID_STATS,
2355 2446
2356 /* keep last */2447 /* keep last */
2357 __NL80211_STA_INFO_AFTER_LAST,2448 __NL80211_STA_INFO_AFTER_LAST,
2358 NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 12449 NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
2359};2450};
2360 2451
2452/**
2453 * enum nl80211_tid_stats - per TID statistics attributes
2454 * @__NL80211_TID_STATS_INVALID: attribute number 0 is reserved
2455 * @NL80211_TID_STATS_RX_MSDU: number of MSDUs received (u64)
2456 * @NL80211_TID_STATS_TX_MSDU: number of MSDUs transmitted (or
2457 * attempted to transmit; u64)
2458 * @NL80211_TID_STATS_TX_MSDU_RETRIES: number of retries for
2459 * transmitted MSDUs (not counting the first attempt; u64)
2460 * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted
2461 * MSDUs (u64)
2462 * @NUM_NL80211_TID_STATS: number of attributes here
2463 * @NL80211_TID_STATS_MAX: highest numbered attribute here
2464 */
2465enum nl80211_tid_stats {
2466 __NL80211_TID_STATS_INVALID,
2467 NL80211_TID_STATS_RX_MSDU,
2468 NL80211_TID_STATS_TX_MSDU,
2469 NL80211_TID_STATS_TX_MSDU_RETRIES,
2470 NL80211_TID_STATS_TX_MSDU_FAILED,
2471
2472 /* keep last */
2473 NUM_NL80211_TID_STATS,
2474 NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1
2475};
2476
2361/**2477/**
2362 * enum nl80211_mpath_flags - nl80211 mesh path flags2478 * enum nl80211_mpath_flags - nl80211 mesh path flags
2363 *2479 *
@@ -2772,16 +2888,18 @@ enum nl80211_user_reg_hint_type { · 408 unmodified lines
2772 * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel2888 * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
2773 * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)2889 * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
2774 * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used2890 * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
2775 * @NL80211_SURVEY_INFO_CHANNEL_TIME: amount of time (in ms) that the radio2891 * @NL80211_SURVEY_INFO_TIME: amount of time (in ms) that the radio
2776 * spent on this channel2892 * was turned on (on channel or globally)
2777 * @NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY: amount of the time the primary2893 * @NL80211_SURVEY_INFO_TIME_BUSY: amount of the time the primary
2778 * channel was sensed busy (either due to activity or energy detect)2894 * channel was sensed busy (either due to activity or energy detect)
2779 * @NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: amount of time the extension2895 * @NL80211_SURVEY_INFO_TIME_EXT_BUSY: amount of time the extension
2780 * channel was sensed busy2896 * channel was sensed busy
2781 * @NL80211_SURVEY_INFO_CHANNEL_TIME_RX: amount of time the radio spent2897 * @NL80211_SURVEY_INFO_TIME_RX: amount of time the radio spent
2782 * receiving data2898 * receiving data (on channel or globally)
2783 * @NL80211_SURVEY_INFO_CHANNEL_TIME_TX: amount of time the radio spent2899 * @NL80211_SURVEY_INFO_TIME_TX: amount of time the radio spent
2784 * transmitting data2900 * transmitting data (on channel or globally)
2901 * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
2902 * (on this channel or globally)
2785 * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number2903 * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
2786 * currently defined2904 * currently defined
2787 * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use2905 * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
@@ -2791,17 +2909,25 @@ enum nl80211_survey_info { · 3 unmodified lines
2791 NL80211_SURVEY_INFO_FREQUENCY,2909 NL80211_SURVEY_INFO_FREQUENCY,
2792 NL80211_SURVEY_INFO_NOISE,2910 NL80211_SURVEY_INFO_NOISE,
2793 NL80211_SURVEY_INFO_IN_USE,2911 NL80211_SURVEY_INFO_IN_USE,
2794 NL80211_SURVEY_INFO_CHANNEL_TIME,2912 NL80211_SURVEY_INFO_TIME,
2795 NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY,2913 NL80211_SURVEY_INFO_TIME_BUSY,
2796 NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY,2914 NL80211_SURVEY_INFO_TIME_EXT_BUSY,
2797 NL80211_SURVEY_INFO_CHANNEL_TIME_RX,2915 NL80211_SURVEY_INFO_TIME_RX,
2798 NL80211_SURVEY_INFO_CHANNEL_TIME_TX,2916 NL80211_SURVEY_INFO_TIME_TX,
2917 NL80211_SURVEY_INFO_TIME_SCAN,
2799 2918
2800 /* keep last */2919 /* keep last */
2801 __NL80211_SURVEY_INFO_AFTER_LAST,2920 __NL80211_SURVEY_INFO_AFTER_LAST,
2802 NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 12921 NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1
2803};2922};
2804 2923
2924/* keep old names for compatibility */
2925#define NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_TIME
2926#define NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_TIME_BUSY
2927#define NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_EXT_BUSY
2928#define NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_TIME_RX
2929#define NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_TIME_TX
2930
2805/**2931/**
2806 * enum nl80211_mntr_flags - monitor configuration flags2932 * enum nl80211_mntr_flags - monitor configuration flags
2807 *2933 *
@@ -3238,6 +3364,9 @@ enum nl80211_bss { · 430 unmodified lines
3238/**3364/**
3239 * enum nl80211_bss_status - BSS "status"3365 * enum nl80211_bss_status - BSS "status"
3240 * @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS.3366 * @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS.
3367 * Note that this is no longer used since cfg80211 no longer
3368 * keeps track of whether or not authentication was done with
3369 * a given BSS.
3241 * @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS.3370 * @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS.
3242 * @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS.3371 * @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS.
3243 *3372 *
@@ -3621,9 +3750,12 @@ struct nl80211_pattern_support { · 377 unmodified lines
3621 * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network3750 * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network
3622 * is detected. This is a nested attribute that contains the3751 * is detected. This is a nested attribute that contains the
3623 * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It3752 * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It
3624 * specifies how the scan is performed (e.g. the interval and the3753 * specifies how the scan is performed (e.g. the interval, the
3625 * channels to scan) as well as the scan results that will3754 * channels to scan and the initial delay) as well as the scan
3626 * trigger a wake (i.e. the matchsets).3755 * results that will trigger a wake (i.e. the matchsets). This
3756 * attribute is also sent in a response to
3757 * @NL80211_CMD_GET_WIPHY, indicating the number of match sets
3758 * supported by the driver (u32).
3627 * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute3759 * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute
3628 * containing an array with information about what triggered the3760 * containing an array with information about what triggered the
3629 * wake up. If no elements are present in the array, it means3761 * wake up. If no elements are present in the array, it means
@@ -4193,6 +4325,19 @@ enum nl80211_feature_flags { · 563 unmodified lines
4193 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,4325 NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
4194};4326};
4195 4327
4328/**
4329 * enum nl80211_ext_feature_index - bit index of extended features.
4330 *
4331 * @NUM_NL80211_EXT_FEATURES: number of extended features.
4332 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
4333 */
4334enum nl80211_ext_feature_index {
4335
4336 /* add new features before the definition below */
4337 NUM_NL80211_EXT_FEATURES,
4338 MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
4339};
4340
4196/**4341/**
4197 * enum nl80211_probe_resp_offload_support_attr - optional supported4342 * enum nl80211_probe_resp_offload_support_attr - optional supported
4198 * protocols for probe-response offloading by the driver/FW.4343 * protocols for probe-response offloading by the driver/FW.
include/uapi/linux/nvme.h+25−1
@@ -115,7 +115,13 @@ struct nvme_id_ns { · 114 unmodified lines
115 __le16 nawun;115 __le16 nawun;
116 __le16 nawupf;116 __le16 nawupf;
117 __le16 nacwu;117 __le16 nacwu;
118 __u8 rsvd40[80];118 __le16 nabsn;
119 __le16 nabo;
120 __le16 nabspf;
121 __u16 rsvd46;
122 __le64 nvmcap[2];
123 __u8 rsvd64[40];
124 __u8 nguid[16];
119 __u8 eui64[8];125 __u8 eui64[8];
120 struct nvme_lbaf lbaf[16];126 struct nvme_lbaf lbaf[16];
121 __u8 rsvd192[192];127 __u8 rsvd192[192];
@@ -124,10 +130,22 @@ struct nvme_id_ns { · 2 unmodified lines
124 130
125enum {131enum {
126 NVME_NS_FEAT_THIN = 1 << 0,132 NVME_NS_FEAT_THIN = 1 << 0,
133 NVME_NS_FLBAS_LBA_MASK = 0xf,
134 NVME_NS_FLBAS_META_EXT = 0x10,
127 NVME_LBAF_RP_BEST = 0,135 NVME_LBAF_RP_BEST = 0,
128 NVME_LBAF_RP_BETTER = 1,136 NVME_LBAF_RP_BETTER = 1,
129 NVME_LBAF_RP_GOOD = 2,137 NVME_LBAF_RP_GOOD = 2,
130 NVME_LBAF_RP_DEGRADED = 3,138 NVME_LBAF_RP_DEGRADED = 3,
139 NVME_NS_DPC_PI_LAST = 1 << 4,
140 NVME_NS_DPC_PI_FIRST = 1 << 3,
141 NVME_NS_DPC_PI_TYPE3 = 1 << 2,
142 NVME_NS_DPC_PI_TYPE2 = 1 << 1,
143 NVME_NS_DPC_PI_TYPE1 = 1 << 0,
144 NVME_NS_DPS_PI_FIRST = 1 << 3,
145 NVME_NS_DPS_PI_MASK = 0x7,
146 NVME_NS_DPS_PI_TYPE1 = 1,
147 NVME_NS_DPS_PI_TYPE2 = 2,
148 NVME_NS_DPS_PI_TYPE3 = 3,
131};149};
132 150
133struct nvme_smart_log {151struct nvme_smart_log {
@@ -261,6 +279,10 @@ enum { · 127 unmodified lines
261 NVME_RW_DSM_LATENCY_LOW = 3 << 4,279 NVME_RW_DSM_LATENCY_LOW = 3 << 4,
262 NVME_RW_DSM_SEQ_REQ = 1 << 6,280 NVME_RW_DSM_SEQ_REQ = 1 << 6,
263 NVME_RW_DSM_COMPRESSED = 1 << 7,281 NVME_RW_DSM_COMPRESSED = 1 << 7,
282 NVME_RW_PRINFO_PRCHK_REF = 1 << 10,
283 NVME_RW_PRINFO_PRCHK_APP = 1 << 11,
284 NVME_RW_PRINFO_PRCHK_GUARD = 1 << 12,
285 NVME_RW_PRINFO_PRACT = 1 << 13,
264};286};
265 287
266struct nvme_dsm_cmd {288struct nvme_dsm_cmd {
@@ -549,6 +571,8 @@ struct nvme_passthru_cmd { · 282 unmodified lines
549 __u32 result;571 __u32 result;
550};572};
551 573
574#define NVME_VS(major, minor) (((major) << 16) | ((minor) << 8))
575
552#define nvme_admin_cmd nvme_passthru_cmd576#define nvme_admin_cmd nvme_passthru_cmd
553 577
554#define NVME_IOCTL_ID _IO('N', 0x40)578#define NVME_IOCTL_ID _IO('N', 0x40)
include/uapi/linux/openvswitch.h+52−1
@@ -252,11 +252,21 @@ enum ovs_vport_attr { · 251 unmodified lines
252 252
253#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1)253#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1)
254 254
255enum {
256 OVS_VXLAN_EXT_UNSPEC,
257 OVS_VXLAN_EXT_GBP, /* Flag or __u32 */
258 __OVS_VXLAN_EXT_MAX,
259};
260
261#define OVS_VXLAN_EXT_MAX (__OVS_VXLAN_EXT_MAX - 1)
262
263
255/* OVS_VPORT_ATTR_OPTIONS attributes for tunnels.264/* OVS_VPORT_ATTR_OPTIONS attributes for tunnels.
256 */265 */
257enum {266enum {
258 OVS_TUNNEL_ATTR_UNSPEC,267 OVS_TUNNEL_ATTR_UNSPEC,
259 OVS_TUNNEL_ATTR_DST_PORT, /* 16-bit UDP port, used by L4 tunnels. */268 OVS_TUNNEL_ATTR_DST_PORT, /* 16-bit UDP port, used by L4 tunnels. */
269 OVS_TUNNEL_ATTR_EXTENSION,
260 __OVS_TUNNEL_ATTR_MAX270 __OVS_TUNNEL_ATTR_MAX
261};271};
262 272
@@ -328,6 +338,7 @@ enum ovs_tunnel_key_attr { · 65 unmodified lines
328 OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */338 OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */
329 OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */339 OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */
330 OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */340 OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */
341 OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */
331 __OVS_TUNNEL_KEY_ATTR_MAX342 __OVS_TUNNEL_KEY_ATTR_MAX
332};343};
333 344
@@ -448,6 +459,14 @@ struct ovs_key_nd { · 114 unmodified lines
448 * a wildcarded match. Omitting attribute is treated as wildcarding all459 * a wildcarded match. Omitting attribute is treated as wildcarding all
449 * corresponding fields. Optional for all requests. If not present,460 * corresponding fields. Optional for all requests. If not present,
450 * all flow key bits are exact match bits.461 * all flow key bits are exact match bits.
462 * @OVS_FLOW_ATTR_UFID: A value between 1-16 octets specifying a unique
463 * identifier for the flow. Causes the flow to be indexed by this value rather
464 * than the value of the %OVS_FLOW_ATTR_KEY attribute. Optional for all
465 * requests. Present in notifications if the flow was created with this
466 * attribute.
467 * @OVS_FLOW_ATTR_UFID_FLAGS: A 32-bit value of OR'd %OVS_UFID_F_*
468 * flags that provide alternative semantics for flow installation and
469 * retrieval. Optional for all requests.
451 *470 *
452 * These attributes follow the &struct ovs_header within the Generic Netlink471 * These attributes follow the &struct ovs_header within the Generic Netlink
453 * payload for %OVS_FLOW_* commands.472 * payload for %OVS_FLOW_* commands.
@@ -463,11 +482,23 @@ enum ovs_flow_attr { · 9 unmodified lines
463 OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */482 OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */
464 OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error483 OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error
465 * logging should be suppressed. */484 * logging should be suppressed. */
485 OVS_FLOW_ATTR_UFID, /* Variable length unique flow identifier. */
486 OVS_FLOW_ATTR_UFID_FLAGS,/* u32 of OVS_UFID_F_*. */
466 __OVS_FLOW_ATTR_MAX487 __OVS_FLOW_ATTR_MAX
467};488};
468 489
469#define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1)490#define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1)
470 491
492/**
493 * Omit attributes for notifications.
494 *
495 * If a datapath request contains an %OVS_UFID_F_OMIT_* flag, then the datapath
496 * may omit the corresponding %OVS_FLOW_ATTR_* from the response.
497 */
498#define OVS_UFID_F_OMIT_KEY (1 << 0)
499#define OVS_UFID_F_OMIT_MASK (1 << 1)
500#define OVS_UFID_F_OMIT_ACTIONS (1 << 2)
501
471/**502/**
472 * enum ovs_sample_attr - Attributes for %OVS_ACTION_ATTR_SAMPLE action.503 * enum ovs_sample_attr - Attributes for %OVS_ACTION_ATTR_SAMPLE action.
473 * @OVS_SAMPLE_ATTR_PROBABILITY: 32-bit fraction of packets to sample with504 * @OVS_SAMPLE_ATTR_PROBABILITY: 32-bit fraction of packets to sample with
@@ -568,6 +599,12 @@ struct ovs_action_hash { · 94 unmodified lines
568 * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The599 * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The
569 * single nested %OVS_KEY_ATTR_* attribute specifies a header to modify and its600 * single nested %OVS_KEY_ATTR_* attribute specifies a header to modify and its
570 * value.601 * value.
602 * @OVS_ACTION_ATTR_SET_MASKED: Replaces the contents of an existing header. A
603 * nested %OVS_KEY_ATTR_* attribute specifies a header to modify, its value,
604 * and a mask. For every bit set in the mask, the corresponding bit value
605 * is copied from the value to the packet header field, rest of the bits are
606 * left unchanged. The non-masked value bits must be passed in as zeroes.
607 * Masking is not supported for the %OVS_KEY_ATTR_TUNNEL attribute.
571 * @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the608 * @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the
572 * packet.609 * packet.
573 * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet.610 * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet.
@@ -586,6 +623,9 @@ struct ovs_action_hash { · 12 unmodified lines
586 * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all623 * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all
587 * fields within a header are modifiable, e.g. the IPv4 protocol and fragment624 * fields within a header are modifiable, e.g. the IPv4 protocol and fragment
588 * type may not be changed.625 * type may not be changed.
626 *
627 * @OVS_ACTION_ATTR_SET_TO_MASKED: Kernel internal masked set action translated
628 * from the @OVS_ACTION_ATTR_SET.
589 */629 */
590 630
591enum ovs_action_attr {631enum ovs_action_attr {
@@ -600,8 +640,19 @@ enum ovs_action_attr { · 8 unmodified lines
600 OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */640 OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */
601 OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */641 OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */
602 OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */642 OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */
643 OVS_ACTION_ATTR_SET_MASKED, /* One nested OVS_KEY_ATTR_* including
644 * data immediately followed by a mask.
645 * The data must be zero for the unmasked
646 * bits. */
603 647
604 __OVS_ACTION_ATTR_MAX648 __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
649 * from userspace. */
650
651#ifdef __KERNEL__
652 OVS_ACTION_ATTR_SET_TO_MASKED, /* Kernel module internal masked
653 * set action converted from
654 * OVS_ACTION_ATTR_SET. */
655#endif
605};656};
606 657
607#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)658#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)
include/uapi/linux/pci_regs.h+4−0
@@ -451,6 +451,10 @@ · 450 unmodified lines
451#define PCI_EXP_DEVCTL_AUX_PME 0x0400 /* Auxiliary Power PM Enable */451#define PCI_EXP_DEVCTL_AUX_PME 0x0400 /* Auxiliary Power PM Enable */
452#define PCI_EXP_DEVCTL_NOSNOOP_EN 0x0800 /* Enable No Snoop */452#define PCI_EXP_DEVCTL_NOSNOOP_EN 0x0800 /* Enable No Snoop */
453#define PCI_EXP_DEVCTL_READRQ 0x7000 /* Max_Read_Request_Size */453#define PCI_EXP_DEVCTL_READRQ 0x7000 /* Max_Read_Request_Size */
454#define PCI_EXP_DEVCTL_READRQ_128B 0x0000 /* 128 Bytes */
455#define PCI_EXP_DEVCTL_READRQ_256B 0x1000 /* 256 Bytes */
456#define PCI_EXP_DEVCTL_READRQ_512B 0x2000 /* 512 Bytes */
457#define PCI_EXP_DEVCTL_READRQ_1024B 0x3000 /* 1024 Bytes */
454#define PCI_EXP_DEVCTL_BCR_FLR 0x8000 /* Bridge Configuration Retry / FLR */458#define PCI_EXP_DEVCTL_BCR_FLR 0x8000 /* Bridge Configuration Retry / FLR */
455#define PCI_EXP_DEVSTA 10 /* Device Status */459#define PCI_EXP_DEVSTA 10 /* Device Status */
456#define PCI_EXP_DEVSTA_CED 0x0001 /* Correctable Error Detected */460#define PCI_EXP_DEVSTA_CED 0x0001 /* Correctable Error Detected */
include/uapi/linux/pkt_sched.h+2−0
@@ -774,6 +774,8 @@ enum { · 773 unmodified lines
774 774
775 TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */775 TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */
776 776
777 TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */
778
777 __TCA_FQ_MAX779 __TCA_FQ_MAX
778};780};
779 781
include/uapi/linux/prctl.h+5−0
@@ -185,4 +185,9 @@ struct prctl_mm_map { · 184 unmodified lines
185#define PR_MPX_ENABLE_MANAGEMENT 43185#define PR_MPX_ENABLE_MANAGEMENT 43
186#define PR_MPX_DISABLE_MANAGEMENT 44186#define PR_MPX_DISABLE_MANAGEMENT 44
187 187
188#define PR_SET_FP_MODE 45
189#define PR_GET_FP_MODE 46
190# define PR_FP_MODE_FR (1 << 0) /* 64b FP registers */
191# define PR_FP_MODE_FRE (1 << 1) /* 32b compatibility */
192
188#endif /* _LINUX_PRCTL_H */193#endif /* _LINUX_PRCTL_H */
include/uapi/linux/quota.h+13−1
@@ -126,10 +126,22 @@ struct if_dqblk { · 125 unmodified lines
126#define IIF_FLAGS 4126#define IIF_FLAGS 4
127#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)127#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)
128 128
129enum {
130 DQF_ROOT_SQUASH_B = 0,
131 DQF_SYS_FILE_B = 16,
132 /* Kernel internal flags invisible to userspace */
133 DQF_PRIVATE
134};
135
136/* Root squash enabled (for v1 quota format) */
137#define DQF_ROOT_SQUASH (1 << DQF_ROOT_SQUASH_B)
138/* Quota stored in a system file */
139#define DQF_SYS_FILE (1 << DQF_SYS_FILE_B)
140
129struct if_dqinfo {141struct if_dqinfo {
130 __u64 dqi_bgrace;142 __u64 dqi_bgrace;
131 __u64 dqi_igrace;143 __u64 dqi_igrace;
132 __u32 dqi_flags;144 __u32 dqi_flags; /* DFQ_* */
133 __u32 dqi_valid;145 __u32 dqi_valid;
134};146};
135 147
include/uapi/linux/rtnetlink.h+8−0
@@ -132,6 +132,11 @@ enum { · 131 unmodified lines
132 RTM_GETMDB = 86,132 RTM_GETMDB = 86,
133#define RTM_GETMDB RTM_GETMDB133#define RTM_GETMDB RTM_GETMDB
134 134
135 RTM_NEWNSID = 88,
136#define RTM_NEWNSID RTM_NEWNSID
137 RTM_GETNSID = 90,
138#define RTM_GETNSID RTM_GETNSID
139
135 __RTM_MAX,140 __RTM_MAX,
136#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)141#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
137};142};
@@ -389,6 +394,8 @@ enum { · 251 unmodified lines
389#define RTAX_INITRWND RTAX_INITRWND394#define RTAX_INITRWND RTAX_INITRWND
390 RTAX_QUICKACK,395 RTAX_QUICKACK,
391#define RTAX_QUICKACK RTAX_QUICKACK396#define RTAX_QUICKACK RTAX_QUICKACK
397 RTAX_CC_ALGO,
398#define RTAX_CC_ALGO RTAX_CC_ALGO
392 __RTAX_MAX399 __RTAX_MAX
393};400};
394 401
@@ -634,6 +641,7 @@ struct tcamsg { · 239 unmodified lines
634/* New extended info filters for IFLA_EXT_MASK */641/* New extended info filters for IFLA_EXT_MASK */
635#define RTEXT_FILTER_VF (1 << 0)642#define RTEXT_FILTER_VF (1 << 0)
636#define RTEXT_FILTER_BRVLAN (1 << 1)643#define RTEXT_FILTER_BRVLAN (1 << 1)
644#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
637 645
638/* End of information exported to user level */646/* End of information exported to user level */
639 647
include/uapi/linux/serial_core.h+11−1
@@ -55,7 +55,8 @@ · 54 unmodified lines
55#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */55#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */
56#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */56#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
57#define PORT_RT2880 29 /* Ralink RT2880 internal UART */57#define PORT_RT2880 29 /* Ralink RT2880 internal UART */
58#define PORT_MAX_8250 29 /* max port ID */58#define PORT_16550A_FSL64 30 /* Freescale 16550 UART with 64 FIFOs */
59#define PORT_MAX_8250 30 /* max port ID */
59 60
60/*61/*
61 * ARM specific type numbers. These are not currently guaranteed62 * ARM specific type numbers. These are not currently guaranteed
@@ -248,4 +249,13 @@ · 186 unmodified lines
248/* MESON */249/* MESON */
249#define PORT_MESON 109250#define PORT_MESON 109
250 251
252/* Conexant Digicolor */
253#define PORT_DIGICOLOR 110
254
255/* SPRD SERIAL */
256#define PORT_SPRD 111
257
258/* Cris v10 / v32 SoC */
259#define PORT_CRIS 112
260
251#endif /* _UAPILINUX_SERIAL_CORE_H */261#endif /* _UAPILINUX_SERIAL_CORE_H */
include/uapi/linux/serial_reg.h+2−1
@@ -86,7 +86,8 @@ · 85 unmodified lines
86#define UART_FCR6_T_TRIGGER_8 0x10 /* Mask for transmit trigger set at 8 */86#define UART_FCR6_T_TRIGGER_8 0x10 /* Mask for transmit trigger set at 8 */
87#define UART_FCR6_T_TRIGGER_24 0x20 /* Mask for transmit trigger set at 24 */87#define UART_FCR6_T_TRIGGER_24 0x20 /* Mask for transmit trigger set at 24 */
88#define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */88#define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */
89#define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750) */89#define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750 and
90 some Freescale UARTs) */
90 91
91#define UART_FCR_R_TRIG_SHIFT 692#define UART_FCR_R_TRIG_SHIFT 6
92#define UART_FCR_R_TRIG_BITS(x) \93#define UART_FCR_R_TRIG_BITS(x) \
include/uapi/linux/snmp.h+6−0
@@ -270,6 +270,12 @@ enum · 269 unmodified lines
270 LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */270 LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */
271 LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */271 LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */
272 LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */272 LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */
273 LINUX_MIB_TCPACKSKIPPEDSYNRECV, /* TCPACKSkippedSynRecv */
274 LINUX_MIB_TCPACKSKIPPEDPAWS, /* TCPACKSkippedPAWS */
275 LINUX_MIB_TCPACKSKIPPEDSEQ, /* TCPACKSkippedSeq */
276 LINUX_MIB_TCPACKSKIPPEDFINWAIT2, /* TCPACKSkippedFinWait2 */
277 LINUX_MIB_TCPACKSKIPPEDTIMEWAIT, /* TCPACKSkippedTimeWait */
278 LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */
273 __LINUX_MIB_MAX279 __LINUX_MIB_MAX
274};280};
275 281
include/uapi/linux/som.h+0−154
@@ -1,154 +0,0 @@
1#ifndef _LINUX_SOM_H
2#define _LINUX_SOM_H
3
4/* File format definition for SOM executables / shared libraries */
5
6/* we need struct timespec */
7#include <linux/time.h>
8
9#define SOM_PAGESIZE 4096
10
11/* this is the SOM header */
12struct som_hdr {
13 short system_id; /* magic number - system */
14 short a_magic; /* magic number - file type */
15 unsigned int version_id; /* versiod ID: YYMMDDHH */
16 struct timespec file_time; /* system clock */
17 unsigned int entry_space; /* space for entry point */
18 unsigned int entry_subspace; /* subspace for entry point */
19 unsigned int entry_offset; /* offset of entry point */
20 unsigned int aux_header_location; /* auxiliary header location */
21 unsigned int aux_header_size; /* auxiliary header size */
22 unsigned int som_length; /* length of entire SOM */
23 unsigned int presumed_dp; /* compiler's DP value */
24 unsigned int space_location; /* space dictionary location */
25 unsigned int space_total; /* number of space entries */
26 unsigned int subspace_location; /* subspace entries location */
27 unsigned int subspace_total; /* number of subspace entries */
28 unsigned int loader_fixup_location; /* MPE/iX loader fixup */
29 unsigned int loader_fixup_total; /* number of fixup records */
30 unsigned int space_strings_location; /* (sub)space names */
31 unsigned int space_strings_size; /* size of strings area */
32 unsigned int init_array_location; /* reserved */
33 unsigned int init_array_total; /* reserved */
34 unsigned int compiler_location; /* module dictionary */
35 unsigned int compiler_total; /* number of modules */
36 unsigned int symbol_location; /* symbol dictionary */
37 unsigned int symbol_total; /* number of symbols */
38 unsigned int fixup_request_location; /* fixup requests */
39 unsigned int fixup_request_total; /* number of fixup requests */
40 unsigned int symbol_strings_location;/* module & symbol names area */
41 unsigned int symbol_strings_size; /* size of strings area */
42 unsigned int unloadable_sp_location; /* unloadable spaces location */
43 unsigned int unloadable_sp_size; /* size of data */
44 unsigned int checksum;
45};
46
47/* values for system_id */
48
49#define SOM_SID_PARISC_1_0 0x020b
50#define SOM_SID_PARISC_1_1 0x0210
51#define SOM_SID_PARISC_2_0 0x0214
52
53/* values for a_magic */
54
55#define SOM_LIB_EXEC 0x0104
56#define SOM_RELOCATABLE 0x0106
57#define SOM_EXEC_NONSHARE 0x0107
58#define SOM_EXEC_SHARE 0x0108
59#define SOM_EXEC_DEMAND 0x010B
60#define SOM_LIB_DYN 0x010D
61#define SOM_LIB_SHARE 0x010E
62#define SOM_LIB_RELOC 0x0619
63
64/* values for version_id. Decimal not hex, yes. Grr. */
65
66#define SOM_ID_OLD 85082112
67#define SOM_ID_NEW 87102412
68
69struct aux_id {
70 unsigned int mandatory :1; /* the linker must understand this */
71 unsigned int copy :1; /* Must be copied by the linker */
72 unsigned int append :1; /* Must be merged by the linker */
73 unsigned int ignore :1; /* Discard section if unknown */
74 unsigned int reserved :12;
75 unsigned int type :16; /* Header type */
76 unsigned int length; /* length of _following_ data */
77};
78
79/* The Exec Auxiliary Header. Called The HP-UX Header within HP apparently. */
80struct som_exec_auxhdr {
81 struct aux_id som_auxhdr;
82 int exec_tsize; /* Text size in bytes */
83 int exec_tmem; /* Address to load text at */
84 int exec_tfile; /* Location of text in file */
85 int exec_dsize; /* Data size in bytes */
86 int exec_dmem; /* Address to load data at */
87 int exec_dfile; /* Location of data in file */
88 int exec_bsize; /* Uninitialised data (bss) */
89 int exec_entry; /* Address to start executing */
90 int exec_flags; /* loader flags */
91 int exec_bfill; /* initialisation value for bss */
92};
93
94/* Oh, the things people do to avoid casts. Shame it'll break with gcc's
95 * new aliasing rules really.
96 */
97union name_pt {
98 char * n_name;
99 unsigned int n_strx;
100};
101
102/* The Space Dictionary */
103struct space_dictionary_record {
104 union name_pt name; /* index to subspace name */
105 unsigned int is_loadable :1; /* loadable */
106 unsigned int is_defined :1; /* defined within file */
107 unsigned int is_private :1; /* not sharable */
108 unsigned int has_intermediate_code :1; /* contains intermediate code */
109 unsigned int is_tspecific :1; /* thread specific */
110 unsigned int reserved :11; /* for future expansion */
111 unsigned int sort_key :8; /* for linker */
112 unsigned int reserved2 :8; /* for future expansion */
113
114 int space_number; /* index */
115 int subspace_index; /* index into subspace dict */
116 unsigned int subspace_quantity; /* number of subspaces */
117 int loader_fix_index; /* for loader */
118 unsigned int loader_fix_quantity; /* for loader */
119 int init_pointer_index; /* data pointer array index */
120 unsigned int init_pointer_quantity; /* number of data pointers */
121};
122
123/* The Subspace Dictionary */
124struct subspace_dictionary_record {
125 int space_index;
126 unsigned int access_control_bits :7;
127 unsigned int memory_resident :1;
128 unsigned int dup_common :1;
129 unsigned int is_common :1;
130 unsigned int quadrant :2;
131 unsigned int initially_frozen :1;
132 unsigned int is_first :1;
133 unsigned int code_only :1;
134 unsigned int sort_key :8;
135 unsigned int replicate_init :1;
136 unsigned int continuation :1;
137 unsigned int is_tspecific :1;
138 unsigned int is_comdat :1;
139 unsigned int reserved :4;
140
141 int file_loc_init_value;
142 unsigned int initialization_length;
143 unsigned int subspace_start;
144 unsigned int subspace_length;
145
146 unsigned int reserved2 :5;
147 unsigned int alignment :27;
148
149 union name_pt name;
150 int fixup_request_index;
151 unsigned int fixup_request_quantity;
152};
153
154#endif /* _LINUX_SOM_H */
include/uapi/linux/tc_act/Kbuild+1−0
@@ -8,3 +8,4 @@ header-y += tc_nat.h · 7 unmodified lines
8header-y += tc_pedit.h8header-y += tc_pedit.h
9header-y += tc_skbedit.h9header-y += tc_skbedit.h
10header-y += tc_vlan.h10header-y += tc_vlan.h
11header-y += tc_bpf.h
include/uapi/linux/tc_act/tc_bpf.h+31−0
@@ -0,0 +1,31 @@
1/*
2 * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 */
9
10#ifndef __LINUX_TC_BPF_H
11#define __LINUX_TC_BPF_H
12
13#include <linux/pkt_cls.h>
14
15#define TCA_ACT_BPF 13
16
17struct tc_act_bpf {
18 tc_gen;
19};
20
21enum {
22 TCA_ACT_BPF_UNSPEC,
23 TCA_ACT_BPF_TM,
24 TCA_ACT_BPF_PARMS,
25 TCA_ACT_BPF_OPS_LEN,
26 TCA_ACT_BPF_OPS,
27 __TCA_ACT_BPF_MAX,
28};
29#define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1)
30
31#endif
include/uapi/linux/tc_act/tc_connmark.h+22−0
@@ -0,0 +1,22 @@
1#ifndef __UAPI_TC_CONNMARK_H
2#define __UAPI_TC_CONNMARK_H
3
4#include <linux/types.h>
5#include <linux/pkt_cls.h>
6
7#define TCA_ACT_CONNMARK 14
8
9struct tc_connmark {
10 tc_gen;
11 __u16 zone;
12};
13
14enum {
15 TCA_CONNMARK_UNSPEC,
16 TCA_CONNMARK_PARMS,
17 TCA_CONNMARK_TM,
18 __TCA_CONNMARK_MAX
19};
20#define TCA_CONNMARK_MAX (__TCA_CONNMARK_MAX - 1)
21
22#endif
include/uapi/linux/tipc_config.h+20−0
@@ -272,6 +272,26 @@ static inline int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type) · 271 unmodified lines
272 (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type);272 (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type);
273}273}
274 274
275static inline int TLV_GET_LEN(struct tlv_desc *tlv)
276{
277 return ntohs(tlv->tlv_len);
278}
279
280static inline void TLV_SET_LEN(struct tlv_desc *tlv, __u16 len)
281{
282 tlv->tlv_len = htons(len);
283}
284
285static inline int TLV_CHECK_TYPE(struct tlv_desc *tlv, __u16 type)
286{
287 return (ntohs(tlv->tlv_type) == type);
288}
289
290static inline void TLV_SET_TYPE(struct tlv_desc *tlv, __u16 type)
291{
292 tlv->tlv_type = htons(type);
293}
294
275static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)295static inline int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)
276{296{
277 struct tlv_desc *tlv_ptr;297 struct tlv_desc *tlv_ptr;
include/uapi/linux/usb/functionfs.h+1−0
@@ -20,6 +20,7 @@ enum functionfs_flags { · 19 unmodified lines
20 FUNCTIONFS_HAS_SS_DESC = 4,20 FUNCTIONFS_HAS_SS_DESC = 4,
21 FUNCTIONFS_HAS_MS_OS_DESC = 8,21 FUNCTIONFS_HAS_MS_OS_DESC = 8,
22 FUNCTIONFS_VIRTUAL_ADDR = 16,22 FUNCTIONFS_VIRTUAL_ADDR = 16,
23 FUNCTIONFS_EVENTFD = 32,
23};24};
24 25
25/* Descriptor of an non-audio endpoint */26/* Descriptor of an non-audio endpoint */
include/uapi/linux/usbdevice_fs.h+2−1
@@ -128,11 +128,12 @@ struct usbdevfs_hub_portinfo { · 127 unmodified lines
128 char port [127]; /* e.g. port 3 connects to device 27 */128 char port [127]; /* e.g. port 3 connects to device 27 */
129};129};
130 130
131/* Device capability flags */131/* System and bus capability flags */
132#define USBDEVFS_CAP_ZERO_PACKET 0x01132#define USBDEVFS_CAP_ZERO_PACKET 0x01
133#define USBDEVFS_CAP_BULK_CONTINUATION 0x02133#define USBDEVFS_CAP_BULK_CONTINUATION 0x02
134#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04134#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
135#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08135#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
136#define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10
136 137
137/* USBDEVFS_DISCONNECT_CLAIM flags & struct */138/* USBDEVFS_DISCONNECT_CLAIM flags & struct */
138 139
include/uapi/linux/v4l2-controls.h+4−0
@@ -170,6 +170,10 @@ enum v4l2_colorfx { · 169 unmodified lines
170 * We reserve 16 controls for this driver. */170 * We reserve 16 controls for this driver. */
171#define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060)171#define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060)
172 172
173/* The base for the adv7180 driver controls.
174 * We reserve 16 controls for this driver. */
175#define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070)
176
173/* MPEG-class control IDs */177/* MPEG-class control IDs */
174/* The MPEG controls are applicable to all codec controls178/* The MPEG controls are applicable to all codec controls
175 * and the 'MPEG' part of the define is historical */179 * and the 'MPEG' part of the define is historical */
include/uapi/linux/vfio.h+1−0
@@ -333,6 +333,7 @@ enum { · 332 unmodified lines
333 VFIO_PCI_MSI_IRQ_INDEX,333 VFIO_PCI_MSI_IRQ_INDEX,
334 VFIO_PCI_MSIX_IRQ_INDEX,334 VFIO_PCI_MSIX_IRQ_INDEX,
335 VFIO_PCI_ERR_IRQ_INDEX,335 VFIO_PCI_ERR_IRQ_INDEX,
336 VFIO_PCI_REQ_IRQ_INDEX,
336 VFIO_PCI_NUM_IRQS337 VFIO_PCI_NUM_IRQS
337};338};
338 339
include/uapi/linux/videodev2.h+9−8
@@ -463,10 +463,11 @@ struct v4l2_pix_format { · 462 unmodified lines
463#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */463#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */
464#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */464#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */
465#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */465#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */
466#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */466 /* 10bit raw bayer packed, 5 bytes for every 4 pixels */
467#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */467#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
468#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */468#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')
469#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */469#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
470#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
470 /* 10bit raw bayer a-law compressed to 8 bits */471 /* 10bit raw bayer a-law compressed to 8 bits */
471#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')472#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
472#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')473#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
@@ -477,10 +478,10 @@ struct v4l2_pix_format { · 4 unmodified lines
477#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')478#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
478#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')479#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')
479#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')480#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')
480 /*481#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */
481 * 10bit raw bayer, expanded to 16 bits482#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
482 * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb...483#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
483 */484#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
484#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */485#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */
485 486
486/* compressed formats */487/* compressed formats */
include/uapi/linux/virtio_balloon.h+1−2
@@ -36,8 +36,7 @@ · 35 unmodified lines
36/* Size of a PFN in the balloon interface. */36/* Size of a PFN in the balloon interface. */
37#define VIRTIO_BALLOON_PFN_SHIFT 1237#define VIRTIO_BALLOON_PFN_SHIFT 12
38 38
39struct virtio_balloon_config39struct virtio_balloon_config {
40{
41 /* Number of pages host wants Guest to give up. */40 /* Number of pages host wants Guest to give up. */
42 __le32 num_pages;41 __le32 num_pages;
43 /* Number of pages we've actually got in balloon. */42 /* Number of pages we've actually got in balloon. */
include/uapi/linux/virtio_blk.h+13−4
@@ -31,22 +31,25 @@ · 30 unmodified lines
31#include <linux/virtio_types.h>31#include <linux/virtio_types.h>
32 32
33/* Feature bits */33/* Feature bits */
34#define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */
35#define VIRTIO_BLK_F_SIZE_MAX 1 /* Indicates maximum segment size */34#define VIRTIO_BLK_F_SIZE_MAX 1 /* Indicates maximum segment size */
36#define VIRTIO_BLK_F_SEG_MAX 2 /* Indicates maximum # of segments */35#define VIRTIO_BLK_F_SEG_MAX 2 /* Indicates maximum # of segments */
37#define VIRTIO_BLK_F_GEOMETRY 4 /* Legacy geometry available */36#define VIRTIO_BLK_F_GEOMETRY 4 /* Legacy geometry available */
38#define VIRTIO_BLK_F_RO 5 /* Disk is read-only */37#define VIRTIO_BLK_F_RO 5 /* Disk is read-only */
39#define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/38#define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/
40#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */
41#define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */
42#define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */39#define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */
43#define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */
44#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */40#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */
45 41
42/* Legacy feature bits */
43#ifndef VIRTIO_BLK_NO_LEGACY
44#define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */
45#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */
46#define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */
47#define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */
46#ifndef __KERNEL__48#ifndef __KERNEL__
47/* Old (deprecated) name for VIRTIO_BLK_F_WCE. */49/* Old (deprecated) name for VIRTIO_BLK_F_WCE. */
48#define VIRTIO_BLK_F_FLUSH VIRTIO_BLK_F_WCE50#define VIRTIO_BLK_F_FLUSH VIRTIO_BLK_F_WCE
49#endif51#endif
52#endif /* !VIRTIO_BLK_NO_LEGACY */
50 53
51#define VIRTIO_BLK_ID_BYTES 20 /* ID string length */54#define VIRTIO_BLK_ID_BYTES 20 /* ID string length */
52 55
@@ -100,8 +103,10 @@ struct virtio_blk_config { · 47 unmodified lines
100#define VIRTIO_BLK_T_IN 0103#define VIRTIO_BLK_T_IN 0
101#define VIRTIO_BLK_T_OUT 1104#define VIRTIO_BLK_T_OUT 1
102 105
106#ifndef VIRTIO_BLK_NO_LEGACY
103/* This bit says it's a scsi command, not an actual read or write. */107/* This bit says it's a scsi command, not an actual read or write. */
104#define VIRTIO_BLK_T_SCSI_CMD 2108#define VIRTIO_BLK_T_SCSI_CMD 2
109#endif /* VIRTIO_BLK_NO_LEGACY */
105 110
106/* Cache flush command */111/* Cache flush command */
107#define VIRTIO_BLK_T_FLUSH 4112#define VIRTIO_BLK_T_FLUSH 4
@@ -109,8 +114,10 @@ struct virtio_blk_config { · 1 unmodified line
109/* Get device ID command */114/* Get device ID command */
110#define VIRTIO_BLK_T_GET_ID 8115#define VIRTIO_BLK_T_GET_ID 8
111 116
117#ifndef VIRTIO_BLK_NO_LEGACY
112/* Barrier before this op. */118/* Barrier before this op. */
113#define VIRTIO_BLK_T_BARRIER 0x80000000119#define VIRTIO_BLK_T_BARRIER 0x80000000
120#endif /* !VIRTIO_BLK_NO_LEGACY */
114 121
115/* This is the first element of the read scatter-gather list. */122/* This is the first element of the read scatter-gather list. */
116struct virtio_blk_outhdr {123struct virtio_blk_outhdr {
@@ -122,12 +129,14 @@ struct virtio_blk_outhdr { · 5 unmodified lines
122 __virtio64 sector;129 __virtio64 sector;
123};130};
124 131
132#ifndef VIRTIO_BLK_NO_LEGACY
125struct virtio_scsi_inhdr {133struct virtio_scsi_inhdr {
126 __virtio32 errors;134 __virtio32 errors;
127 __virtio32 data_len;135 __virtio32 data_len;
128 __virtio32 sense_len;136 __virtio32 sense_len;
129 __virtio32 residual;137 __virtio32 residual;
130};138};
139#endif /* !VIRTIO_BLK_NO_LEGACY */
131 140
132/* And this is the final byte of the write scatter-gather list. */141/* And this is the final byte of the write scatter-gather list. */
133#define VIRTIO_BLK_S_OK 0142#define VIRTIO_BLK_S_OK 0
include/uapi/linux/virtio_config.h+2−0
@@ -49,12 +49,14 @@ · 48 unmodified lines
49#define VIRTIO_TRANSPORT_F_START 2849#define VIRTIO_TRANSPORT_F_START 28
50#define VIRTIO_TRANSPORT_F_END 3350#define VIRTIO_TRANSPORT_F_END 33
51 51
52#ifndef VIRTIO_CONFIG_NO_LEGACY
52/* Do we get callbacks when the ring is completely used, even if we've53/* Do we get callbacks when the ring is completely used, even if we've
53 * suppressed them? */54 * suppressed them? */
54#define VIRTIO_F_NOTIFY_ON_EMPTY 2455#define VIRTIO_F_NOTIFY_ON_EMPTY 24
55 56
56/* Can the device handle any descriptor layout? */57/* Can the device handle any descriptor layout? */
57#define VIRTIO_F_ANY_LAYOUT 2758#define VIRTIO_F_ANY_LAYOUT 27
59#endif /* VIRTIO_CONFIG_NO_LEGACY */
58 60
59/* v1.0 compliant. */61/* v1.0 compliant. */
60#define VIRTIO_F_VERSION_1 3262#define VIRTIO_F_VERSION_1 32
include/uapi/linux/virtio_net.h+33−9
@@ -35,7 +35,6 @@ · 34 unmodified lines
35#define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */35#define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */
36#define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */36#define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */
37#define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */37#define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */
38#define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */
39#define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */38#define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */
40#define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */39#define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */
41#define VIRTIO_NET_F_GUEST_ECN 9 /* Guest can handle TSO[6] w/ ECN in. */40#define VIRTIO_NET_F_GUEST_ECN 9 /* Guest can handle TSO[6] w/ ECN in. */
@@ -56,6 +55,10 @@ · 14 unmodified lines
56 * Steering */55 * Steering */
57#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */56#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */
58 57
58#ifndef VIRTIO_NET_NO_LEGACY
59#define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */
60#endif /* VIRTIO_NET_NO_LEGACY */
61
59#define VIRTIO_NET_S_LINK_UP 1 /* Link is up */62#define VIRTIO_NET_S_LINK_UP 1 /* Link is up */
60#define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */63#define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */
61 64
@@ -71,19 +74,39 @@ struct virtio_net_config { · 9 unmodified lines
71 __u16 max_virtqueue_pairs;74 __u16 max_virtqueue_pairs;
72} __attribute__((packed));75} __attribute__((packed));
73 76
77/*
78 * This header comes first in the scatter-gather list. If you don't
79 * specify GSO or CSUM features, you can simply ignore the header.
80 *
81 * This is bitwise-equivalent to the legacy struct virtio_net_hdr_mrg_rxbuf,
82 * only flattened.
83 */
84struct virtio_net_hdr_v1 {
85#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */
86#define VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */
87 __u8 flags;
88#define VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */
89#define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */
90#define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */
91#define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */
92#define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */
93 __u8 gso_type;
94 __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */
95 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */
96 __virtio16 csum_start; /* Position to start checksumming from */
97 __virtio16 csum_offset; /* Offset after that to place checksum */
98 __virtio16 num_buffers; /* Number of merged rx buffers */
99};
100
101#ifndef VIRTIO_NET_NO_LEGACY
74/* This header comes first in the scatter-gather list.102/* This header comes first in the scatter-gather list.
75 * If VIRTIO_F_ANY_LAYOUT is not negotiated, it must103 * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, it must
76 * be the first element of the scatter-gather list. If you don't104 * be the first element of the scatter-gather list. If you don't
77 * specify GSO or CSUM features, you can simply ignore the header. */105 * specify GSO or CSUM features, you can simply ignore the header. */
78struct virtio_net_hdr {106struct virtio_net_hdr {
79#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 // Use csum_start, csum_offset107 /* See VIRTIO_NET_HDR_F_* */
80#define VIRTIO_NET_HDR_F_DATA_VALID 2 // Csum is valid
81 __u8 flags;108 __u8 flags;
82#define VIRTIO_NET_HDR_GSO_NONE 0 // Not a GSO frame109 /* See VIRTIO_NET_HDR_GSO_* */
83#define VIRTIO_NET_HDR_GSO_TCPV4 1 // GSO frame, IPv4 TCP (TSO)
84#define VIRTIO_NET_HDR_GSO_UDP 3 // GSO frame, IPv4 UDP (UFO)
85#define VIRTIO_NET_HDR_GSO_TCPV6 4 // GSO frame, IPv6 TCP
86#define VIRTIO_NET_HDR_GSO_ECN 0x80 // TCP has ECN set
87 __u8 gso_type;110 __u8 gso_type;
88 __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */111 __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */
89 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */112 __virtio16 gso_size; /* Bytes to append to hdr_len per frame */
@@ -97,6 +120,7 @@ struct virtio_net_hdr_mrg_rxbuf { · 7 unmodified lines
97 struct virtio_net_hdr hdr;120 struct virtio_net_hdr hdr;
98 __virtio16 num_buffers; /* Number of merged rx buffers */121 __virtio16 num_buffers; /* Number of merged rx buffers */
99};122};
123#endif /* ...VIRTIO_NET_NO_LEGACY */
100 124
101/*125/*
102 * Control virtqueue data structures126 * Control virtqueue data structures
include/uapi/linux/virtio_pci.h+92−1
@@ -39,7 +39,7 @@ · 38 unmodified lines
39#ifndef _LINUX_VIRTIO_PCI_H39#ifndef _LINUX_VIRTIO_PCI_H
40#define _LINUX_VIRTIO_PCI_H40#define _LINUX_VIRTIO_PCI_H
41 41
42#include <linux/virtio_config.h>42#include <linux/types.h>
43 43
44#ifndef VIRTIO_PCI_NO_LEGACY44#ifndef VIRTIO_PCI_NO_LEGACY
45 45
@@ -99,4 +99,95 @@ · 53 unmodified lines
99/* Vector value used to disable MSI for queue */99/* Vector value used to disable MSI for queue */
100#define VIRTIO_MSI_NO_VECTOR 0xffff100#define VIRTIO_MSI_NO_VECTOR 0xffff
101 101
102#ifndef VIRTIO_PCI_NO_MODERN
103
104/* IDs for different capabilities. Must all exist. */
105
106/* Common configuration */
107#define VIRTIO_PCI_CAP_COMMON_CFG 1
108/* Notifications */
109#define VIRTIO_PCI_CAP_NOTIFY_CFG 2
110/* ISR access */
111#define VIRTIO_PCI_CAP_ISR_CFG 3
112/* Device specific configuration */
113#define VIRTIO_PCI_CAP_DEVICE_CFG 4
114/* PCI configuration access */
115#define VIRTIO_PCI_CAP_PCI_CFG 5
116
117/* This is the PCI capability header: */
118struct virtio_pci_cap {
119 __u8 cap_vndr; /* Generic PCI field: PCI_CAP_ID_VNDR */
120 __u8 cap_next; /* Generic PCI field: next ptr. */
121 __u8 cap_len; /* Generic PCI field: capability length */
122 __u8 cfg_type; /* Identifies the structure. */
123 __u8 bar; /* Where to find it. */
124 __u8 padding[3]; /* Pad to full dword. */
125 __le32 offset; /* Offset within bar. */
126 __le32 length; /* Length of the structure, in bytes. */
127};
128
129struct virtio_pci_notify_cap {
130 struct virtio_pci_cap cap;
131 __le32 notify_off_multiplier; /* Multiplier for queue_notify_off. */
132};
133
134/* Fields in VIRTIO_PCI_CAP_COMMON_CFG: */
135struct virtio_pci_common_cfg {
136 /* About the whole device. */
137 __le32 device_feature_select; /* read-write */
138 __le32 device_feature; /* read-only */
139 __le32 guest_feature_select; /* read-write */
140 __le32 guest_feature; /* read-write */
141 __le16 msix_config; /* read-write */
142 __le16 num_queues; /* read-only */
143 __u8 device_status; /* read-write */
144 __u8 config_generation; /* read-only */
145
146 /* About a specific virtqueue. */
147 __le16 queue_select; /* read-write */
148 __le16 queue_size; /* read-write, power of 2. */
149 __le16 queue_msix_vector; /* read-write */
150 __le16 queue_enable; /* read-write */
151 __le16 queue_notify_off; /* read-only */
152 __le32 queue_desc_lo; /* read-write */
153 __le32 queue_desc_hi; /* read-write */
154 __le32 queue_avail_lo; /* read-write */
155 __le32 queue_avail_hi; /* read-write */
156 __le32 queue_used_lo; /* read-write */
157 __le32 queue_used_hi; /* read-write */
158};
159
160/* Macro versions of offsets for the Old Timers! */
161#define VIRTIO_PCI_CAP_VNDR 0
162#define VIRTIO_PCI_CAP_NEXT 1
163#define VIRTIO_PCI_CAP_LEN 2
164#define VIRTIO_PCI_CAP_CFG_TYPE 3
165#define VIRTIO_PCI_CAP_BAR 4
166#define VIRTIO_PCI_CAP_OFFSET 8
167#define VIRTIO_PCI_CAP_LENGTH 12
168
169#define VIRTIO_PCI_NOTIFY_CAP_MULT 16
170
171#define VIRTIO_PCI_COMMON_DFSELECT 0
172#define VIRTIO_PCI_COMMON_DF 4
173#define VIRTIO_PCI_COMMON_GFSELECT 8
174#define VIRTIO_PCI_COMMON_GF 12
175#define VIRTIO_PCI_COMMON_MSIX 16
176#define VIRTIO_PCI_COMMON_NUMQ 18
177#define VIRTIO_PCI_COMMON_STATUS 20
178#define VIRTIO_PCI_COMMON_CFGGENERATION 21
179#define VIRTIO_PCI_COMMON_Q_SELECT 22
180#define VIRTIO_PCI_COMMON_Q_SIZE 24
181#define VIRTIO_PCI_COMMON_Q_MSIX 26
182#define VIRTIO_PCI_COMMON_Q_ENABLE 28
183#define VIRTIO_PCI_COMMON_Q_NOFF 30
184#define VIRTIO_PCI_COMMON_Q_DESCLO 32
185#define VIRTIO_PCI_COMMON_Q_DESCHI 36
186#define VIRTIO_PCI_COMMON_Q_AVAILLO 40
187#define VIRTIO_PCI_COMMON_Q_AVAILHI 44
188#define VIRTIO_PCI_COMMON_Q_USEDLO 48
189#define VIRTIO_PCI_COMMON_Q_USEDHI 52
190
191#endif /* VIRTIO_PCI_NO_MODERN */
192
102#endif193#endif
include/uapi/rdma/ib_user_verbs.h+1−5
@@ -202,10 +202,6 @@ struct ib_uverbs_query_device_resp { · 201 unmodified lines
202 __u8 reserved[4];202 __u8 reserved[4];
203};203};
204 204
205enum {
206 IB_USER_VERBS_EX_QUERY_DEVICE_ODP = 1ULL << 0,
207};
208
209struct ib_uverbs_ex_query_device {205struct ib_uverbs_ex_query_device {
210 __u32 comp_mask;206 __u32 comp_mask;
211 __u32 reserved;207 __u32 reserved;
@@ -224,7 +220,7 @@ struct ib_uverbs_odp_caps { · 12 unmodified lines
224struct ib_uverbs_ex_query_device_resp {220struct ib_uverbs_ex_query_device_resp {
225 struct ib_uverbs_query_device_resp base;221 struct ib_uverbs_query_device_resp base;
226 __u32 comp_mask;222 __u32 comp_mask;
227 __u32 reserved;223 __u32 response_length;
228 struct ib_uverbs_odp_caps odp_caps;224 struct ib_uverbs_odp_caps odp_caps;
229};225};
230 226
include/uapi/sound/asound.h+1−0
@@ -268,6 +268,7 @@ typedef int __bitwise snd_pcm_subformat_t; · 267 unmodified lines
268#define SNDRV_PCM_INFO_SYNC_START 0x00400000 /* pcm support some kind of sync go */268#define SNDRV_PCM_INFO_SYNC_START 0x00400000 /* pcm support some kind of sync go */
269#define SNDRV_PCM_INFO_NO_PERIOD_WAKEUP 0x00800000 /* period wakeup can be disabled */269#define SNDRV_PCM_INFO_NO_PERIOD_WAKEUP 0x00800000 /* period wakeup can be disabled */
270#define SNDRV_PCM_INFO_HAS_WALL_CLOCK 0x01000000 /* has audio wall clock for audio/system time sync */270#define SNDRV_PCM_INFO_HAS_WALL_CLOCK 0x01000000 /* has audio wall clock for audio/system time sync */
271#define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */
271#define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */272#define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */
272 273
273typedef int __bitwise snd_pcm_state_t;274typedef int __bitwise snd_pcm_state_t;
include/uapi/sound/usb_stream.h+76−0
@@ -0,0 +1,76 @@
1/*
2 * Copyright (C) 2007, 2008 Karsten Wiese <fzu@wemgehoertderstaat.de>
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software Foundation,
16 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */
18
19#ifndef _UAPI__SOUND_USB_STREAM_H
20#define _UAPI__SOUND_USB_STREAM_H
21
22#define USB_STREAM_INTERFACE_VERSION 2
23
24#define SNDRV_USB_STREAM_IOCTL_SET_PARAMS \
25 _IOW('H', 0x90, struct usb_stream_config)
26
27struct usb_stream_packet {
28 unsigned offset;
29 unsigned length;
30};
31
32
33struct usb_stream_config {
34 unsigned version;
35 unsigned sample_rate;
36 unsigned period_frames;
37 unsigned frame_size;
38};
39
40struct usb_stream {
41 struct usb_stream_config cfg;
42 unsigned read_size;
43 unsigned write_size;
44
45 int period_size;
46
47 unsigned state;
48
49 int idle_insize;
50 int idle_outsize;
51 int sync_packet;
52 unsigned insize_done;
53 unsigned periods_done;
54 unsigned periods_polled;
55
56 struct usb_stream_packet outpacket[2];
57 unsigned inpackets;
58 unsigned inpacket_head;
59 unsigned inpacket_split;
60 unsigned inpacket_split_at;
61 unsigned next_inpacket_split;
62 unsigned next_inpacket_split_at;
63 struct usb_stream_packet inpacket[0];
64};
65
66enum usb_stream_state {
67 usb_stream_invalid,
68 usb_stream_stopped,
69 usb_stream_sync0,
70 usb_stream_sync1,
71 usb_stream_ready,
72 usb_stream_running,
73 usb_stream_xrun,
74};
75
76#endif /* _UAPI__SOUND_USB_STREAM_H */

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