aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-07-09 12:21:02 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-07-09 12:21:02 -0400
commit6b04014f3f151ed62878327813859e76e8e23d78 (patch)
tree217c5d024b92f5ba5df910c50dc555b80537b721 /include/linux/device.h
parentc6b6cebbc597aaf7d941f781b5fc114c58cc3352 (diff)
parentd95c3885865b71e56d8d60c8617f2ce1f0fa079d (diff)
Merge tag 'iommu-updates-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull iommu updates from Joerg Roedel: - Make the dma-iommu code more generic so that it can be used outside of the ARM context with other IOMMU drivers. Goal is to make use of it on x86 too. - Generic IOMMU domain support for the Intel VT-d driver. This driver now makes more use of common IOMMU code to allocate default domains for the devices it handles. - An IOMMU fault reporting API to userspace. With that the IOMMU fault handling can be done in user-space, for example to forward the faults to a VM. - Better handling for reserved regions requested by the firmware. These can be 'relaxed' now, meaning that those don't prevent a device being attached to a VM. - Suspend/Resume support for the Renesas IOMMU driver. - Added support for dumping SVA related fields of the DMAR table in the Intel VT-d driver via debugfs. - A pile of smaller fixes and cleanups. * tag 'iommu-updates-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (90 commits) iommu/omap: No need to check return value of debugfs_create functions iommu/arm-smmu-v3: Invalidate ATC when detaching a device iommu/arm-smmu-v3: Fix compilation when CONFIG_CMA=n iommu/vt-d: Cleanup unused variable iommu/amd: Flush not present cache in iommu_map_page iommu/amd: Only free resources once on init error iommu/amd: Move gart fallback to amd_iommu_init iommu/amd: Make iommu_disable safer iommu/io-pgtable: Support non-coherent page tables iommu/io-pgtable: Replace IO_PGTABLE_QUIRK_NO_DMA with specific flag iommu/io-pgtable-arm: Add support to use system cache iommu/arm-smmu-v3: Increase maximum size of queues iommu/vt-d: Silence a variable set but not used iommu/vt-d: Remove an unused variable "length" iommu: Fix integer truncation iommu: Add padding to struct iommu_fault iommu/vt-d: Consolidate domain_init() to avoid duplication iommu/vt-d: Cleanup after delegating DMA domain to generic iommu iommu/vt-d: Fix suspicious RCU usage in probe_acpi_namespace_devices() iommu/vt-d: Allow DMA domain attaching to rmrr locked device ...
Diffstat (limited to 'include/linux/device.h')
-rw-r--r--include/linux/device.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 4a295e324ac5..b6ff25d9fff4 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -42,6 +42,7 @@ struct iommu_ops;
42struct iommu_group; 42struct iommu_group;
43struct iommu_fwspec; 43struct iommu_fwspec;
44struct dev_pin_info; 44struct dev_pin_info;
45struct iommu_param;
45 46
46struct bus_attribute { 47struct bus_attribute {
47 struct attribute attr; 48 struct attribute attr;
@@ -961,6 +962,7 @@ struct dev_links_info {
961 * device (i.e. the bus driver that discovered the device). 962 * device (i.e. the bus driver that discovered the device).
962 * @iommu_group: IOMMU group the device belongs to. 963 * @iommu_group: IOMMU group the device belongs to.
963 * @iommu_fwspec: IOMMU-specific properties supplied by firmware. 964 * @iommu_fwspec: IOMMU-specific properties supplied by firmware.
965 * @iommu_param: Per device generic IOMMU runtime data
964 * 966 *
965 * @offline_disabled: If set, the device is permanently online. 967 * @offline_disabled: If set, the device is permanently online.
966 * @offline: Set after successful invocation of bus type's .offline(). 968 * @offline: Set after successful invocation of bus type's .offline().
@@ -1054,6 +1056,7 @@ struct device {
1054 void (*release)(struct device *dev); 1056 void (*release)(struct device *dev);
1055 struct iommu_group *iommu_group; 1057 struct iommu_group *iommu_group;
1056 struct iommu_fwspec *iommu_fwspec; 1058 struct iommu_fwspec *iommu_fwspec;
1059 struct iommu_param *iommu_param;
1057 1060
1058 bool offline_disabled:1; 1061 bool offline_disabled:1;
1059 bool offline:1; 1062 bool offline:1;