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

Commit 438b6c89 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "net: stmmac: Set DOMAIN_ATTR_GEOMETRY for smmu fastmap"

parents b3519efb 1d5863d4
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -1344,6 +1344,7 @@ static int stmmac_emb_smmu_cb_probe(struct platform_device *pdev)
	int atomic_ctx = 1;
	int fast = 1;
	int bypass = 1;
	struct iommu_domain_geometry geometry = {0};

	ETHQOSDBG("EMAC EMB SMMU CB probe: smmu pdev=%p\n", pdev);

@@ -1358,6 +1359,10 @@ static int stmmac_emb_smmu_cb_probe(struct platform_device *pdev)
	stmmac_emb_smmu_ctx.va_end = stmmac_emb_smmu_ctx.va_start +
				   stmmac_emb_smmu_ctx.va_size;

	geometry.aperture_start = stmmac_emb_smmu_ctx.va_start;
	geometry.aperture_end =
	stmmac_emb_smmu_ctx.va_start + stmmac_emb_smmu_ctx.va_size;

	stmmac_emb_smmu_ctx.smmu_pdev = pdev;

	if (dma_set_mask(dev, DMA_BIT_MASK(32)) ||
@@ -1402,6 +1407,19 @@ static int stmmac_emb_smmu_cb_probe(struct platform_device *pdev)
			goto err_smmu_probe;
		}
		ETHQOSDBG("SMMU fast map set\n");
		if (of_property_read_bool(dev->of_node,
					  "qcom,smmu-geometry")) {
			if (iommu_domain_set_attr
			    (stmmac_emb_smmu_ctx.mapping->domain,
			     DOMAIN_ATTR_GEOMETRY,
			     &geometry)) {
				ETHQOSERR("Couldn't set DOMAIN_ATTR_GEOMETRY");
				result = -EIO;
				goto err_smmu_probe;
			}
			ETHQOSDBG("SMMU DOMAIN_ATTR_GEOMETRY set\n");
		}

	}

	result = arm_iommu_attach_device(&stmmac_emb_smmu_ctx.smmu_pdev->dev,