OSDN Git Service

powerpc/pseries/ddw: simplify enable_ddw()
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Mon, 8 Nov 2021 04:03:18 +0000 (15:03 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 15 Nov 2021 04:46:46 +0000 (15:46 +1100)
This drops rather useless ddw_enabled flag as direct_mapping implies
it anyway.

While at this, fix indents in enable_ddw().

This should not cause any behavioral change.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20211108040320.3857636-3-aik@ozlabs.ru
arch/powerpc/platforms/pseries/iommu.c

index 64385d6..301fa5b 100644 (file)
@@ -1229,7 +1229,6 @@ static bool enable_ddw(struct pci_dev *dev, struct device_node *pdn)
        u32 ddw_avail[DDW_APPLICABLE_SIZE];
        struct dma_win *window;
        struct property *win64;
-       bool ddw_enabled = false;
        struct failed_ddw_pdn *fpdn;
        bool default_win_removed = false, direct_mapping = false;
        bool pmem_present;
@@ -1244,7 +1243,6 @@ static bool enable_ddw(struct pci_dev *dev, struct device_node *pdn)
 
        if (find_existing_ddw(pdn, &dev->dev.archdata.dma_offset, &len)) {
                direct_mapping = (len >= max_ram_len);
-               ddw_enabled = true;
                goto out_unlock;
        }
 
@@ -1397,8 +1395,8 @@ static bool enable_ddw(struct pci_dev *dev, struct device_node *pdn)
                        dev_info(&dev->dev, "failed to map DMA window for %pOF: %d\n",
                                 dn, ret);
 
-               /* Make sure to clean DDW if any TCE was set*/
-               clean_dma_window(pdn, win64->value);
+                       /* Make sure to clean DDW if any TCE was set*/
+                       clean_dma_window(pdn, win64->value);
                        goto out_del_list;
                }
        } else {
@@ -1445,7 +1443,6 @@ static bool enable_ddw(struct pci_dev *dev, struct device_node *pdn)
        spin_unlock(&dma_win_list_lock);
 
        dev->dev.archdata.dma_offset = win_addr;
-       ddw_enabled = true;
        goto out_unlock;
 
 out_del_list:
@@ -1481,10 +1478,10 @@ out_unlock:
         * as RAM, then we failed to create a window to cover persistent
         * memory and need to set the DMA limit.
         */
-       if (pmem_present && ddw_enabled && direct_mapping && len == max_ram_len)
+       if (pmem_present && direct_mapping && len == max_ram_len)
                dev->dev.bus_dma_limit = dev->dev.archdata.dma_offset + (1ULL << len);
 
-    return ddw_enabled && direct_mapping;
+       return direct_mapping;
 }
 
 static void pci_dma_dev_setup_pSeriesLP(struct pci_dev *dev)