[PATCH v2] drm/exynos: clear channels only when iommu is enabled

Krzysztof Kozlowski k.kozlowski at samsung.com
Thu Jul 30 17:32:43 PDT 2015


On 28.07.2015 17:51, Joonyoung Shim wrote:
> This is simplest solution about reported problem[1]. It's no problem to
> clear channel only when iommu is enabled, if we consider that we cannot
> recognize iommu errors when iommu is disabled and it have been valid
> until now. But this cannot be nice solution.
> 
> [1] https://lkml.org/lkml/2015/7/21/404
> 
> Reported-by: Krzysztof Kozlowski <k.kozlowski at samsung.com>
> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>

I tested this patch on my Odroid XU3-Lite with hardkernel u-boot and it
fixes the booting hang. Thanks!

The test was not thorough - only booting and without any display output
(HDMI).

Best regards,
Krzysztof


> ---
> v2: add Reported-by.
> 
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 8d362b9..337af02 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -956,7 +956,8 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
>  	if (ctx->display)
>  		exynos_drm_create_enc_conn(drm_dev, ctx->display);
>  
> -	fimd_clear_channels(ctx->crtc);
> +	if (is_drm_iommu_supported(drm_dev))
> +		fimd_clear_channels(ctx->crtc);
>  
>  	ret = drm_iommu_attach_device(drm_dev, dev);
>  	if (ret)
> 



More information about the dri-devel mailing list