Enabling Exynos DRM IOMMU support for Exynos is currently broken and
causes a BUG on exynos-iommu driver. This was not an issue since the
options was disabled in exynos_defconfig but after commit 8dcc14f82f06
("drm/exynos: IOMMU support should not be selectable by user"), it is
selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig.
So a kernel built using exynos_defconfig after the mentioned commit
fails to boot [0]. Disable IOMMU support in Exynos defconfig until
things get sorted out.
[0]:
[ 1.242183] ------------[ cut here ]------------
[ 1.246191] kernel BUG at drivers/iommu/exynos-iommu.c:481!
[ 1.251747] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
[ 1.257561] Modules linked in:
[ 1.260603] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-07478-g796e1c55717e #490
[ 1.268412] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[ 1.274489] task: ee06c000 ti: ee05a000 task.ti: ee05a000
[ 1.279874] PC is at __exynos_sysmmu_enable+0x184/0x190
[ 1.285080] LR is at exynos_iommu_attach_device+0x44/0xb0
[ 1.290461] pc : [<c0254a14>] lr : [<c0254a64>] psr: 60000193
[ 1.290461] sp : ee05bcf8 ip : 00000000 fp : ed84aa40
[ 1.301916] r10: ed84a890 r9 : a0000113 r8 : 6db30000
[ 1.307125] r7 : ed84aa40 r6 : 00000000 r5 : 00000000 r4 : ee174e10
[ 1.313635] r3 : 6db30000 r2 : ed84aa40 r1 : 6db30000 r0 : ee174e10
[ 1.320147] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
[ 1.327524] Control: 10c5387d Table: 4000406a DAC: 00000015
[ 1.333252] Process swapper/0 (pid: 1, stack limit = 0xee05a210)
[ 1.339241] Stack: (0xee05bcf8 to 0xee05c000)
[ 1.343581] bce0: 6db30000 ee174e10
[ 1.351741] bd00: ed84a880 00000000 ed84aa40 ee174e10 a0000113 ed84a890 00000000 c0254a64
[ 1.359900] bd20: 00000000 6db30000 ee174e10 ed84adc0 00000005 00000034 00000001 c0692c1c
[ 1.368059] bd40: 00000097 c02526c8 ee29f050 c0017210 ee29f050 ee174e10 edab6810 c0282558
[ 1.376219] bd60: edab6a10 ee1cb000 00000005 c0283520 ee29f240 c028f210 edab6810 ee2ef280
[ 1.384378] bd80: edb24680 ed84a680 ee1cb000 c02883f8 edab6810 ee1cb000 ee1cb000 00000000
[ 1.392537] bda0: ed84a680 ee2ef450 00000000 c027e968 ee1cb000 00000000 00000000 c0268fd4
[ 1.400696] bdc0: edab6800 c06b0de4 ee1cb000 c026a8bc ee2ef0c0 c028f210 00000002 ee2ef460
[ 1.408855] bde0: ee2ef460 00000002 ee2ef280 c0288728 c04af5d0 edab6810 ee2ef280 00000000
[ 1.417014] be00: c06b1348 c0288918 c06b0f00 c06b0f00 edab6810 00000001 c06b0da0 c027eaf4
[ 1.425173] be20: c070334c edaee190 00000000 edab6810 ffffffed c06b0da0 00000000 c028da1c
[ 1.433332] be40: edab6810 c070334c 00000000 c028c5f8 edab6810 c06b0da0 edab6844 00000000
[ 1.441492] be60: eda3c740 c028c7a4 c06b0da0 00000000 c028c718 c028af74 ee005274 ee3b7b40
[ 1.449652] be80: c06b0da0 ee3b7680 c06b1540 c028bde4 c05b6990 c06b0da0 c0703324 c06b0da0
[ 1.457811] bea0: c0703324 00000000 c069ab18 c028cdc4 00000000 00000000 c0703324 c027ebd8
[ 1.465970] bec0: 00000000 c05b6990 ffffffff 00000000 00000000 00000000 00000000 c00c4574
[ 1.474129] bee0: 00000000 00000000 c069ab18 c027eb1c 00000000 c069ab18 c069ab18 c0008944
[ 1.482288] bf00: 00000036 c04770e8 ee049800 c06eace0 ee06c000 60000113 c069eab0 00000000
[ 1.490447] bf20: 00000000 c069eab0 60000113 00000000 ef7fcabc ef7fcaae c061c594 c0038640
[ 1.498607] bf40: c05cb1d0 c061bc24 00000006 00000006 c069ea50 c06724d4 00000006 c06724b4
[ 1.506766] bf60: c06c7600 c0647588 c0692c1c 00000097 00000000 c0647d40 00000006 00000006
[ 1.514925] bf80: c0647588 c003d2d8 00000000 c046921c 00000000 00000000 00000000 00000000
[ 1.523084] bfa0: 00000000 c0469224 00000000 c000e680 00000000 00000000 00000000 00000000
[ 1.531243] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.539402] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 1.547567] [<c0254a14>] (__exynos_sysmmu_enable) from [<c0254a64>] (exynos_iommu_attach_device+0x44/0xb0)
[ 1.557199] [<c0254a64>] (exynos_iommu_attach_device) from [<c02526c8>] (iommu_attach_device+0x18/0x24)
[ 1.566576] [<c02526c8>] (iommu_attach_device) from [<c0017210>] (arm_iommu_attach_device+0x18/0x50)
[ 1.575690] [<c0017210>] (arm_iommu_attach_device) from [<c0282558>] (drm_iommu_attach_device+0x50/0xb4)
[ 1.585150] [<c0282558>] (drm_iommu_attach_device) from [<c0283520>] (fimd_bind+0x94/0x1b8)
[ 1.593483] [<c0283520>] (fimd_bind) from [<c02883f8>] (component_bind_all+0xb4/0x214)
[ 1.601380] [<c02883f8>] (component_bind_all) from [<c027e968>] (exynos_drm_load+0x9c/0x13c)
[ 1.609802] [<c027e968>] (exynos_drm_load) from [<c0268fd4>] (drm_dev_register+0xa0/0xf4)
[ 1.617960] [<c0268fd4>] (drm_dev_register) from [<c026a8bc>] (drm_platform_init+0x44/0xcc)
[ 1.626293] [<c026a8bc>] (drm_platform_init) from [<c0288728>] (try_to_bring_up_master.part.3+0xc8/0x104)
[ 1.635839] [<c0288728>] (try_to_bring_up_master.part.3) from [<c0288918>] (component_master_add_with_match+0xcc/0x114)
[ 1.646602] [<c0288918>] (component_master_add_with_match) from [<c027eaf4>] (exynos_drm_platform_probe+0xec/0x114)
[ 1.657019] [<c027eaf4>] (exynos_drm_platform_probe) from [<c028da1c>] (platform_drv_probe+0x48/0x98)
[ 1.666221] [<c028da1c>] (platform_drv_probe) from [<c028c5f8>] (driver_probe_device+0x114/0x234)
[ 1.675075] [<c028c5f8>] (driver_probe_device) from [<c028c7a4>] (__driver_attach+0x8c/0x90)
[ 1.683494] [<c028c7a4>] (__driver_attach) from [<c028af74>] (bus_for_each_dev+0x54/0x88)
[ 1.691653] [<c028af74>] (bus_for_each_dev) from [<c028bde4>] (bus_add_driver+0xd8/0x1cc)
[ 1.699812] [<c028bde4>] (bus_add_driver) from [<c028cdc4>] (driver_register+0x78/0xf4)
[ 1.707797] [<c028cdc4>] (driver_register) from [<c027ebd8>] (exynos_drm_init+0xbc/0x110)
[ 1.715956] [<c027ebd8>] (exynos_drm_init) from [<c0008944>] (do_one_initcall+0x80/0x1d0)
[ 1.724117] [<c0008944>] (do_one_initcall) from [<c0647d40>] (kernel_init_freeable+0x108/0x1d4)
[ 1.732796] [<c0647d40>] (kernel_init_freeable) from [<c0469224>] (kernel_init+0x8/0xe4)
[ 1.740869] [<c0469224>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34)
[ 1.748419] Code: e3403110 11a02001 01a02003 eaffffe4 (e7f001f2)
[ 1.754502] ---[ end trace f58ad362326928d7 ]---
Signed-off-by: Javier Martinez Canillas <[email protected]>
---
arch/arm/configs/exynos_defconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
index 70e5d0bdb4e4..3d22aae39a83 100644
--- a/arch/arm/configs/exynos_defconfig
+++ b/arch/arm/configs/exynos_defconfig
@@ -176,7 +176,6 @@ CONFIG_PL330_DMA=y
CONFIG_COMMON_CLK_MAX77686=y
CONFIG_COMMON_CLK_MAX77802=y
CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_EXYNOS_IOMMU=y
CONFIG_EXTCON=y
CONFIG_EXTCON_MAX14577=y
CONFIG_EXTCON_MAX77693=y
--
2.1.3
On wto, 2015-02-17 at 12:38 +0100, Javier Martinez Canillas wrote:
> Enabling Exynos DRM IOMMU support for Exynos is currently broken and
> causes a BUG on exynos-iommu driver. This was not an issue since the
> options was disabled in exynos_defconfig but after commit 8dcc14f82f06
> ("drm/exynos: IOMMU support should not be selectable by user"), it is
> selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig.
>
> So a kernel built using exynos_defconfig after the mentioned commit
> fails to boot [0]. Disable IOMMU support in Exynos defconfig until
> things get sorted out.
On which board you got this error?
Best regards,
Krzysztof
Hello,
On 2015-02-17 12:38, Javier Martinez Canillas wrote:
> Enabling Exynos DRM IOMMU support for Exynos is currently broken and
> causes a BUG on exynos-iommu driver. This was not an issue since the
> options was disabled in exynos_defconfig but after commit 8dcc14f82f06
> ("drm/exynos: IOMMU support should not be selectable by user"), it is
> selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig.
>
> So a kernel built using exynos_defconfig after the mentioned commit
> fails to boot [0]. Disable IOMMU support in Exynos defconfig until
> things get sorted out.
>
> [0]:
> [ 1.242183] ------------[ cut here ]------------
> [ 1.246191] kernel BUG at drivers/iommu/exynos-iommu.c:481!
> [ 1.251747] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
> [ 1.257561] Modules linked in:
> [ 1.260603] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-07478-g796e1c55717e #490
> [ 1.268412] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [ 1.274489] task: ee06c000 ti: ee05a000 task.ti: ee05a000
> [ 1.279874] PC is at __exynos_sysmmu_enable+0x184/0x190
> [ 1.285080] LR is at exynos_iommu_attach_device+0x44/0xb0
> [ 1.290461] pc : [<c0254a14>] lr : [<c0254a64>] psr: 60000193
> [ 1.290461] sp : ee05bcf8 ip : 00000000 fp : ed84aa40
> [ 1.301916] r10: ed84a890 r9 : a0000113 r8 : 6db30000
> [ 1.307125] r7 : ed84aa40 r6 : 00000000 r5 : 00000000 r4 : ee174e10
> [ 1.313635] r3 : 6db30000 r2 : ed84aa40 r1 : 6db30000 r0 : ee174e10
> [ 1.320147] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
> [ 1.327524] Control: 10c5387d Table: 4000406a DAC: 00000015
> [ 1.333252] Process swapper/0 (pid: 1, stack limit = 0xee05a210)
> [ 1.339241] Stack: (0xee05bcf8 to 0xee05c000)
> [ 1.343581] bce0: 6db30000 ee174e10
> [ 1.351741] bd00: ed84a880 00000000 ed84aa40 ee174e10 a0000113 ed84a890 00000000 c0254a64
> [ 1.359900] bd20: 00000000 6db30000 ee174e10 ed84adc0 00000005 00000034 00000001 c0692c1c
> [ 1.368059] bd40: 00000097 c02526c8 ee29f050 c0017210 ee29f050 ee174e10 edab6810 c0282558
> [ 1.376219] bd60: edab6a10 ee1cb000 00000005 c0283520 ee29f240 c028f210 edab6810 ee2ef280
> [ 1.384378] bd80: edb24680 ed84a680 ee1cb000 c02883f8 edab6810 ee1cb000 ee1cb000 00000000
> [ 1.392537] bda0: ed84a680 ee2ef450 00000000 c027e968 ee1cb000 00000000 00000000 c0268fd4
> [ 1.400696] bdc0: edab6800 c06b0de4 ee1cb000 c026a8bc ee2ef0c0 c028f210 00000002 ee2ef460
> [ 1.408855] bde0: ee2ef460 00000002 ee2ef280 c0288728 c04af5d0 edab6810 ee2ef280 00000000
> [ 1.417014] be00: c06b1348 c0288918 c06b0f00 c06b0f00 edab6810 00000001 c06b0da0 c027eaf4
> [ 1.425173] be20: c070334c edaee190 00000000 edab6810 ffffffed c06b0da0 00000000 c028da1c
> [ 1.433332] be40: edab6810 c070334c 00000000 c028c5f8 edab6810 c06b0da0 edab6844 00000000
> [ 1.441492] be60: eda3c740 c028c7a4 c06b0da0 00000000 c028c718 c028af74 ee005274 ee3b7b40
> [ 1.449652] be80: c06b0da0 ee3b7680 c06b1540 c028bde4 c05b6990 c06b0da0 c0703324 c06b0da0
> [ 1.457811] bea0: c0703324 00000000 c069ab18 c028cdc4 00000000 00000000 c0703324 c027ebd8
> [ 1.465970] bec0: 00000000 c05b6990 ffffffff 00000000 00000000 00000000 00000000 c00c4574
> [ 1.474129] bee0: 00000000 00000000 c069ab18 c027eb1c 00000000 c069ab18 c069ab18 c0008944
> [ 1.482288] bf00: 00000036 c04770e8 ee049800 c06eace0 ee06c000 60000113 c069eab0 00000000
> [ 1.490447] bf20: 00000000 c069eab0 60000113 00000000 ef7fcabc ef7fcaae c061c594 c0038640
> [ 1.498607] bf40: c05cb1d0 c061bc24 00000006 00000006 c069ea50 c06724d4 00000006 c06724b4
> [ 1.506766] bf60: c06c7600 c0647588 c0692c1c 00000097 00000000 c0647d40 00000006 00000006
> [ 1.514925] bf80: c0647588 c003d2d8 00000000 c046921c 00000000 00000000 00000000 00000000
> [ 1.523084] bfa0: 00000000 c0469224 00000000 c000e680 00000000 00000000 00000000 00000000
> [ 1.531243] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [ 1.539402] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
> [ 1.547567] [<c0254a14>] (__exynos_sysmmu_enable) from [<c0254a64>] (exynos_iommu_attach_device+0x44/0xb0)
> [ 1.557199] [<c0254a64>] (exynos_iommu_attach_device) from [<c02526c8>] (iommu_attach_device+0x18/0x24)
> [ 1.566576] [<c02526c8>] (iommu_attach_device) from [<c0017210>] (arm_iommu_attach_device+0x18/0x50)
> [ 1.575690] [<c0017210>] (arm_iommu_attach_device) from [<c0282558>] (drm_iommu_attach_device+0x50/0xb4)
> [ 1.585150] [<c0282558>] (drm_iommu_attach_device) from [<c0283520>] (fimd_bind+0x94/0x1b8)
> [ 1.593483] [<c0283520>] (fimd_bind) from [<c02883f8>] (component_bind_all+0xb4/0x214)
> [ 1.601380] [<c02883f8>] (component_bind_all) from [<c027e968>] (exynos_drm_load+0x9c/0x13c)
> [ 1.609802] [<c027e968>] (exynos_drm_load) from [<c0268fd4>] (drm_dev_register+0xa0/0xf4)
> [ 1.617960] [<c0268fd4>] (drm_dev_register) from [<c026a8bc>] (drm_platform_init+0x44/0xcc)
> [ 1.626293] [<c026a8bc>] (drm_platform_init) from [<c0288728>] (try_to_bring_up_master.part.3+0xc8/0x104)
> [ 1.635839] [<c0288728>] (try_to_bring_up_master.part.3) from [<c0288918>] (component_master_add_with_match+0xcc/0x114)
> [ 1.646602] [<c0288918>] (component_master_add_with_match) from [<c027eaf4>] (exynos_drm_platform_probe+0xec/0x114)
> [ 1.657019] [<c027eaf4>] (exynos_drm_platform_probe) from [<c028da1c>] (platform_drv_probe+0x48/0x98)
> [ 1.666221] [<c028da1c>] (platform_drv_probe) from [<c028c5f8>] (driver_probe_device+0x114/0x234)
> [ 1.675075] [<c028c5f8>] (driver_probe_device) from [<c028c7a4>] (__driver_attach+0x8c/0x90)
> [ 1.683494] [<c028c7a4>] (__driver_attach) from [<c028af74>] (bus_for_each_dev+0x54/0x88)
> [ 1.691653] [<c028af74>] (bus_for_each_dev) from [<c028bde4>] (bus_add_driver+0xd8/0x1cc)
> [ 1.699812] [<c028bde4>] (bus_add_driver) from [<c028cdc4>] (driver_register+0x78/0xf4)
> [ 1.707797] [<c028cdc4>] (driver_register) from [<c027ebd8>] (exynos_drm_init+0xbc/0x110)
> [ 1.715956] [<c027ebd8>] (exynos_drm_init) from [<c0008944>] (do_one_initcall+0x80/0x1d0)
> [ 1.724117] [<c0008944>] (do_one_initcall) from [<c0647d40>] (kernel_init_freeable+0x108/0x1d4)
> [ 1.732796] [<c0647d40>] (kernel_init_freeable) from [<c0469224>] (kernel_init+0x8/0xe4)
> [ 1.740869] [<c0469224>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34)
> [ 1.748419] Code: e3403110 11a02001 01a02003 eaffffe4 (e7f001f2)
> [ 1.754502] ---[ end trace f58ad362326928d7 ]---
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
Acked-by: Marek Szyprowski <[email protected]>
Right, it is better to disable it in defconfig to give users system
which at least boots correctly.
> ---
> arch/arm/configs/exynos_defconfig | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/arch/arm/configs/exynos_defconfig b/arch/arm/configs/exynos_defconfig
> index 70e5d0bdb4e4..3d22aae39a83 100644
> --- a/arch/arm/configs/exynos_defconfig
> +++ b/arch/arm/configs/exynos_defconfig
> @@ -176,7 +176,6 @@ CONFIG_PL330_DMA=y
> CONFIG_COMMON_CLK_MAX77686=y
> CONFIG_COMMON_CLK_MAX77802=y
> CONFIG_COMMON_CLK_S2MPS11=y
> -CONFIG_EXYNOS_IOMMU=y
> CONFIG_EXTCON=y
> CONFIG_EXTCON_MAX14577=y
> CONFIG_EXTCON_MAX77693=y
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Hello Krzysztof,
On 02/17/2015 01:20 PM, Krzysztof Kozlowski wrote:
> On wto, 2015-02-17 at 12:38 +0100, Javier Martinez Canillas wrote:
>> Enabling Exynos DRM IOMMU support for Exynos is currently broken and
>> causes a BUG on exynos-iommu driver. This was not an issue since the
>> options was disabled in exynos_defconfig but after commit 8dcc14f82f06
>> ("drm/exynos: IOMMU support should not be selectable by user"), it is
>> selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig.
>>
>> So a kernel built using exynos_defconfig after the mentioned commit
>> fails to boot [0]. Disable IOMMU support in Exynos defconfig until
>> things get sorted out.
>
> On which board you got this error?
>
Sorry, I should had mention it in the commit message. I get that error
with at least Exynos5800 Peach Pi, Exynos5420 Peach Pit and Exynos5250
Snow Chromebooks with today's next (next-20150217).
The problem is that the Exynos IOMMU driver does not set a struct
exynos_iommu_owner in dev.archdata.iommu but __exynos_sysmmu_enable()
has a BUG_ON(!has_sysmmu(dev)).
Marek's series [1] solves this issue by filling sysmmu devices from DT
but causes boot failures on the Exynos Chromebooks because the display
is left enabled by the bootloader [2].
So I think that this option should be disabled until is known to not
cause issues on any platform.
> Best regards,
> Krzysztof
>
[1]: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/319244.html
[2]: http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/319293.html
On wto, 2015-02-17 at 13:56 +0100, Javier Martinez Canillas wrote:
> Hello Krzysztof,
>
> On 02/17/2015 01:20 PM, Krzysztof Kozlowski wrote:
> > On wto, 2015-02-17 at 12:38 +0100, Javier Martinez Canillas wrote:
> >> Enabling Exynos DRM IOMMU support for Exynos is currently broken and
> >> causes a BUG on exynos-iommu driver. This was not an issue since the
> >> options was disabled in exynos_defconfig but after commit 8dcc14f82f06
> >> ("drm/exynos: IOMMU support should not be selectable by user"), it is
> >> selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig.
> >>
> >> So a kernel built using exynos_defconfig after the mentioned commit
> >> fails to boot [0]. Disable IOMMU support in Exynos defconfig until
> >> things get sorted out.
> >
> > On which board you got this error?
> >
>
> Sorry, I should had mention it in the commit message. I get that error
> with at least Exynos5800 Peach Pi, Exynos5420 Peach Pit and Exynos5250
> Snow Chromebooks with today's next (next-20150217).
>
> The problem is that the Exynos IOMMU driver does not set a struct
> exynos_iommu_owner in dev.archdata.iommu but __exynos_sysmmu_enable()
> has a BUG_ON(!has_sysmmu(dev)).
>
> Marek's series [1] solves this issue by filling sysmmu devices from DT
> but causes boot failures on the Exynos Chromebooks because the display
> is left enabled by the bootloader [2].
>
> So I think that this option should be disabled until is known to not
> cause issues on any platform.
Sure, I am completely fine with that change. I just wanted to know the
hardware.
Anyway Marek already acked this I won't duplicate the effort :).
Best regards,
Krzysztof
Hello Kukjin,
On 02/17/2015 12:38 PM, Javier Martinez Canillas wrote:
> Enabling Exynos DRM IOMMU support for Exynos is currently broken and
> causes a BUG on exynos-iommu driver. This was not an issue since the
> options was disabled in exynos_defconfig but after commit 8dcc14f82f06
> ("drm/exynos: IOMMU support should not be selectable by user"), it is
> selected if EXYNOS_IOMMU is enabled which is in exynos_defconfig.
>
> So a kernel built using exynos_defconfig after the mentioned commit
> fails to boot [0]. Disable IOMMU support in Exynos defconfig until
> things get sorted out.
>
> [0]:
> [ 1.242183] ------------[ cut here ]------------
> [ 1.246191] kernel BUG at drivers/iommu/exynos-iommu.c:481!
> [ 1.251747] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
> [ 1.257561] Modules linked in:
> [ 1.260603] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-07478-g796e1c55717e #490
> [ 1.268412] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [ 1.274489] task: ee06c000 ti: ee05a000 task.ti: ee05a000
> [ 1.279874] PC is at __exynos_sysmmu_enable+0x184/0x190
> [ 1.285080] LR is at exynos_iommu_attach_device+0x44/0xb0
> [ 1.290461] pc : [<c0254a14>] lr : [<c0254a64>] psr: 60000193
> [ 1.290461] sp : ee05bcf8 ip : 00000000 fp : ed84aa40
> [ 1.301916] r10: ed84a890 r9 : a0000113 r8 : 6db30000
> [ 1.307125] r7 : ed84aa40 r6 : 00000000 r5 : 00000000 r4 : ee174e10
> [ 1.313635] r3 : 6db30000 r2 : ed84aa40 r1 : 6db30000 r0 : ee174e10
> [ 1.320147] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
> [ 1.327524] Control: 10c5387d Table: 4000406a DAC: 00000015
> [ 1.333252] Process swapper/0 (pid: 1, stack limit = 0xee05a210)
> [ 1.339241] Stack: (0xee05bcf8 to 0xee05c000)
> [ 1.343581] bce0: 6db30000 ee174e10
> [ 1.351741] bd00: ed84a880 00000000 ed84aa40 ee174e10 a0000113 ed84a890 00000000 c0254a64
> [ 1.359900] bd20: 00000000 6db30000 ee174e10 ed84adc0 00000005 00000034 00000001 c0692c1c
> [ 1.368059] bd40: 00000097 c02526c8 ee29f050 c0017210 ee29f050 ee174e10 edab6810 c0282558
> [ 1.376219] bd60: edab6a10 ee1cb000 00000005 c0283520 ee29f240 c028f210 edab6810 ee2ef280
> [ 1.384378] bd80: edb24680 ed84a680 ee1cb000 c02883f8 edab6810 ee1cb000 ee1cb000 00000000
> [ 1.392537] bda0: ed84a680 ee2ef450 00000000 c027e968 ee1cb000 00000000 00000000 c0268fd4
> [ 1.400696] bdc0: edab6800 c06b0de4 ee1cb000 c026a8bc ee2ef0c0 c028f210 00000002 ee2ef460
> [ 1.408855] bde0: ee2ef460 00000002 ee2ef280 c0288728 c04af5d0 edab6810 ee2ef280 00000000
> [ 1.417014] be00: c06b1348 c0288918 c06b0f00 c06b0f00 edab6810 00000001 c06b0da0 c027eaf4
> [ 1.425173] be20: c070334c edaee190 00000000 edab6810 ffffffed c06b0da0 00000000 c028da1c
> [ 1.433332] be40: edab6810 c070334c 00000000 c028c5f8 edab6810 c06b0da0 edab6844 00000000
> [ 1.441492] be60: eda3c740 c028c7a4 c06b0da0 00000000 c028c718 c028af74 ee005274 ee3b7b40
> [ 1.449652] be80: c06b0da0 ee3b7680 c06b1540 c028bde4 c05b6990 c06b0da0 c0703324 c06b0da0
> [ 1.457811] bea0: c0703324 00000000 c069ab18 c028cdc4 00000000 00000000 c0703324 c027ebd8
> [ 1.465970] bec0: 00000000 c05b6990 ffffffff 00000000 00000000 00000000 00000000 c00c4574
> [ 1.474129] bee0: 00000000 00000000 c069ab18 c027eb1c 00000000 c069ab18 c069ab18 c0008944
> [ 1.482288] bf00: 00000036 c04770e8 ee049800 c06eace0 ee06c000 60000113 c069eab0 00000000
> [ 1.490447] bf20: 00000000 c069eab0 60000113 00000000 ef7fcabc ef7fcaae c061c594 c0038640
> [ 1.498607] bf40: c05cb1d0 c061bc24 00000006 00000006 c069ea50 c06724d4 00000006 c06724b4
> [ 1.506766] bf60: c06c7600 c0647588 c0692c1c 00000097 00000000 c0647d40 00000006 00000006
> [ 1.514925] bf80: c0647588 c003d2d8 00000000 c046921c 00000000 00000000 00000000 00000000
> [ 1.523084] bfa0: 00000000 c0469224 00000000 c000e680 00000000 00000000 00000000 00000000
> [ 1.531243] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
> [ 1.539402] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
> [ 1.547567] [<c0254a14>] (__exynos_sysmmu_enable) from [<c0254a64>] (exynos_iommu_attach_device+0x44/0xb0)
> [ 1.557199] [<c0254a64>] (exynos_iommu_attach_device) from [<c02526c8>] (iommu_attach_device+0x18/0x24)
> [ 1.566576] [<c02526c8>] (iommu_attach_device) from [<c0017210>] (arm_iommu_attach_device+0x18/0x50)
> [ 1.575690] [<c0017210>] (arm_iommu_attach_device) from [<c0282558>] (drm_iommu_attach_device+0x50/0xb4)
> [ 1.585150] [<c0282558>] (drm_iommu_attach_device) from [<c0283520>] (fimd_bind+0x94/0x1b8)
> [ 1.593483] [<c0283520>] (fimd_bind) from [<c02883f8>] (component_bind_all+0xb4/0x214)
> [ 1.601380] [<c02883f8>] (component_bind_all) from [<c027e968>] (exynos_drm_load+0x9c/0x13c)
> [ 1.609802] [<c027e968>] (exynos_drm_load) from [<c0268fd4>] (drm_dev_register+0xa0/0xf4)
> [ 1.617960] [<c0268fd4>] (drm_dev_register) from [<c026a8bc>] (drm_platform_init+0x44/0xcc)
> [ 1.626293] [<c026a8bc>] (drm_platform_init) from [<c0288728>] (try_to_bring_up_master.part.3+0xc8/0x104)
> [ 1.635839] [<c0288728>] (try_to_bring_up_master.part.3) from [<c0288918>] (component_master_add_with_match+0xcc/0x114)
> [ 1.646602] [<c0288918>] (component_master_add_with_match) from [<c027eaf4>] (exynos_drm_platform_probe+0xec/0x114)
> [ 1.657019] [<c027eaf4>] (exynos_drm_platform_probe) from [<c028da1c>] (platform_drv_probe+0x48/0x98)
> [ 1.666221] [<c028da1c>] (platform_drv_probe) from [<c028c5f8>] (driver_probe_device+0x114/0x234)
> [ 1.675075] [<c028c5f8>] (driver_probe_device) from [<c028c7a4>] (__driver_attach+0x8c/0x90)
> [ 1.683494] [<c028c7a4>] (__driver_attach) from [<c028af74>] (bus_for_each_dev+0x54/0x88)
> [ 1.691653] [<c028af74>] (bus_for_each_dev) from [<c028bde4>] (bus_add_driver+0xd8/0x1cc)
> [ 1.699812] [<c028bde4>] (bus_add_driver) from [<c028cdc4>] (driver_register+0x78/0xf4)
> [ 1.707797] [<c028cdc4>] (driver_register) from [<c027ebd8>] (exynos_drm_init+0xbc/0x110)
> [ 1.715956] [<c027ebd8>] (exynos_drm_init) from [<c0008944>] (do_one_initcall+0x80/0x1d0)
> [ 1.724117] [<c0008944>] (do_one_initcall) from [<c0647d40>] (kernel_init_freeable+0x108/0x1d4)
> [ 1.732796] [<c0647d40>] (kernel_init_freeable) from [<c0469224>] (kernel_init+0x8/0xe4)
> [ 1.740869] [<c0469224>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34)
> [ 1.748419] Code: e3403110 11a02001 01a02003 eaffffe4 (e7f001f2)
> [ 1.754502] ---[ end trace f58ad362326928d7 ]---
>
> Signed-off-by: Javier Martinez Canillas <[email protected]>
Can you please pick this patch? linux-next is still broken for many Exynos
boards after commit 8dcc14f82f06 ("drm/exynos: IOMMU support should not be
selectable by user") so we need to disable IOMMU support on Exynos to make
them boot again.
Here are boot logs of some boards that are affected by this issue:
http://storage.kernelci.org/samsung/v4.0-rc1-44-g6a05e2a77140/arm-exynos_defconfig/lab-tbaker/boot-exynos5250-arndale.html
http://storage.kernelci.org/samsung/v4.0-rc1-28-g55a4c031ed15/arm-exynos_defconfig/lab-collabora/boot-exynos5800-peach-pi.html
http://storage.kernelci.org/samsung/v4.0-rc1-28-g55a4c031ed15/arm-exynos_defconfig/lab-collabora/boot-exynos5250-snow.html
Also there are other exynos_defconfig patches that have been in the list:
* [PATCH 1/1] ARM: exynos_defconfig: Enable HDMI support
https://lkml.org/lkml/2015/2/6/531
* [PATCH] ARM: exynos_defconfig: Enable Marvell WiFi-Ex support
https://lkml.org/lkml/2015/2/15/59
Thanks a lot and best regards,
Javier