History

Merge tag 'iommu-updates-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

Pull iommu updates from Joerg Roedel: - Identity domain support for virtio-iommu - Move flush queue code into iommu-dma - Some fixes for AMD IOMMU suspend/resume support when x2apic is used - Arm SMMU Updates from Will Deacon: - Revert evtq and priq back to their former sizes - Return early on short-descriptor page-table allocation failure - Fix page fault reporting for Adreno GPU on SMMUv2 - Make SMMUv3 MMU notifier ops 'const' - Numerous new compatible strings for Qualcomm SMMUv2 implementations - Various smaller fixes and cleanups * tag 'iommu-updates-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (38 commits) iommu/iova: Temporarily include dma-mapping.h from iova.h iommu: Move flush queue data into iommu_dma_cookie iommu/iova: Move flush queue code to iommu-dma iommu/iova: Consolidate flush queue code iommu/vt-d: Use put_pages_list iommu/amd: Use put_pages_list iommu/amd: Simplify pagetable freeing iommu/iova: Squash flush_cb abstraction iommu/iova: Squash entry_dtor abstraction iommu/iova: Fix race between FQ timeout and teardown iommu/amd: Fix typo in *glues … together* in comment iommu/vt-d: Remove unused dma_to_mm_pfn function iommu/vt-d: Drop duplicate check in dma_pte_free_pagetable() iommu/vt-d: Use bitmap_zalloc() when applicable iommu/amd: Remove useless irq affinity notifier iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume iommu/amd: X2apic mode: setup the INTX registers on mask/unmask iommu/amd: X2apic mode: re-enable after resume iommu/amd: Restore GA log/tail pointer on host resume iommu/iova: Move fast alloc size roundup into alloc_iova_fast() ...

Linus Torvalds committed 4 years ago

Commit 13eaa5b2 parents 362f533 66dc1b720 files · +493 −570Browse files

Showing the changes to include/uapi/linux (1 of 20 files). Show all

Unified · Split

include/uapi/linux/virtio_iommu.h+7−1
@@ -16,6 +16,7 @@ · 15 unmodified lines
1616 #define VIRTIO_IOMMU_F_BYPASS 3
1717 #define VIRTIO_IOMMU_F_PROBE 4
1818 #define VIRTIO_IOMMU_F_MMIO 5
19+#define VIRTIO_IOMMU_F_BYPASS_CONFIG 6
1920
2021 struct virtio_iommu_range_64 {
2122 __le64 start;
@@ -36,6 +37,8 @@ struct virtio_iommu_config { · 14 unmodified lines
3637 struct virtio_iommu_range_32 domain_range;
3738 /* Probe buffer size */
3839 __le32 probe_size;
40+ __u8 bypass;
41+ __u8 reserved[3];
3942 };
4043
4144 /* Request types */
@@ -66,11 +69,14 @@ struct virtio_iommu_req_tail { · 24 unmodified lines
6669 __u8 reserved[3];
6770 };
6871
72+#define VIRTIO_IOMMU_ATTACH_F_BYPASS (1 << 0)
73+
6974 struct virtio_iommu_req_attach {
7075 struct virtio_iommu_req_head head;
7176 __le32 domain;
7277 __le32 endpoint;
73− __u8 reserved[8];
78+ __le32 flags;
79+ __u8 reserved[4];
7480 struct virtio_iommu_req_tail tail;
7581 };
7682