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

2015-07-28 Thread Joonyoung Shim
On 07/28/2015 05:30 PM, Krzysztof Kozlowski wrote:
> On 28.07.2015 17:28, 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.
> 
> I am not sure if I got it correctly. If this cannot be "nice solution"
> so is this a proper fix or not?
> 

Yeah, that clean channels always is more reasonable to me but now i
cannot give proper fix for that e.g. about clock problem.

> Anyway, please:
> Reported-by: Krzysztof Kozlowski 

Sure, Thanks.


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

2015-07-28 Thread Krzysztof Kozlowski
On 28.07.2015 17:28, 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.

I am not sure if I got it correctly. If this cannot be "nice solution"
so is this a proper fix or not?

Anyway, please:
Reported-by: Krzysztof Kozlowski 

Best regards,
Krzysztof

> 
> [1] https://lkml.org/lkml/2015/7/21/404
> 
> Signed-off-by: Joonyoung Shim 
> ---
>  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)
> 



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

2015-07-28 Thread Joonyoung Shim
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

Signed-off-by: Joonyoung Shim 
---
 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)
-- 
1.9.1