We need the char-misc fixes in here as well.
Showing the changes to include/uapi/linux (4 of 807 files). Show all
Unified · Split
| @@ -410,21 +410,6 @@ struct kfd_ioctl_unmap_memory_from_gpu_args { · 409 unmodified lines | |||
| 410 | __u32 n_success; /* to/from KFD */ | 410 | __u32 n_success; /* to/from KFD */ |
| 411 | }; | 411 | }; |
| 412 | 412 | ||
| 413 | /* Allocate GWS for specific queue | ||
| 414 | * | ||
| 415 | * @gpu_id: device identifier | ||
| 416 | * @queue_id: queue's id that GWS is allocated for | ||
| 417 | * @num_gws: how many GWS to allocate | ||
| 418 | * @first_gws: index of the first GWS allocated. | ||
| 419 | * only support contiguous GWS allocation | ||
| 420 | */ | ||
| 421 | struct kfd_ioctl_alloc_queue_gws_args { | ||
| 422 | __u32 gpu_id; /* to KFD */ | ||
| 423 | __u32 queue_id; /* to KFD */ | ||
| 424 | __u32 num_gws; /* to KFD */ | ||
| 425 | __u32 first_gws; /* from KFD */ | ||
| 426 | }; | ||
| 427 | |||
| 428 | struct kfd_ioctl_get_dmabuf_info_args { | 413 | struct kfd_ioctl_get_dmabuf_info_args { |
| 429 | __u64 size; /* from KFD */ | 414 | __u64 size; /* from KFD */ |
| 430 | __u64 metadata_ptr; /* to KFD */ | 415 | __u64 metadata_ptr; /* to KFD */ |
| @@ -544,10 +529,7 @@ enum kfd_mmio_remap { · 113 unmodified lines | |||
| 544 | #define AMDKFD_IOC_IMPORT_DMABUF \ | 529 | #define AMDKFD_IOC_IMPORT_DMABUF \ |
| 545 | AMDKFD_IOWR(0x1D, struct kfd_ioctl_import_dmabuf_args) | 530 | AMDKFD_IOWR(0x1D, struct kfd_ioctl_import_dmabuf_args) |
| 546 | 531 | ||
| 547 | #define AMDKFD_IOC_ALLOC_QUEUE_GWS \ | ||
| 548 | AMDKFD_IOWR(0x1E, struct kfd_ioctl_alloc_queue_gws_args) | ||
| 549 | |||
| 550 | #define AMDKFD_COMMAND_START 0x01 | 532 | #define AMDKFD_COMMAND_START 0x01 |
| 551 | #define AMDKFD_COMMAND_END 0x1F | 533 | #define AMDKFD_COMMAND_END 0x1E |
| 552 | 534 | ||
| 553 | #endif | 535 | #endif |
| @@ -1,4 +1,8 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
| 2 | |||
| 3 | #ifndef _UAPI_XT_CONNLABEL_H | ||
| 4 | #define _UAPI_XT_CONNLABEL_H | ||
| 5 | |||
| 2 | #include <linux/types.h> | 6 | #include <linux/types.h> |
| 3 | 7 | ||
| 4 | #define XT_CONNLABEL_MAXBIT 127 | 8 | #define XT_CONNLABEL_MAXBIT 127 |
| @@ -11,3 +15,5 @@ struct xt_connlabel_mtinfo { · 6 unmodified lines | |||
| 11 | __u16 bit; | 15 | __u16 bit; |
| 12 | __u16 options; | 16 | __u16 options; |
| 13 | }; | 17 | }; |
| 18 | |||
| 19 | #endif /* _UAPI_XT_CONNLABEL_H */ | ||
| @@ -6,17 +6,24 @@ · 5 unmodified lines | |||
| 6 | * Desired design of maximum size and alignment (see RFC2553) | 6 | * Desired design of maximum size and alignment (see RFC2553) |
| 7 | */ | 7 | */ |
| 8 | #define _K_SS_MAXSIZE 128 /* Implementation specific max size */ | 8 | #define _K_SS_MAXSIZE 128 /* Implementation specific max size */ |
| 9 | #define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *)) | ||
| 10 | /* Implementation specific desired alignment */ | ||
| 11 | 9 | ||
| 12 | typedef unsigned short __kernel_sa_family_t; | 10 | typedef unsigned short __kernel_sa_family_t; |
| 13 | 11 | ||
| 12 | /* | ||
| 13 | * The definition uses anonymous union and struct in order to control the | ||
| 14 | * default alignment. | ||
| 15 | */ | ||
| 14 | struct __kernel_sockaddr_storage { | 16 | struct __kernel_sockaddr_storage { |
| 15 | __kernel_sa_family_t ss_family; /* address family */ | 17 | union { |
| 16 | /* Following field(s) are implementation specific */ | 18 | struct { |
| 17 | char __data[_K_SS_MAXSIZE - sizeof(unsigned short)]; | 19 | __kernel_sa_family_t ss_family; /* address family */ |
| 20 | /* Following field(s) are implementation specific */ | ||
| 21 | char __data[_K_SS_MAXSIZE - sizeof(unsigned short)]; | ||
| 18 | /* space to achieve desired size, */ | 22 | /* space to achieve desired size, */ |
| 19 | /* _SS_MAXSIZE value minus size of ss_family */ | 23 | /* _SS_MAXSIZE value minus size of ss_family */ |
| 20 | } __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */ | 24 | }; |
| 25 | void *__align; /* implementation specific desired alignment */ | ||
| 26 | }; | ||
| 27 | }; | ||
| 21 | 28 | ||
| 22 | #endif /* _UAPI_LINUX_SOCKET_H */ | 29 | #endif /* _UAPI_LINUX_SOCKET_H */ |
| @@ -1,8 +1,8 @@ | |||
| 1 | /* SPDX-License-Identifier: BSD-3-Clause */ | 1 | /* SPDX-License-Identifier: BSD-3-Clause */ |
| 2 | /* | 2 | /* |
| 3 | * Virtio-iommu definition v0.9 | 3 | * Virtio-iommu definition v0.12 |
| 4 | * | 4 | * |
| 5 | * Copyright (C) 2018 Arm Ltd. | 5 | * Copyright (C) 2019 Arm Ltd. |
| 6 | */ | 6 | */ |
| 7 | #ifndef _UAPI_LINUX_VIRTIO_IOMMU_H | 7 | #ifndef _UAPI_LINUX_VIRTIO_IOMMU_H |
| 8 | #define _UAPI_LINUX_VIRTIO_IOMMU_H | 8 | #define _UAPI_LINUX_VIRTIO_IOMMU_H |
| @@ -11,26 +11,31 @@ · 2 unmodified lines | |||
| 11 | 11 | ||
| 12 | /* Feature bits */ | 12 | /* Feature bits */ |
| 13 | #define VIRTIO_IOMMU_F_INPUT_RANGE 0 | 13 | #define VIRTIO_IOMMU_F_INPUT_RANGE 0 |
| 14 | #define VIRTIO_IOMMU_F_DOMAIN_BITS 1 | 14 | #define VIRTIO_IOMMU_F_DOMAIN_RANGE 1 |
| 15 | #define VIRTIO_IOMMU_F_MAP_UNMAP 2 | 15 | #define VIRTIO_IOMMU_F_MAP_UNMAP 2 |
| 16 | #define VIRTIO_IOMMU_F_BYPASS 3 | 16 | #define VIRTIO_IOMMU_F_BYPASS 3 |
| 17 | #define VIRTIO_IOMMU_F_PROBE 4 | 17 | #define VIRTIO_IOMMU_F_PROBE 4 |
| 18 | #define VIRTIO_IOMMU_F_MMIO 5 | ||
| 18 | 19 | ||
| 19 | struct virtio_iommu_range { | 20 | struct virtio_iommu_range_64 { |
| 20 | __u64 start; | 21 | __le64 start; |
| 21 | __u64 end; | 22 | __le64 end; |
| 23 | }; | ||
| 24 | |||
| 25 | struct virtio_iommu_range_32 { | ||
| 26 | __le32 start; | ||
| 27 | __le32 end; | ||
| 22 | }; | 28 | }; |
| 23 | 29 | ||
| 24 | struct virtio_iommu_config { | 30 | struct virtio_iommu_config { |
| 25 | /* Supported page sizes */ | 31 | /* Supported page sizes */ |
| 26 | __u64 page_size_mask; | 32 | __le64 page_size_mask; |
| 27 | /* Supported IOVA range */ | 33 | /* Supported IOVA range */ |
| 28 | struct virtio_iommu_range input_range; | 34 | struct virtio_iommu_range_64 input_range; |
| 29 | /* Max domain ID size */ | 35 | /* Max domain ID size */ |
| 30 | __u8 domain_bits; | 36 | struct virtio_iommu_range_32 domain_range; |
| 31 | __u8 padding[3]; | ||
| 32 | /* Probe buffer size */ | 37 | /* Probe buffer size */ |
| 33 | __u32 probe_size; | 38 | __le32 probe_size; |
| 34 | }; | 39 | }; |
| 35 | 40 | ||
| 36 | /* Request types */ | 41 | /* Request types */ |
| @@ -49,6 +54,7 @@ struct virtio_iommu_config { · 12 unmodified lines | |||
| 49 | #define VIRTIO_IOMMU_S_RANGE 0x05 | 54 | #define VIRTIO_IOMMU_S_RANGE 0x05 |
| 50 | #define VIRTIO_IOMMU_S_NOENT 0x06 | 55 | #define VIRTIO_IOMMU_S_NOENT 0x06 |
| 51 | #define VIRTIO_IOMMU_S_FAULT 0x07 | 56 | #define VIRTIO_IOMMU_S_FAULT 0x07 |
| 57 | #define VIRTIO_IOMMU_S_NOMEM 0x08 | ||
| 52 | 58 | ||
| 53 | struct virtio_iommu_req_head { | 59 | struct virtio_iommu_req_head { |
| 54 | __u8 type; | 60 | __u8 type; |
| @@ -78,12 +84,10 @@ struct virtio_iommu_req_detach { · 23 unmodified lines | |||
| 78 | 84 | ||
| 79 | #define VIRTIO_IOMMU_MAP_F_READ (1 << 0) | 85 | #define VIRTIO_IOMMU_MAP_F_READ (1 << 0) |
| 80 | #define VIRTIO_IOMMU_MAP_F_WRITE (1 << 1) | 86 | #define VIRTIO_IOMMU_MAP_F_WRITE (1 << 1) |
| 81 | #define VIRTIO_IOMMU_MAP_F_EXEC (1 << 2) | 87 | #define VIRTIO_IOMMU_MAP_F_MMIO (1 << 2) |
| 82 | #define VIRTIO_IOMMU_MAP_F_MMIO (1 << 3) | ||
| 83 | 88 | ||
| 84 | #define VIRTIO_IOMMU_MAP_F_MASK (VIRTIO_IOMMU_MAP_F_READ | \ | 89 | #define VIRTIO_IOMMU_MAP_F_MASK (VIRTIO_IOMMU_MAP_F_READ | \ |
| 85 | VIRTIO_IOMMU_MAP_F_WRITE | \ | 90 | VIRTIO_IOMMU_MAP_F_WRITE | \ |
| 86 | VIRTIO_IOMMU_MAP_F_EXEC | \ | ||
| 87 | VIRTIO_IOMMU_MAP_F_MMIO) | 91 | VIRTIO_IOMMU_MAP_F_MMIO) |
| 88 | 92 | ||
| 89 | struct virtio_iommu_req_map { | 93 | struct virtio_iommu_req_map { |