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

Commit 1409df04 authored by Lucas Stach's avatar Lucas Stach
Browse files

drm/etnaviv: improve error reporting in GPU init path



Print error messages that mention the exact cause of the failure on
all paths which may fail the GPU init.

Signed-off-by: default avatarLucas Stach <l.stach@pengutronix.de>
Reviewed-by: default avatarChristian Gmeiner <christian.gmeiner@gmail.com>
parent 7d0c6e71
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -597,8 +597,10 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
	bool mmuv2;

	ret = pm_runtime_get_sync(gpu->dev);
	if (ret < 0)
	if (ret < 0) {
		dev_err(gpu->dev, "Failed to enable GPU power domain\n");
		return ret;
	}

	etnaviv_hw_identify(gpu);

@@ -635,8 +637,10 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
	}

	ret = etnaviv_hw_reset(gpu);
	if (ret)
	if (ret) {
		dev_err(gpu->dev, "GPU reset failed\n");
		goto fail;
	}

	/* Setup IOMMU.. eventually we will (I think) do this once per context
	 * and have separate page tables per context.  For now, to keep things
@@ -654,12 +658,14 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
	}

	if (!iommu) {
		dev_err(gpu->dev, "Failed to allocate GPU IOMMU domain\n");
		ret = -ENOMEM;
		goto fail;
	}

	gpu->mmu = etnaviv_iommu_new(gpu, iommu, version);
	if (!gpu->mmu) {
		dev_err(gpu->dev, "Failed to instantiate GPU IOMMU\n");
		iommu_domain_free(iommu);
		ret = -ENOMEM;
		goto fail;