[PATCH 2/2] drm/exynos: fix the initialization order in FIMD

2015-04-01 Thread Hyungwon Hwang
Dear Joonyoung Shim,

On Tue, 31 Mar 2015 17:05:47 +0900
Joonyoung Shim  wrote:

> Hi,
> 
> Sorry for late comments.
> 
> On 03/13/2015 07:32 PM, Inki Dae wrote:
> > On 2015년 03월 12일 13:36, Hyungwon Hwang wrote:
> >> Since commit 0f04cf8df0b20a97369cb634663fef0578cbf273 ("drm/exynos:
> >> fix wrong pipe calculation for crtc"), fimd_clear_channel() can be
> >> called when is_drm_iommu_supported() returns true. In this case,
> >> the kernel is going to be panicked because crtc is not set yet.
> > 
> > Nice catch!!!
> > 
> >>
> >> [1.211156] [drm] Initialized drm 1.1.0 20060810
> >> [1.216785] Unable to handle kernel NULL pointer dereference at
> >> virtual address 0350 [1.223415] pgd = c0004000
> >> [1.226086] [0350] *pgd=
> >> [1.229649] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> >> [1.234940] Modules linked in:
> >> [1.237982] CPU: 2 PID: 1 Comm: swapper/0 Not tainted
> >> 4.0.0-rc1-00062-g7a7cc79-dirty #123 [1.246136] Hardware name:
> >> SAMSUNG EXYNOS (Flattened Device Tree) [1.252214] task:
> >> ee8c8000 ti: ee8d task.ti: ee8d [1.257606] PC is at
> >> fimd_wait_for_vblank+0x8/0xc8 [1.262370] LR is at
> >> fimd_bind+0x138/0x1a8 [1.266450] pc : []lr :
> >> []psr: 2113 [1.266450] sp : ee8d1d28  ip :
> >>   fp :  [1.277906] r10: 0001  r9 :
> >> c09d693c  r8 : c0a2d6a8 [1.283114] r7 : 0034  r6 :
> >> 0001  r5 : ee0bb400  r4 : ee244c10 [1.289624] r3 :
> >>   r2 :   r1 : 0001  r0 : 
> >> [1.296135] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA
> >> ARM  Segment kernel [1.303426] Control: 10c5387d  Table:
> >> 4000404a  DAC: 0015 [1.309154] Process swapper/0 (pid: 1,
> >> stack limit = 0xee8d0210) [1.315143] Stack: (0xee8d1d28 to
> >> 0xee8d2000) [1.319486] 1d20:   
> >> c0113d18 ee0bb400 ee0bb400 ee245c30 eebbe210 [1.327645] 1d40:
> >> ee008a40 ee244c10 ee0bb400 0001 0034 c02fb834 
> >> c030a858 [1.335804] 1d60: ee244a10 eeb60780 ee008a40 eeb60740
> >> ee0bb400 c03030d0   [1.343963] 1d80: ee244a10
> >> ee0bb400  eeb60740 eeb60810   c02f6ba4
> >> [1.352123] 1da0: ee0bb400   c02e0500 ee244a00
> >> c0a04a14 ee0bb400 c02e1de4 [1.360282] 1dc0:  c030a858
> >> 0002 eeb60820 eeb60820 0002 eeb60780 c03033d4
> >> [1.368441] 1de0: c06e9cec  ee244a10 eeb60780 c0a056f8
> >> c03035fc c0a04b24 c0a04b24 [1.376600] 1e00: ee244a10 0001
> >> c0a049d0 c02f6d34 c0ad462c eeba0790  ee244a10
> >> [1.384759] 1e20: ffed c0a049d0  c03090b0 ee244a10
> >> c0ad462c c0a2d840 c03077a0 [1.392919] 1e40: eeb5e880 c024b738
> >> 08db ee244a10 c0a049d0 ee244a44  c09e71d8
> >> [1.401078] 1e60: 00c6 c0307a6c c0a049d0  c03079e0
> >> c0305ea8 ee826e5c ee1dc7b4 [1.409237] 1e80: c0a049d0 eeb5e880
> >> c0a058a8 c0306e2c c0896204 c0a049d0 c06e9d10 c0a049d0
> >> [1.417396] 1ea0: c06e9d10 c0ad4600  c0308360 
> >> 0003 c06e9d10 c02f6e14 [1.42] 1ec0:  c0896204
> >>      
> >> [1.433714] 1ee0:   c02f6d5c c02f6d5c 
> >> eeb5d740 c09e71d8 c0008a30 [1.441874] 1f00: ef7fca5e 
> >>  0066  ee8d1f28 c003ff1c c02514e8
> >> [1.450033] 1f20: 6113  c093906c ef7fca5e 00c6
> >> c004018c  c093906c [1.458192] 1f40: c08a9690 c093840c
> >> 0006 0006 c09eb2ac c09c0d74 0006 c09c0d54
> >> [1.466351] 1f60: c0a3d680 c09745a0 c09d693c 00c6 
> >> c0974db4 0006 0006 [1.474510] 1f80: c09745a0 
> >>  c0692e00    
> >> [1.482669] 1fa0:  c0692e08  c000f040 
> >>    [1.490828] 1fc0:  
> >>      
> >> [1.498988] 1fe0:     0013
> >>    [1.507159] []
> >> (fimd_wait_for_vblank) from [] (fimd_bind+0x138/0x1a8)
> >> [1.515313] [] (fimd_bind) from []
> >> (component_bind_all+0xc4/0x20c) [1.523209] []
> >> (component_bind_all) from []
> >> (exynos_drm_load+0xa0/0x140) [1.531632] []
> >> (exynos_drm_load) from [] (drm_dev_register+0xa0/0xf4)
> >> [1.539788] [] (drm_dev_register) from []
> >> (drm_platform_init+0x44/0xcc) [1.548121] []
> >> (drm_platform_init) from []
> >> (try_to_bring_up_master.part.1+0xc8/0x104) [1.557668]
> >> [] (try_to_bring_up_master.part.1) from []
> >> (component_master_add_with_match+0xd0/0x118) [1.568431]
> >> [] (component_master_add_with_match) from []
> >> (exynos_drm_platform_probe+0xf0/0x118) [1.578847] []
> >> (exynos_drm_platform_probe) from []
> >> (platform_drv_probe+0x48/0x98) [

[PATCH 2/2] drm/exynos: fix the initialization order in FIMD

2015-03-31 Thread Joonyoung Shim
Hi,

Sorry for late comments.

On 03/13/2015 07:32 PM, Inki Dae wrote:
> On 2015년 03월 12일 13:36, Hyungwon Hwang wrote:
>> Since commit 0f04cf8df0b20a97369cb634663fef0578cbf273 ("drm/exynos:
>> fix wrong pipe calculation for crtc"), fimd_clear_channel() can be
>> called when is_drm_iommu_supported() returns true. In this case,
>> the kernel is going to be panicked because crtc is not set yet.
> 
> Nice catch!!!
> 
>>
>> [1.211156] [drm] Initialized drm 1.1.0 20060810
>> [1.216785] Unable to handle kernel NULL pointer dereference at virtual 
>> address 0350
>> [1.223415] pgd = c0004000
>> [1.226086] [0350] *pgd=
>> [1.229649] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
>> [1.234940] Modules linked in:
>> [1.237982] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 
>> 4.0.0-rc1-00062-g7a7cc79-dirty #123
>> [1.246136] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>> [1.252214] task: ee8c8000 ti: ee8d task.ti: ee8d
>> [1.257606] PC is at fimd_wait_for_vblank+0x8/0xc8
>> [1.262370] LR is at fimd_bind+0x138/0x1a8
>> [1.266450] pc : []lr : []psr: 2113
>> [1.266450] sp : ee8d1d28  ip :   fp : 
>> [1.277906] r10: 0001  r9 : c09d693c  r8 : c0a2d6a8
>> [1.283114] r7 : 0034  r6 : 0001  r5 : ee0bb400  r4 : ee244c10
>> [1.289624] r3 :   r2 :   r1 : 0001  r0 : 
>> [1.296135] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
>> kernel
>> [1.303426] Control: 10c5387d  Table: 4000404a  DAC: 0015
>> [1.309154] Process swapper/0 (pid: 1, stack limit = 0xee8d0210)
>> [1.315143] Stack: (0xee8d1d28 to 0xee8d2000)
>> [1.319486] 1d20:    c0113d18 ee0bb400 ee0bb400 
>> ee245c30 eebbe210
>> [1.327645] 1d40: ee008a40 ee244c10 ee0bb400 0001 0034 c02fb834 
>>  c030a858
>> [1.335804] 1d60: ee244a10 eeb60780 ee008a40 eeb60740 ee0bb400 c03030d0 
>>  
>> [1.343963] 1d80: ee244a10 ee0bb400  eeb60740 eeb60810  
>>  c02f6ba4
>> [1.352123] 1da0: ee0bb400   c02e0500 ee244a00 c0a04a14 
>> ee0bb400 c02e1de4
>> [1.360282] 1dc0:  c030a858 0002 eeb60820 eeb60820 0002 
>> eeb60780 c03033d4
>> [1.368441] 1de0: c06e9cec  ee244a10 eeb60780 c0a056f8 c03035fc 
>> c0a04b24 c0a04b24
>> [1.376600] 1e00: ee244a10 0001 c0a049d0 c02f6d34 c0ad462c eeba0790 
>>  ee244a10
>> [1.384759] 1e20: ffed c0a049d0  c03090b0 ee244a10 c0ad462c 
>> c0a2d840 c03077a0
>> [1.392919] 1e40: eeb5e880 c024b738 08db ee244a10 c0a049d0 ee244a44 
>>  c09e71d8
>> [1.401078] 1e60: 00c6 c0307a6c c0a049d0  c03079e0 c0305ea8 
>> ee826e5c ee1dc7b4
>> [1.409237] 1e80: c0a049d0 eeb5e880 c0a058a8 c0306e2c c0896204 c0a049d0 
>> c06e9d10 c0a049d0
>> [1.417396] 1ea0: c06e9d10 c0ad4600  c0308360  0003 
>> c06e9d10 c02f6e14
>> [1.42] 1ec0:  c0896204     
>>  
>> [1.433714] 1ee0:   c02f6d5c c02f6d5c  eeb5d740 
>> c09e71d8 c0008a30
>> [1.441874] 1f00: ef7fca5e   0066  ee8d1f28 
>> c003ff1c c02514e8
>> [1.450033] 1f20: 6113  c093906c ef7fca5e 00c6 c004018c 
>>  c093906c
>> [1.458192] 1f40: c08a9690 c093840c 0006 0006 c09eb2ac c09c0d74 
>> 0006 c09c0d54
>> [1.466351] 1f60: c0a3d680 c09745a0 c09d693c 00c6  c0974db4 
>> 0006 0006
>> [1.474510] 1f80: c09745a0   c0692e00   
>>  
>> [1.482669] 1fa0:  c0692e08  c000f040   
>>  
>> [1.490828] 1fc0:       
>>  
>> [1.498988] 1fe0:     0013  
>>  
>> [1.507159] [] (fimd_wait_for_vblank) from [] 
>> (fimd_bind+0x138/0x1a8)
>> [1.515313] [] (fimd_bind) from [] 
>> (component_bind_all+0xc4/0x20c)
>> [1.523209] [] (component_bind_all) from [] 
>> (exynos_drm_load+0xa0/0x140)
>> [1.531632] [] (exynos_drm_load) from [] 
>> (drm_dev_register+0xa0/0xf4)
>> [1.539788] [] (drm_dev_register) from [] 
>> (drm_platform_init+0x44/0xcc)
>> [1.548121] [] (drm_platform_init) from [] 
>> (try_to_bring_up_master.part.1+0xc8/0x104)
>> [1.557668] [] (try_to_bring_up_master.part.1) from 
>> [] (component_master_add_with_match+0xd0/0x118)
>> [1.568431] [] (component_master_add_with_match) from 
>> [] (exynos_drm_platform_probe+0xf0/0x118)
>> [1.578847] [] (exynos_drm_platform_probe) from [] 
>> (platform_drv_probe+0x48/0x98)
>> [1.588052] [] (platform_drv_probe) from [] 
>> (driver_probe_device+0x140/0x380)
>> [1.596902] [] (driver_probe_device) from [] 
>> (__driver_attach+0x8c/0x90)
>> [

[PATCH 2/2] drm/exynos: fix the initialization order in FIMD

2015-03-13 Thread Inki Dae
On 2015년 03월 12일 13:36, Hyungwon Hwang wrote:
> Since commit 0f04cf8df0b20a97369cb634663fef0578cbf273 ("drm/exynos:
> fix wrong pipe calculation for crtc"), fimd_clear_channel() can be
> called when is_drm_iommu_supported() returns true. In this case,
> the kernel is going to be panicked because crtc is not set yet.

Nice catch!!!

> 
> [1.211156] [drm] Initialized drm 1.1.0 20060810
> [1.216785] Unable to handle kernel NULL pointer dereference at virtual 
> address 0350
> [1.223415] pgd = c0004000
> [1.226086] [0350] *pgd=
> [1.229649] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> [1.234940] Modules linked in:
> [1.237982] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 
> 4.0.0-rc1-00062-g7a7cc79-dirty #123
> [1.246136] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [1.252214] task: ee8c8000 ti: ee8d task.ti: ee8d
> [1.257606] PC is at fimd_wait_for_vblank+0x8/0xc8
> [1.262370] LR is at fimd_bind+0x138/0x1a8
> [1.266450] pc : []lr : []psr: 2113
> [1.266450] sp : ee8d1d28  ip :   fp : 
> [1.277906] r10: 0001  r9 : c09d693c  r8 : c0a2d6a8
> [1.283114] r7 : 0034  r6 : 0001  r5 : ee0bb400  r4 : ee244c10
> [1.289624] r3 :   r2 :   r1 : 0001  r0 : 
> [1.296135] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
> kernel
> [1.303426] Control: 10c5387d  Table: 4000404a  DAC: 0015
> [1.309154] Process swapper/0 (pid: 1, stack limit = 0xee8d0210)
> [1.315143] Stack: (0xee8d1d28 to 0xee8d2000)
> [1.319486] 1d20:    c0113d18 ee0bb400 ee0bb400 
> ee245c30 eebbe210
> [1.327645] 1d40: ee008a40 ee244c10 ee0bb400 0001 0034 c02fb834 
>  c030a858
> [1.335804] 1d60: ee244a10 eeb60780 ee008a40 eeb60740 ee0bb400 c03030d0 
>  
> [1.343963] 1d80: ee244a10 ee0bb400  eeb60740 eeb60810  
>  c02f6ba4
> [1.352123] 1da0: ee0bb400   c02e0500 ee244a00 c0a04a14 
> ee0bb400 c02e1de4
> [1.360282] 1dc0:  c030a858 0002 eeb60820 eeb60820 0002 
> eeb60780 c03033d4
> [1.368441] 1de0: c06e9cec  ee244a10 eeb60780 c0a056f8 c03035fc 
> c0a04b24 c0a04b24
> [1.376600] 1e00: ee244a10 0001 c0a049d0 c02f6d34 c0ad462c eeba0790 
>  ee244a10
> [1.384759] 1e20: ffed c0a049d0  c03090b0 ee244a10 c0ad462c 
> c0a2d840 c03077a0
> [1.392919] 1e40: eeb5e880 c024b738 08db ee244a10 c0a049d0 ee244a44 
>  c09e71d8
> [1.401078] 1e60: 00c6 c0307a6c c0a049d0  c03079e0 c0305ea8 
> ee826e5c ee1dc7b4
> [1.409237] 1e80: c0a049d0 eeb5e880 c0a058a8 c0306e2c c0896204 c0a049d0 
> c06e9d10 c0a049d0
> [1.417396] 1ea0: c06e9d10 c0ad4600  c0308360  0003 
> c06e9d10 c02f6e14
> [1.42] 1ec0:  c0896204     
>  
> [1.433714] 1ee0:   c02f6d5c c02f6d5c  eeb5d740 
> c09e71d8 c0008a30
> [1.441874] 1f00: ef7fca5e   0066  ee8d1f28 
> c003ff1c c02514e8
> [1.450033] 1f20: 6113  c093906c ef7fca5e 00c6 c004018c 
>  c093906c
> [1.458192] 1f40: c08a9690 c093840c 0006 0006 c09eb2ac c09c0d74 
> 0006 c09c0d54
> [1.466351] 1f60: c0a3d680 c09745a0 c09d693c 00c6  c0974db4 
> 0006 0006
> [1.474510] 1f80: c09745a0   c0692e00   
>  
> [1.482669] 1fa0:  c0692e08  c000f040   
>  
> [1.490828] 1fc0:       
>  
> [1.498988] 1fe0:     0013  
>  
> [1.507159] [] (fimd_wait_for_vblank) from [] 
> (fimd_bind+0x138/0x1a8)
> [1.515313] [] (fimd_bind) from [] 
> (component_bind_all+0xc4/0x20c)
> [1.523209] [] (component_bind_all) from [] 
> (exynos_drm_load+0xa0/0x140)
> [1.531632] [] (exynos_drm_load) from [] 
> (drm_dev_register+0xa0/0xf4)
> [1.539788] [] (drm_dev_register) from [] 
> (drm_platform_init+0x44/0xcc)
> [1.548121] [] (drm_platform_init) from [] 
> (try_to_bring_up_master.part.1+0xc8/0x104)
> [1.557668] [] (try_to_bring_up_master.part.1) from [] 
> (component_master_add_with_match+0xd0/0x118)
> [1.568431] [] (component_master_add_with_match) from 
> [] (exynos_drm_platform_probe+0xf0/0x118)
> [1.578847] [] (exynos_drm_platform_probe) from [] 
> (platform_drv_probe+0x48/0x98)
> [1.588052] [] (platform_drv_probe) from [] 
> (driver_probe_device+0x140/0x380)
> [1.596902] [] (driver_probe_device) from [] 
> (__driver_attach+0x8c/0x90)
> [1.605321] [] (__driver_attach) from [] 
> (bus_for_each_dev+0x54/0x88)
> [1.613480] [] (bus_for_each_dev) from [] 
> (bus_add_driver+0xec/0x200)
> [1.621640] [] 

[PATCH 2/2] drm/exynos: fix the initialization order in FIMD

2015-03-12 Thread Hyungwon Hwang
Since commit 0f04cf8df0b20a97369cb634663fef0578cbf273 ("drm/exynos:
fix wrong pipe calculation for crtc"), fimd_clear_channel() can be
called when is_drm_iommu_supported() returns true. In this case,
the kernel is going to be panicked because crtc is not set yet.

[1.211156] [drm] Initialized drm 1.1.0 20060810
[1.216785] Unable to handle kernel NULL pointer dereference at virtual 
address 0350
[1.223415] pgd = c0004000
[1.226086] [0350] *pgd=
[1.229649] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[1.234940] Modules linked in:
[1.237982] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 
4.0.0-rc1-00062-g7a7cc79-dirty #123
[1.246136] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[1.252214] task: ee8c8000 ti: ee8d task.ti: ee8d
[1.257606] PC is at fimd_wait_for_vblank+0x8/0xc8
[1.262370] LR is at fimd_bind+0x138/0x1a8
[1.266450] pc : []lr : []psr: 2113
[1.266450] sp : ee8d1d28  ip :   fp : 
[1.277906] r10: 0001  r9 : c09d693c  r8 : c0a2d6a8
[1.283114] r7 : 0034  r6 : 0001  r5 : ee0bb400  r4 : ee244c10
[1.289624] r3 :   r2 :   r1 : 0001  r0 : 
[1.296135] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment 
kernel
[1.303426] Control: 10c5387d  Table: 4000404a  DAC: 0015
[1.309154] Process swapper/0 (pid: 1, stack limit = 0xee8d0210)
[1.315143] Stack: (0xee8d1d28 to 0xee8d2000)
[1.319486] 1d20:    c0113d18 ee0bb400 ee0bb400 
ee245c30 eebbe210
[1.327645] 1d40: ee008a40 ee244c10 ee0bb400 0001 0034 c02fb834 
 c030a858
[1.335804] 1d60: ee244a10 eeb60780 ee008a40 eeb60740 ee0bb400 c03030d0 
 
[1.343963] 1d80: ee244a10 ee0bb400  eeb60740 eeb60810  
 c02f6ba4
[1.352123] 1da0: ee0bb400   c02e0500 ee244a00 c0a04a14 
ee0bb400 c02e1de4
[1.360282] 1dc0:  c030a858 0002 eeb60820 eeb60820 0002 
eeb60780 c03033d4
[1.368441] 1de0: c06e9cec  ee244a10 eeb60780 c0a056f8 c03035fc 
c0a04b24 c0a04b24
[1.376600] 1e00: ee244a10 0001 c0a049d0 c02f6d34 c0ad462c eeba0790 
 ee244a10
[1.384759] 1e20: ffed c0a049d0  c03090b0 ee244a10 c0ad462c 
c0a2d840 c03077a0
[1.392919] 1e40: eeb5e880 c024b738 08db ee244a10 c0a049d0 ee244a44 
 c09e71d8
[1.401078] 1e60: 00c6 c0307a6c c0a049d0  c03079e0 c0305ea8 
ee826e5c ee1dc7b4
[1.409237] 1e80: c0a049d0 eeb5e880 c0a058a8 c0306e2c c0896204 c0a049d0 
c06e9d10 c0a049d0
[1.417396] 1ea0: c06e9d10 c0ad4600  c0308360  0003 
c06e9d10 c02f6e14
[1.42] 1ec0:  c0896204     
 
[1.433714] 1ee0:   c02f6d5c c02f6d5c  eeb5d740 
c09e71d8 c0008a30
[1.441874] 1f00: ef7fca5e   0066  ee8d1f28 
c003ff1c c02514e8
[1.450033] 1f20: 6113  c093906c ef7fca5e 00c6 c004018c 
 c093906c
[1.458192] 1f40: c08a9690 c093840c 0006 0006 c09eb2ac c09c0d74 
0006 c09c0d54
[1.466351] 1f60: c0a3d680 c09745a0 c09d693c 00c6  c0974db4 
0006 0006
[1.474510] 1f80: c09745a0   c0692e00   
 
[1.482669] 1fa0:  c0692e08  c000f040   
 
[1.490828] 1fc0:       
 
[1.498988] 1fe0:     0013  
 
[1.507159] [] (fimd_wait_for_vblank) from [] 
(fimd_bind+0x138/0x1a8)
[1.515313] [] (fimd_bind) from [] 
(component_bind_all+0xc4/0x20c)
[1.523209] [] (component_bind_all) from [] 
(exynos_drm_load+0xa0/0x140)
[1.531632] [] (exynos_drm_load) from [] 
(drm_dev_register+0xa0/0xf4)
[1.539788] [] (drm_dev_register) from [] 
(drm_platform_init+0x44/0xcc)
[1.548121] [] (drm_platform_init) from [] 
(try_to_bring_up_master.part.1+0xc8/0x104)
[1.557668] [] (try_to_bring_up_master.part.1) from [] 
(component_master_add_with_match+0xd0/0x118)
[1.568431] [] (component_master_add_with_match) from [] 
(exynos_drm_platform_probe+0xf0/0x118)
[1.578847] [] (exynos_drm_platform_probe) from [] 
(platform_drv_probe+0x48/0x98)
[1.588052] [] (platform_drv_probe) from [] 
(driver_probe_device+0x140/0x380)
[1.596902] [] (driver_probe_device) from [] 
(__driver_attach+0x8c/0x90)
[1.605321] [] (__driver_attach) from [] 
(bus_for_each_dev+0x54/0x88)
[1.613480] [] (bus_for_each_dev) from [] 
(bus_add_driver+0xec/0x200)
[1.621640] [] (bus_add_driver) from [] 
(driver_register+0x78/0xf4)
[1.629625] [] (driver_register) from [] 
(exynos_drm_init+0xb8/0x11c)
[1.637785] [] (exynos_drm_init) from [] 
(do_one_initcall+0xac/0x1ec)
[1.645950] [] (do_one_initcall) from []