Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b627c8b1 authored by Joerg Roedel's avatar Joerg Roedel Committed by Ingo Molnar
Browse files

x86: always define DECLARE_PCI_UNMAP* macros



Impact: fix boot crash on AMD IOMMU if CONFIG_GART_IOMMU is off

Currently these macros evaluate to a no-op except the kernel is compiled
with GART or Calgary support. But we also need these macros when we have
SWIOTLB, VT-d or AMD IOMMU in the kernel. Since we always compile at
least with SWIOTLB we can define these macros always.

This patch is also for stable backport for the same reason the SWIOTLB
default selection patch is.

Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
Cc: <stable@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent ffd565a8
Loading
Loading
Loading
Loading
+0 −14
Original line number Original line Diff line number Diff line
@@ -34,8 +34,6 @@ extern void pci_iommu_alloc(void);
 */
 */
#define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys)
#define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys)


#if defined(CONFIG_GART_IOMMU) || defined(CONFIG_CALGARY_IOMMU)

#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)	\
#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)	\
	dma_addr_t ADDR_NAME;
	dma_addr_t ADDR_NAME;
#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)		\
#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)		\
@@ -49,18 +47,6 @@ extern void pci_iommu_alloc(void);
#define pci_unmap_len_set(PTR, LEN_NAME, VAL)		\
#define pci_unmap_len_set(PTR, LEN_NAME, VAL)		\
	(((PTR)->LEN_NAME) = (VAL))
	(((PTR)->LEN_NAME) = (VAL))


#else
/* No IOMMU */

#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
#define pci_unmap_addr(PTR, ADDR_NAME)		(0)
#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)	do { } while (0)
#define pci_unmap_len(PTR, LEN_NAME)		(0)
#define pci_unmap_len_set(PTR, LEN_NAME, VAL)	do { } while (0)

#endif

#endif /* __KERNEL__ */
#endif /* __KERNEL__ */


#endif /* _ASM_X86_PCI_64_H */
#endif /* _ASM_X86_PCI_64_H */