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