Commit 6c019f4e authored by Krishna Reddy's avatar Krishna Reddy Committed by Will Deacon
Browse files

iommu/arm-smmu: ioremap smmu mmio region before implementation init



ioremap smmu mmio region before calling into implementation init.
This is necessary to allow mapped address available during vendor
specific implementation init.

Signed-off-by: default avatarKrishna Reddy <vdumpa@nvidia.com>
Reviewed-by: default avatarJon Hunter <jonathanh@nvidia.com>
Reviewed-by: default avatarNicolin Chen <nicoleotsuka@gmail.com>
Reviewed-by: default avatarPritesh Raithatha <praithatha@nvidia.com>
Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
Reviewed-by: default avatarThierry Reding <thierry.reding@gmail.com>
Link: https://lore.kernel.org/r/20200718193457.30046-3-vdumpa@nvidia.com


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent cd8479cf
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -2123,10 +2123,6 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
	if (err)
		return err;

	smmu = arm_smmu_impl_init(smmu);
	if (IS_ERR(smmu))
		return PTR_ERR(smmu);

	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	ioaddr = res->start;
	smmu->base = devm_ioremap_resource(dev, res);
@@ -2138,6 +2134,10 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
	 */
	smmu->numpage = resource_size(res);

	smmu = arm_smmu_impl_init(smmu);
	if (IS_ERR(smmu))
		return PTR_ERR(smmu);

	num_irqs = 0;
	while ((res = platform_get_resource(pdev, IORESOURCE_IRQ, num_irqs))) {
		num_irqs++;