diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-15 15:24:14 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-15 15:24:14 -0500 |
commit | a9a16a6d136593c9e6f72e481b2b86ae1d8d1fce (patch) | |
tree | 6a09888cfe1c23c9330dc95f5a83848c51d3e229 /include/linux/acpi.h | |
parent | d3ea547853852481dc5eba6d4cb13adab1564d0b (diff) | |
parent | 1465f481460cbfc60dc119873099d89a58f9be4f (diff) |
Merge tag 'iommu-updates-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull IOMMU updates from Joerg Roedel:
"These changes include:
- support for the ACPI IORT table on ARM systems and patches to make
the ARM-SMMU driver make use of it
- conversion of the Exynos IOMMU driver to device dependency links
and implementation of runtime pm support based on that conversion
- update the Mediatek IOMMU driver to use the new struct
device->iommu_fwspec member
- implementation of dma_map/unmap_resource in the generic ARM
dma-iommu layer
- a number of smaller fixes and improvements all over the place"
* tag 'iommu-updates-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (44 commits)
ACPI/IORT: Make dma masks set-up IORT specific
iommu/amd: Missing error code in amd_iommu_init_device()
iommu/s390: Drop duplicate header pci.h
ACPI/IORT: Introduce iort_iommu_configure
ACPI/IORT: Add single mapping function
ACPI/IORT: Replace rid map type with type mask
iommu/arm-smmu: Add IORT configuration
iommu/arm-smmu: Split probe functions into DT/generic portions
iommu/arm-smmu-v3: Add IORT configuration
iommu/arm-smmu-v3: Split probe functions into DT/generic portions
ACPI/IORT: Add support for ARM SMMU platform devices creation
ACPI/IORT: Add node match function
ACPI: Implement acpi_dma_configure
iommu/arm-smmu-v3: Convert struct device of_node to fwnode usage
iommu/arm-smmu: Convert struct device of_node to fwnode usage
iommu: Make of_iommu_set/get_ops() DT agnostic
ACPI/IORT: Add support for IOMMU fwnode registration
ACPI/IORT: Introduce linker section for IORT entries probing
ACPI: Add FWNODE_ACPI_STATIC fwnode type
iommu/arm-smmu: Set SMTNMB_TLBEN in ACR to enable caching of bypass entries
...
Diffstat (limited to 'include/linux/acpi.h')
-rw-r--r-- | include/linux/acpi.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index 43b28f04a1f5..d5f017448a89 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -56,6 +56,27 @@ static inline acpi_handle acpi_device_handle(struct acpi_device *adev) | |||
56 | acpi_fwnode_handle(adev) : NULL) | 56 | acpi_fwnode_handle(adev) : NULL) |
57 | #define ACPI_HANDLE(dev) acpi_device_handle(ACPI_COMPANION(dev)) | 57 | #define ACPI_HANDLE(dev) acpi_device_handle(ACPI_COMPANION(dev)) |
58 | 58 | ||
59 | static inline struct fwnode_handle *acpi_alloc_fwnode_static(void) | ||
60 | { | ||
61 | struct fwnode_handle *fwnode; | ||
62 | |||
63 | fwnode = kzalloc(sizeof(struct fwnode_handle), GFP_KERNEL); | ||
64 | if (!fwnode) | ||
65 | return NULL; | ||
66 | |||
67 | fwnode->type = FWNODE_ACPI_STATIC; | ||
68 | |||
69 | return fwnode; | ||
70 | } | ||
71 | |||
72 | static inline void acpi_free_fwnode_static(struct fwnode_handle *fwnode) | ||
73 | { | ||
74 | if (WARN_ON(!fwnode || fwnode->type != FWNODE_ACPI_STATIC)) | ||
75 | return; | ||
76 | |||
77 | kfree(fwnode); | ||
78 | } | ||
79 | |||
59 | /** | 80 | /** |
60 | * ACPI_DEVICE_CLASS - macro used to describe an ACPI device with | 81 | * ACPI_DEVICE_CLASS - macro used to describe an ACPI device with |
61 | * the PCI-defined class-code information | 82 | * the PCI-defined class-code information |
@@ -741,6 +762,11 @@ static inline enum dev_dma_attr acpi_get_dma_attr(struct acpi_device *adev) | |||
741 | return DEV_DMA_NOT_SUPPORTED; | 762 | return DEV_DMA_NOT_SUPPORTED; |
742 | } | 763 | } |
743 | 764 | ||
765 | static inline void acpi_dma_configure(struct device *dev, | ||
766 | enum dev_dma_attr attr) { } | ||
767 | |||
768 | static inline void acpi_dma_deconfigure(struct device *dev) { } | ||
769 | |||
744 | #define ACPI_PTR(_ptr) (NULL) | 770 | #define ACPI_PTR(_ptr) (NULL) |
745 | 771 | ||
746 | static inline void acpi_device_set_enumerated(struct acpi_device *adev) | 772 | static inline void acpi_device_set_enumerated(struct acpi_device *adev) |