diff options
| -rw-r--r-- | drivers/iommu/dma-iommu.c | 20 | ||||
| -rw-r--r-- | include/linux/dma-iommu.h | 5 |
2 files changed, 0 insertions, 25 deletions
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c index f847904098f7..13916fefeb27 100644 --- a/drivers/iommu/dma-iommu.c +++ b/drivers/iommu/dma-iommu.c | |||
| @@ -935,23 +935,3 @@ void iommu_dma_compose_msi_msg(struct msi_desc *desc, | |||
| 935 | msg->address_lo &= cookie_msi_granule(domain->iova_cookie) - 1; | 935 | msg->address_lo &= cookie_msi_granule(domain->iova_cookie) - 1; |
| 936 | msg->address_lo += lower_32_bits(msi_page->iova); | 936 | msg->address_lo += lower_32_bits(msi_page->iova); |
| 937 | } | 937 | } |
| 938 | |||
| 939 | void iommu_dma_map_msi_msg(int irq, struct msi_msg *msg) | ||
| 940 | { | ||
| 941 | struct msi_desc *desc = irq_get_msi_desc(irq); | ||
| 942 | phys_addr_t msi_addr = (u64)msg->address_hi << 32 | msg->address_lo; | ||
| 943 | |||
| 944 | if (WARN_ON(iommu_dma_prepare_msi(desc, msi_addr))) { | ||
| 945 | /* | ||
| 946 | * We're called from a void callback, so the best we can do is | ||
| 947 | * 'fail' by filling the message with obviously bogus values. | ||
| 948 | * Since we got this far due to an IOMMU being present, it's | ||
| 949 | * not like the existing address would have worked anyway... | ||
| 950 | */ | ||
| 951 | msg->address_hi = ~0U; | ||
| 952 | msg->address_lo = ~0U; | ||
| 953 | msg->data = ~0U; | ||
| 954 | } else { | ||
| 955 | iommu_dma_compose_msi_msg(desc, msg); | ||
| 956 | } | ||
| 957 | } | ||
diff --git a/include/linux/dma-iommu.h b/include/linux/dma-iommu.h index 0b781a98ee73..476e0c54de2d 100644 --- a/include/linux/dma-iommu.h +++ b/include/linux/dma-iommu.h | |||
| @@ -84,7 +84,6 @@ int iommu_dma_prepare_msi(struct msi_desc *desc, phys_addr_t msi_addr); | |||
| 84 | void iommu_dma_compose_msi_msg(struct msi_desc *desc, | 84 | void iommu_dma_compose_msi_msg(struct msi_desc *desc, |
| 85 | struct msi_msg *msg); | 85 | struct msi_msg *msg); |
| 86 | 86 | ||
| 87 | void iommu_dma_map_msi_msg(int irq, struct msi_msg *msg); | ||
| 88 | void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list); | 87 | void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list); |
| 89 | 88 | ||
| 90 | #else | 89 | #else |
| @@ -124,10 +123,6 @@ static inline void iommu_dma_compose_msi_msg(struct msi_desc *desc, | |||
| 124 | { | 123 | { |
| 125 | } | 124 | } |
| 126 | 125 | ||
| 127 | static inline void iommu_dma_map_msi_msg(int irq, struct msi_msg *msg) | ||
| 128 | { | ||
| 129 | } | ||
| 130 | |||
| 131 | static inline void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list) | 126 | static inline void iommu_dma_get_resv_regions(struct device *dev, struct list_head *list) |
| 132 | { | 127 | { |
| 133 | } | 128 | } |
