* [PATCH v2] drm/exynos: clear channels only when iommu is enabled
@ 2015-07-28 8:51 Joonyoung Shim
2015-07-29 12:54 ` Inki Dae
2015-07-31 0:32 ` Krzysztof Kozlowski
0 siblings, 2 replies; 4+ messages in thread
From: Joonyoung Shim @ 2015-07-28 8:51 UTC (permalink / raw)
To: dri-devel; +Cc: k.kozlowski, sw0312.kim, m.szyprowski
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@samsung.com>
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
---
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)
--
1.9.1
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] drm/exynos: clear channels only when iommu is enabled
2015-07-28 8:51 [PATCH v2] drm/exynos: clear channels only when iommu is enabled Joonyoung Shim
@ 2015-07-29 12:54 ` Inki Dae
2015-07-31 0:32 ` Krzysztof Kozlowski
1 sibling, 0 replies; 4+ messages in thread
From: Inki Dae @ 2015-07-29 12:54 UTC (permalink / raw)
To: Joonyoung Shim, dri-devel
Cc: samsung-soc, k.kozlowski, sw0312.kim, m.szyprowski
+ samsung-soc
On 2015년 07월 28일 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@samsung.com>
> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> ---
> 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)
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] drm/exynos: clear channels only when iommu is enabled
2015-07-28 8:51 [PATCH v2] drm/exynos: clear channels only when iommu is enabled Joonyoung Shim
2015-07-29 12:54 ` Inki Dae
@ 2015-07-31 0:32 ` Krzysztof Kozlowski
2015-08-03 8:46 ` Inki Dae
1 sibling, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2015-07-31 0:32 UTC (permalink / raw)
To: Joonyoung Shim, dri-devel
Cc: inki.dae, sw0312.kim, m.szyprowski,
linux-samsung-soc@vger.kernel.org
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@samsung.com>
> Signed-off-by: Joonyoung Shim <jy0922.shim@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)
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] drm/exynos: clear channels only when iommu is enabled
2015-07-31 0:32 ` Krzysztof Kozlowski
@ 2015-08-03 8:46 ` Inki Dae
0 siblings, 0 replies; 4+ messages in thread
From: Inki Dae @ 2015-08-03 8:46 UTC (permalink / raw)
To: Krzysztof Kozlowski, Joonyoung Shim, dri-devel
Cc: sw0312.kim, m.szyprowski, linux-samsung-soc@vger.kernel.org
On 2015년 07월 31일 09:32, Krzysztof Kozlowski wrote:
> 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@samsung.com>
>> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
>
> I tested this patch on my Odroid XU3-Lite with hardkernel u-boot and it
> fixes the booting hang. Thanks!
Thanks for the test.
This patch fixes the booting hang issue but I'm not sure of this patch
being able to resolve the issue clearly.
In relation to this, I tried to resolve the issue using sub driver
stuff, which makes a probe callback for fimd sub driver to be called
after crtc and connector binding is completed.
I guessed that with this, ACLK_200_DISP1 would be enabled by connector
driver - mipi dsi or panel driver. However, the moment that the clock is
enabled is at mode setting operation so the patch doesn't resolve the
issue because the callback I added will be called before mode setting
operation.
So the solution we could try would be to make FIMD driver to enable
relevant clock in case of Exynos5422 SoC. However, this way is also not
clear to me because it is required for additional device tree binding.
Anyway, I merged below patch so let's resolve this issue with more
generic way later.
P.s., I removed the patch which incurred the kernel hang issue from
exynos-drm-fixes, and moved it to exynos-drm-next with below patch so
now there must be no any problem with exynos-drm-fixes.
Thanks,
Inki Dae
>
> 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)
>>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-08-03 8:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-28 8:51 [PATCH v2] drm/exynos: clear channels only when iommu is enabled Joonyoung Shim
2015-07-29 12:54 ` Inki Dae
2015-07-31 0:32 ` Krzysztof Kozlowski
2015-08-03 8:46 ` Inki Dae
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.