]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
powerpc: Remove some Cell leftovers
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 18 Dec 2024 10:54:50 +0000 (21:54 +1100)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Wed, 26 Feb 2025 15:45:07 +0000 (21:15 +0530)
Now that CONFIG_PPC_CELL_NATIVE is removed, iommu_fixed_is_weak will
always be false, so remove it entirely.

Also remove a hack/quirk in the HTAB code that was only used on Cell.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20241218105523.416573-2-mpe@ellerman.id.au
arch/powerpc/include/asm/iommu.h
arch/powerpc/kernel/dma-iommu.c
arch/powerpc/mm/book3s64/hash_utils.c

index 04072b5f8962ce5e9d0b8de62d174407c8ffada5..b410021ad4c69e361fdc32363c23a67e13c9b87e 100644 (file)
@@ -317,12 +317,6 @@ extern void iommu_flush_tce(struct iommu_table *tbl);
 extern enum dma_data_direction iommu_tce_direction(unsigned long tce);
 extern unsigned long iommu_direction_to_tce_perm(enum dma_data_direction dir);
 
-#ifdef CONFIG_PPC_CELL_NATIVE
-extern bool iommu_fixed_is_weak;
-#else
-#define iommu_fixed_is_weak false
-#endif
-
 extern const struct dma_map_ops dma_iommu_ops;
 
 #endif /* __KERNEL__ */
index f0ae39e77e374143599d67702b4e9a8e12b60f1f..4d64a5db50f389470dadbfd2417778f3180c5210 100644 (file)
@@ -136,7 +136,7 @@ static bool dma_iommu_bypass_supported(struct device *dev, u64 mask)
        struct pci_dev *pdev = to_pci_dev(dev);
        struct pci_controller *phb = pci_bus_to_host(pdev->bus);
 
-       if (iommu_fixed_is_weak || !phb->controller_ops.iommu_bypass_supported)
+       if (!phb->controller_ops.iommu_bypass_supported)
                return false;
        return phb->controller_ops.iommu_bypass_supported(pdev, mask);
 }
index c8b4fa71d4a707943f1459b05e450ae7754d3a43..734610052cf4dcc685b950a6ff97497381c6f182 100644 (file)
@@ -1358,18 +1358,6 @@ static void __init htab_initialize(void)
        } else {
                unsigned long limit = MEMBLOCK_ALLOC_ANYWHERE;
 
-#ifdef CONFIG_PPC_CELL
-               /*
-                * Cell may require the hash table down low when using the
-                * Axon IOMMU in order to fit the dynamic region over it, see
-                * comments in cell/iommu.c
-                */
-               if (fdt_subnode_offset(initial_boot_params, 0, "axon") > 0) {
-                       limit = 0x80000000;
-                       pr_info("Hash table forced below 2G for Axon IOMMU\n");
-               }
-#endif /* CONFIG_PPC_CELL */
-
                table = memblock_phys_alloc_range(htab_size_bytes,
                                                  htab_size_bytes,
                                                  0, limit);