diff mbox series

msm/gpu/a6xx: Force of_dma_configure to setup DMA for GMU

Message ID 20180914150346.9340-1-jcrouse@codeaurora.org (mailing list archive)
State New, archived
Headers show
Series msm/gpu/a6xx: Force of_dma_configure to setup DMA for GMU | expand

Commit Message

Jordan Crouse Sept. 14, 2018, 3:03 p.m. UTC
The point of the 'force_dma' parameter for of_dma_configure
is to force the device to be set up even if DMA capability is
not described by the firmware which is exactly the use case
 we have for GMU - we need SMMU to get set up but we have no
other dma capabilities since memory is managed by the GPU
driver. Currently we pass false so of_dma_configure() fails
and subsequently GMU and GPU probe does as well.

Fixes: 4b565ca5a2c ("drm/msm: Add A6XX device support")
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
---
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sibi Sankar Sept. 14, 2018, 4:18 p.m. UTC | #1
Tested-by: Sibi Sankar <sibis@codeaurora.org>

On 2018-09-14 20:33, Jordan Crouse wrote:
> The point of the 'force_dma' parameter for of_dma_configure
> is to force the device to be set up even if DMA capability is
> not described by the firmware which is exactly the use case
>  we have for GMU - we need SMMU to get set up but we have no
> other dma capabilities since memory is managed by the GPU
> driver. Currently we pass false so of_dma_configure() fails
> and subsequently GMU and GPU probe does as well.
> 
> Fixes: 4b565ca5a2c ("drm/msm: Add A6XX device support")
> Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
> ---
>  drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
> b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
> index bbb8126ec5c5..cbaca366fc20 100644
> --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
> @@ -1140,7 +1140,7 @@ int a6xx_gmu_probe(struct a6xx_gpu *a6xx_gpu,
> struct device_node *node)
> 
>  	gmu->dev = &pdev->dev;
> 
> -	of_dma_configure(gmu->dev, node, false);
> +	of_dma_configure(gmu->dev, node, true);
> 
>  	/* Fow now, don't do anything fancy until we get our feet under us */
>  	gmu->idle_level = GMU_IDLE_STATE_ACTIVE;
diff mbox series

Patch

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index bbb8126ec5c5..cbaca366fc20 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -1140,7 +1140,7 @@  int a6xx_gmu_probe(struct a6xx_gpu *a6xx_gpu, struct device_node *node)
 
 	gmu->dev = &pdev->dev;
 
-	of_dma_configure(gmu->dev, node, false);
+	of_dma_configure(gmu->dev, node, true);
 
 	/* Fow now, don't do anything fancy until we get our feet under us */
 	gmu->idle_level = GMU_IDLE_STATE_ACTIVE;