diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0004-soc-fsl-qman-portal-map-CENA-area-in-the-iommu.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0004-soc-fsl-qman-portal-map-CENA-area-in-the-iommu.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0004-soc-fsl-qman-portal-map-CENA-area-in-the-iommu.patch b/target/linux/layerscape/patches-5.4/701-net-0004-soc-fsl-qman-portal-map-CENA-area-in-the-iommu.patch deleted file mode 100644 index b29964204d..0000000000 --- a/target/linux/layerscape/patches-5.4/701-net-0004-soc-fsl-qman-portal-map-CENA-area-in-the-iommu.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 488b62aa444440690708e5ea823bb0d54c296c4f Mon Sep 17 00:00:00 2001 -From: Laurentiu Tudor <laurentiu.tudor@nxp.com> -Date: Tue, 3 Apr 2018 18:18:30 +0300 -Subject: [PATCH] soc/fsl/qman-portal: map CENA area in the iommu - -Add a one-to-one iommu mapping for qman portal CENA register area. -This is required for QMAN stashing to work without faults behind -an iommu. - -Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> ---- - drivers/soc/fsl/qbman/qman_portal.c | 17 +++++++++++++++++ - 1 file changed, 17 insertions(+) - ---- a/drivers/soc/fsl/qbman/qman_portal.c -+++ b/drivers/soc/fsl/qbman/qman_portal.c -@@ -29,6 +29,7 @@ - */ - - #include "qman_priv.h" -+#include <linux/iommu.h> - - struct qman_portal *qman_dma_portal; - EXPORT_SYMBOL(qman_dma_portal); -@@ -231,6 +232,7 @@ static int qman_portal_probe(struct plat - { - struct device *dev = &pdev->dev; - struct device_node *node = dev->of_node; -+ struct iommu_domain *domain; - struct qm_portal_config *pcfg; - struct resource *addr_phys[2]; - int irq, cpu, err, i; -@@ -294,6 +296,21 @@ static int qman_portal_probe(struct plat - goto err_ioremap2; - } - -+ /* Create an 1-to-1 iommu mapping for cena portal area */ -+ domain = iommu_get_domain_for_dev(dev); -+ if (domain) { -+ /* -+ * Note: not mapping this as cacheable triggers the infamous -+ * QMan CIDE error. -+ */ -+ err = iommu_map(domain, -+ addr_phys[0]->start, addr_phys[0]->start, -+ resource_size(addr_phys[0]), -+ IOMMU_READ | IOMMU_WRITE | IOMMU_CACHE); -+ if (err) -+ dev_warn(dev, "failed to iommu_map() %d\n", err); -+ } -+ - pcfg->pools = qm_get_pools_sdqcr(); - - spin_lock(&qman_lock); |