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

Commit c45e9183 authored by Kevin Hao's avatar Kevin Hao Committed by Scott Wood
Browse files

powerpc/fsl-pci: enable SWIOTLB in function setup_pci_atmu



This function contains all the stuff we need to check if SWIOTLB
should be enabled or not. So it is more convenient to enable
the SWIOTLB here than later.

Signed-off-by: default avatarKevin Hao <haokexin@gmail.com>
Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
parent 2d49c42a
Loading
Loading
Loading
Loading
+3 −19
Original line number Diff line number Diff line
@@ -377,7 +377,9 @@ static void setup_pci_atmu(struct pci_controller *hose)
	}

	if (hose->dma_window_size < mem) {
#ifndef CONFIG_SWIOTLB
#ifdef CONFIG_SWIOTLB
		ppc_swiotlb_enable = 1;
#else
		pr_err("%s: ERROR: Memory size exceeds PCI ATMU ability to "
			"map - enable CONFIG_SWIOTLB to avoid dma errors.\n",
			 name);
@@ -1086,28 +1088,10 @@ static int fsl_pci_probe(struct platform_device *pdev)
{
	int ret;
	struct device_node *node;
#ifdef CONFIG_SWIOTLB
	struct pci_controller *hose;
#endif

	node = pdev->dev.of_node;
	ret = fsl_add_bridge(pdev, fsl_pci_primary == node);

#ifdef CONFIG_SWIOTLB
	if (ret == 0) {
		hose = pci_find_hose_for_OF_device(pdev->dev.of_node);

		/*
		 * if we couldn't map all of DRAM via the dma windows
		 * we need SWIOTLB to handle buffers located outside of
		 * dma capable memory region
		 */
		if (memblock_end_of_DRAM() - 1 > hose->dma_window_base_cur +
				hose->dma_window_size)
			ppc_swiotlb_enable = 1;
	}
#endif

	mpc85xx_pci_err_probe(pdev);

	return 0;