diff mbox

Revert "drm/exynos: IOMMU support should not be selectable by user"

Message ID 1424192294-16897-1-git-send-email-ckeepax@opensource.wolfsonmicro.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Charles Keepax Feb. 17, 2015, 4:58 p.m. UTC
This reverts commit 8dcc14f82f06fce997e35f4c77ced9d4ed192f31.

This patch causes this error on Arndale:

[    1.643800] kernel BUG at drivers/iommu/exynos-iommu.c:481!
[    1.649355] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
[    1.655170] Modules linked in:
[    1.658203] CPU: 1 PID: 1 Comm: swapper/0 Not tainted
3.19.0-07543-g3ec3f38 #1904
[    1.665683] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[    1.671750] task: ee0f4000 ti: ee0f2000 task.ti: ee0f2000
[    1.677138] PC is at __exynos_sysmmu_enable+0x190/0x19c
[    1.682341] LR is at exynos_iommu_attach_device+0x54/0xc0

I am afraid I am not very familiar with either IOMMU or DRM, so
apologies if I am missing anything and fixing the underlying problem in
exynos-iommu.c is beyond my knowledge.

That said this appears to be related to the the fact archdata.iommu is
never set to anything in drivers/iommu/exynos-iommu.c.  It looks to me
like the exynos-iommu driver is broken as nothing initialises the
exynos_iommu_owner structure, this doesn't look to be the result of
recent changes either so I assume it has been broken for some time. If I
had to guess I would suggest this driver works in some out of tree
implementation, but not in mainline. Simplest solution seems
to be to revert this patch such that the IOMMU driver is not built in
on Arndale until it is fixed.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
 drivers/gpu/drm/exynos/Kconfig |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Comments

Javier Martinez Canillas Feb. 17, 2015, 8:18 p.m. UTC | #1
Hello Charles,

On Tue, Feb 17, 2015 at 5:58 PM, Charles Keepax
<ckeepax@opensource.wolfsonmicro.com> wrote:
> This reverts commit 8dcc14f82f06fce997e35f4c77ced9d4ed192f31.
>
> This patch causes this error on Arndale:

IMHO the commit you are referring is correct so it should not be
reverted but I also had the same error on different boards (Exynos5250
Snow, Exynos5420 Peach Pit and Exynos5800 Peach Pi).

So I posted a patch [0] today to disable Exnos IOMMU support in
exynos_defconfig until these issues gets fixed.

Best regards,
Javier

[0]: https://lkml.org/lkml/2015/2/17/163
--
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
Charles Keepax Feb. 17, 2015, 8:20 p.m. UTC | #2
On Tue, Feb 17, 2015 at 09:18:28PM +0100, Javier Martinez Canillas wrote:
> Hello Charles,
> 
> On Tue, Feb 17, 2015 at 5:58 PM, Charles Keepax
> <ckeepax@opensource.wolfsonmicro.com> wrote:
> > This reverts commit 8dcc14f82f06fce997e35f4c77ced9d4ed192f31.
> >
> > This patch causes this error on Arndale:
> 
> IMHO the commit you are referring is correct so it should not be
> reverted but I also had the same error on different boards (Exynos5250
> Snow, Exynos5420 Peach Pit and Exynos5800 Peach Pi).
> 
> So I posted a patch [0] today to disable Exnos IOMMU support in
> exynos_defconfig until these issues gets fixed.
> 
> Best regards,
> Javier
> 
> [0]: https://lkml.org/lkml/2015/2/17/163

I agree your patch is the better fix.

Thanks,
Charles
--
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
diff mbox

Patch

diff --git a/drivers/gpu/drm/exynos/Kconfig b/drivers/gpu/drm/exynos/Kconfig
index a5e7461..3fe02ca 100644
--- a/drivers/gpu/drm/exynos/Kconfig
+++ b/drivers/gpu/drm/exynos/Kconfig
@@ -12,9 +12,10 @@  config DRM_EXYNOS
 	  If M is selected the module will be called exynosdrm.
 
 config DRM_EXYNOS_IOMMU
-	bool
+	bool "EXYNOS DRM IOMMU Support"
 	depends on DRM_EXYNOS && EXYNOS_IOMMU && ARM_DMA_USE_IOMMU
-	default y
+	help
+	  Choose this option if you want to use IOMMU feature for DRM.
 
 config DRM_EXYNOS_FIMD
 	bool "Exynos DRM FIMD"