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 jy0922.shim@samsung.com --- 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)
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 k.kozlowski@samsung.com
Best regards, Krzysztof
[1] https://lkml.org/lkml/2015/7/21/404
Signed-off-by: Joonyoung Shim jy0922.shim@samsung.com
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)
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 k.kozlowski@samsung.com
Sure, Thanks.
dri-devel@lists.freedesktop.org