Message ID | 1438072104-32015-1-git-send-email-jy0922.shim@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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.
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)
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(-)