[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-09 Thread Joonyoung Shim
Hi,

On 04/09/2015 12:14 AM, Inki Dae wrote:
> On 2015년 04월 08일 03:39, Gustavo Padovan wrote:
>> Hi Inki,
>>
>> 2015-04-07 Inki Dae :
>>
>>> On 2015년 04월 07일 00:44, Inki Dae wrote:
 2015-04-06 19:46 GMT+09:00 Inki Dae :
> On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
>> From: Gustavo Padovan 
>>
>> Hi,
>>
>> Here goes the full support for atomic modesetting on exynos. I've
>> split the patches in the various phases of atomic support.
>>
>> These patches sits on top of the clean up patches I've sent yesterday
>> to this mailing list[1].
>>
>> v2: fixes comments by Joonyoung
>> - remove unused var in patch 09
>> - use ->disable instead of outdated ->dpms in hdmi code
>> - remove WARN_ON from crtc enable/disable
>>
>> v3: fixes comment by Joonyoung
>>   - move the removal of drm_helper_disable_unused_functions() to
>>   separated patch
>
> With this patch series, Kernel booting is halted at end of kernel
> booting. I tested this patch series on Trats2 board based on Exynos4412 
> SoC.
>
> Below is a part of full booting logs, which was halted,
> [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
> successfully.
> [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
> vidi_component_ops)
> [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
> fimd_component_ops)
> [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
> exynos_dsi_component_ops)
> [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [1.993393] [drm] No driver support for vblank timestamp query.
> [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
> [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
> clk_unprepare+0x24/0x2c()
> [2.051412] Modules linked in:
> [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
> 4.0.0-rc6-00526-gc49d7de-dirty #1278
> [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [2.070428] Workqueue: pm pm_runtime_work>
>
> After that, I tested it again without FIMD and the booting is ok. So I
> guess that this atomic feature has a bug to FIMD driver.
>

 More information,

 The reason the booting is halted is that a deadlock occurs at fbcon
 module when register_framebuffer() is called.

 Below are our test results,
 - with only cleanup series, FIMD and HDMI work well.
 - with cleanup and atomic series, HDMI works well but FIMD doesn't
 work - a deadlock occurs.

 Could anyone test it with the atomic series on trats2 board? You can
 test it on top of exynos-drm-next-todo branch which contains all
 relevant patches,
 https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo

 Anyway, we will continue to take a look at the this issue why the
 deadlock occurs.
>>>
>>> In addition,
>>>
>>> I added some codes temporarily to fbmem module which mitigates the
>>> deadlock issue. After that, I see below panic log,
>>>
>>> [3.254840] Unable to handle kernel NULL pointer dereference at
>>> virtual address 00a4
>>> [3.262870] pgd = c0004000
>>> [3.265539] [00a4] *pgd=
>>> [3.269102] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
>>> [3.274392] Modules linked in:
>>> [3.277435] CPU: 2 PID: 1 Comm: swapper/0 Tainted: GW
>>> 4.0.0-rc6-00526-gc49d7de-dirty #1308
>>> [3.286892] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>>> [3.292970] task: ee878000 ti: ee88 task.ti: ee88
>>> [3.298356] PC is at exynos_plane_atomic_update+0x24/0x1d4
>>> [3.303824] LR is at drm_atomic_helper_commit_planes+0xa4/0x18c
>>> [3.309723] pc : []lr : []psr: 6113
>>> [3.309723] sp : ee881b38  ip : 0020  fp : 
>>> [3.321179] r10: c04cfc00  r9 : 0008  r8 : eebfb9c0
>>> [3.326387] r7 : 0002  r6 :   r5 :   r4 : ee925308
>>> [3.332897] r3 : ee329fc0  r2 :   r1 :   r0 : ee925308
>>> [3.339409] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
>>> Segment kernel
>>> [3.346699] Control: 10c5387d  Table: 4000404a  DAC: 0015
>>> [3.352427] Process swapper/0 (pid: 1, stack limit = 0xee880210)
>>> [3.358416] Stack: (0xee881b38 to 0xee882000)
>>> [3.362757] 1b20:
>>>c0726794 0008
>>> [3.370919] 1b40: 0002 ee925308  ee329e00 0002
>>> eebfb9c0 0008 c04cfc00
>>> [3.379078] 1b60:  c0265308 0008  ee329e00
>>> ee0a8000 0008 
>>> [3.387237] 1b80:  c0267304 ee329e00 ee8efe00 ee914c00
>>> 0002  0002
>>> [3.395396] 1ba0:  c026609c c0265ef0  ee914c00
>>> 0028 ee8eff00 0001
>>> [

[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-09 Thread Inki Dae
On 2015년 04월 08일 03:39, Gustavo Padovan wrote:
> Hi Inki,
> 
> 2015-04-07 Inki Dae :
> 
>> On 2015년 04월 07일 00:44, Inki Dae wrote:
>>> 2015-04-06 19:46 GMT+09:00 Inki Dae :
 On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
> From: Gustavo Padovan 
>
> Hi,
>
> Here goes the full support for atomic modesetting on exynos. I've
> split the patches in the various phases of atomic support.
>
> These patches sits on top of the clean up patches I've sent yesterday
> to this mailing list[1].
>
> v2: fixes comments by Joonyoung
> - remove unused var in patch 09
> - use ->disable instead of outdated ->dpms in hdmi code
> - remove WARN_ON from crtc enable/disable
>
> v3: fixes comment by Joonyoung
>   - move the removal of drm_helper_disable_unused_functions() to
>   separated patch

 With this patch series, Kernel booting is halted at end of kernel
 booting. I tested this patch series on Trats2 board based on Exynos4412 
 SoC.

 Below is a part of full booting logs, which was halted,
 [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
 successfully.
 [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
 vidi_component_ops)
 [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
 fimd_component_ops)
 [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
 exynos_dsi_component_ops)
 [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [1.993393] [drm] No driver support for vblank timestamp query.
 [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
 [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
 clk_unprepare+0x24/0x2c()
 [2.051412] Modules linked in:
 [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
 4.0.0-rc6-00526-gc49d7de-dirty #1278
 [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
 [2.070428] Workqueue: pm pm_runtime_work>

 After that, I tested it again without FIMD and the booting is ok. So I
 guess that this atomic feature has a bug to FIMD driver.

>>>
>>> More information,
>>>
>>> The reason the booting is halted is that a deadlock occurs at fbcon
>>> module when register_framebuffer() is called.
>>>
>>> Below are our test results,
>>> - with only cleanup series, FIMD and HDMI work well.
>>> - with cleanup and atomic series, HDMI works well but FIMD doesn't
>>> work - a deadlock occurs.
>>>
>>> Could anyone test it with the atomic series on trats2 board? You can
>>> test it on top of exynos-drm-next-todo branch which contains all
>>> relevant patches,
>>> https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo
>>>
>>> Anyway, we will continue to take a look at the this issue why the
>>> deadlock occurs.
>>
>> In addition,
>>
>> I added some codes temporarily to fbmem module which mitigates the
>> deadlock issue. After that, I see below panic log,
>>
>> [3.254840] Unable to handle kernel NULL pointer dereference at
>> virtual address 00a4
>> [3.262870] pgd = c0004000
>> [3.265539] [00a4] *pgd=
>> [3.269102] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
>> [3.274392] Modules linked in:
>> [3.277435] CPU: 2 PID: 1 Comm: swapper/0 Tainted: GW
>> 4.0.0-rc6-00526-gc49d7de-dirty #1308
>> [3.286892] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>> [3.292970] task: ee878000 ti: ee88 task.ti: ee88
>> [3.298356] PC is at exynos_plane_atomic_update+0x24/0x1d4
>> [3.303824] LR is at drm_atomic_helper_commit_planes+0xa4/0x18c
>> [3.309723] pc : []lr : []psr: 6113
>> [3.309723] sp : ee881b38  ip : 0020  fp : 
>> [3.321179] r10: c04cfc00  r9 : 0008  r8 : eebfb9c0
>> [3.326387] r7 : 0002  r6 :   r5 :   r4 : ee925308
>> [3.332897] r3 : ee329fc0  r2 :   r1 :   r0 : ee925308
>> [3.339409] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
>> Segment kernel
>> [3.346699] Control: 10c5387d  Table: 4000404a  DAC: 0015
>> [3.352427] Process swapper/0 (pid: 1, stack limit = 0xee880210)
>> [3.358416] Stack: (0xee881b38 to 0xee882000)
>> [3.362757] 1b20:
>>c0726794 0008
>> [3.370919] 1b40: 0002 ee925308  ee329e00 0002
>> eebfb9c0 0008 c04cfc00
>> [3.379078] 1b60:  c0265308 0008  ee329e00
>> ee0a8000 0008 
>> [3.387237] 1b80:  c0267304 ee329e00 ee8efe00 ee914c00
>> 0002  0002
>> [3.395396] 1ba0:  c026609c c0265ef0  ee914c00
>> 0028 ee8eff00 0001
>> [3.403555] 1bc0:  c06c8380  c02770d0 ee8efe00
>>  0028 ee8eff00
>> [3.411714] 1be0: 0001 c0267a2c ee0a8000 c0286214 

[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-07 Thread Tobias Jakobi
I don't know if I can really help with this, but I'm going to try to
reproduce this on my board tomorrow.

With best wishes,
Tobias


Gustavo Padovan wrote:
> Hi Inki,
> 
> 2015-04-07 Inki Dae :
> 
>> On 2015년 04월 07일 00:44, Inki Dae wrote:
>>> 2015-04-06 19:46 GMT+09:00 Inki Dae :
 On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
> From: Gustavo Padovan 
>
> Hi,
>
> Here goes the full support for atomic modesetting on exynos. I've
> split the patches in the various phases of atomic support.
>
> These patches sits on top of the clean up patches I've sent yesterday
> to this mailing list[1].
>
> v2: fixes comments by Joonyoung
> - remove unused var in patch 09
> - use ->disable instead of outdated ->dpms in hdmi code
> - remove WARN_ON from crtc enable/disable
>
> v3: fixes comment by Joonyoung
>   - move the removal of drm_helper_disable_unused_functions() to
>   separated patch

 With this patch series, Kernel booting is halted at end of kernel
 booting. I tested this patch series on Trats2 board based on Exynos4412 
 SoC.

 Below is a part of full booting logs, which was halted,
 [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
 successfully.
 [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
 vidi_component_ops)
 [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
 fimd_component_ops)
 [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
 exynos_dsi_component_ops)
 [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [1.993393] [drm] No driver support for vblank timestamp query.
 [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
 [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
 clk_unprepare+0x24/0x2c()
 [2.051412] Modules linked in:
 [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
 4.0.0-rc6-00526-gc49d7de-dirty #1278
 [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
 [2.070428] Workqueue: pm pm_runtime_work>

 After that, I tested it again without FIMD and the booting is ok. So I
 guess that this atomic feature has a bug to FIMD driver.

>>>
>>> More information,
>>>
>>> The reason the booting is halted is that a deadlock occurs at fbcon
>>> module when register_framebuffer() is called.
>>>
>>> Below are our test results,
>>> - with only cleanup series, FIMD and HDMI work well.
>>> - with cleanup and atomic series, HDMI works well but FIMD doesn't
>>> work - a deadlock occurs.
>>>
>>> Could anyone test it with the atomic series on trats2 board? You can
>>> test it on top of exynos-drm-next-todo branch which contains all
>>> relevant patches,
>>> https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=ynos-drm-next-todo
>>>
>>> Anyway, we will continue to take a look at the this issue why the
>>> deadlock occurs.
>>
>> In addition,
>>
>> I added some codes temporarily to fbmem module which mitigates the
>> deadlock issue. After that, I see below panic log,
>>
>> [3.254840] Unable to handle kernel NULL pointer dereference at
>> virtual address 00a4
>> [3.262870] pgd =0004000
>> [3.265539] [00a4] *pgd[3.269102] Internal error: Oops: 5 [#1] 
>> PREEMPT SMP ARM
>> [3.274392] Modules linked in:
>> [3.277435] CPU: 2 PID: 1 Comm: swapper/0 Tainted: GW
>> 4.0.0-rc6-00526-gc49d7de-dirty #1308
>> [3.286892] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>> [3.292970] task: ee878000 ti: ee88 task.ti: ee88
>> [3.298356] PC is at exynos_plane_atomic_update+0x24/0x1d4
>> [3.303824] LR is at drm_atomic_helper_commit_planes+0xa4/0x18c
>> [3.309723] pc : []lr : []psr: 6113
>> [3.309723] sp : ee881b38  ip : 0020  fp : 
>> [3.321179] r10: c04cfc00  r9 : 0008  r8 : eebfb9c0
>> [3.326387] r7 : 0002  r6 :   r5 :   r4 : ee925308
>> [3.332897] r3 : ee329fc0  r2 :   r1 :   r0 : ee925308
>> [3.339409] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
>> Segment kernel
>> [3.346699] Control: 10c5387d  Table: 4000404a  DAC: 0015
>> [3.352427] Process swapper/0 (pid: 1, stack limit =xee880210)
>> [3.358416] Stack: (0xee881b38 to 0xee882000)
>> [3.362757] 1b20:
>>c0726794 0008
>> [3.370919] 1b40: 0002 ee925308  ee329e00 0002
>> eebfb9c0 0008 c04cfc00
>> [3.379078] 1b60:  c0265308 0008  ee329e00
>> ee0a8000 0008 
>> [3.387237] 1b80:  c0267304 ee329e00 ee8efe00 ee914c00
>> 0002  0002
>> [3.395396] 1ba0:  c026609c c0265ef0  ee914c00
>> 0028 ee8eff00 0001
>> [3.403555] 1bc0:  c06c8380  c02770d0 ee8efe00
>> 

[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-07 Thread Inki Dae
On 2015년 04월 07일 16:06, Inki Dae wrote:
> On 2015년 04월 07일 00:44, Inki Dae wrote:
>> 2015-04-06 19:46 GMT+09:00 Inki Dae :
>>> On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
 From: Gustavo Padovan 

 Hi,

 Here goes the full support for atomic modesetting on exynos. I've
 split the patches in the various phases of atomic support.

 These patches sits on top of the clean up patches I've sent yesterday
 to this mailing list[1].

 v2: fixes comments by Joonyoung
 - remove unused var in patch 09
 - use ->disable instead of outdated ->dpms in hdmi code
 - remove WARN_ON from crtc enable/disable

 v3: fixes comment by Joonyoung
   - move the removal of drm_helper_disable_unused_functions() to
   separated patch
>>>
>>> With this patch series, Kernel booting is halted at end of kernel
>>> booting. I tested this patch series on Trats2 board based on Exynos4412 SoC.
>>>
>>> Below is a part of full booting logs, which was halted,
>>> [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
>>> successfully.
>>> [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
>>> vidi_component_ops)
>>> [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
>>> fimd_component_ops)
>>> [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
>>> exynos_dsi_component_ops)
>>> [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
>>> [1.993393] [drm] No driver support for vblank timestamp query.
>>> [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
>>> [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
>>> clk_unprepare+0x24/0x2c()
>>> [2.051412] Modules linked in:
>>> [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
>>> 4.0.0-rc6-00526-gc49d7de-dirty #1278
>>> [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>>> [2.070428] Workqueue: pm pm_runtime_work>
>>>
>>> After that, I tested it again without FIMD and the booting is ok. So I
>>> guess that this atomic feature has a bug to FIMD driver.
>>>
>>
>> More information,
>>
>> The reason the booting is halted is that a deadlock occurs at fbcon
>> module when register_framebuffer() is called.
>>
>> Below are our test results,
>> - with only cleanup series, FIMD and HDMI work well.
>> - with cleanup and atomic series, HDMI works well but FIMD doesn't
>> work - a deadlock occurs.
>>
>> Could anyone test it with the atomic series on trats2 board? You can
>> test it on top of exynos-drm-next-todo branch which contains all
>> relevant patches,
>> https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo
>>
>> Anyway, we will continue to take a look at the this issue why the
>> deadlock occurs.
> 
> In addition,
> 
> I added some codes temporarily to fbmem module which mitigates the
> deadlock issue. After that, I see below panic log,
> 
> [3.254840] Unable to handle kernel NULL pointer dereference at
> virtual address 00a4
> [3.262870] pgd = c0004000
> [3.265539] [00a4] *pgd=
> [3.269102] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> [3.274392] Modules linked in:
> [3.277435] CPU: 2 PID: 1 Comm: swapper/0 Tainted: GW
> 4.0.0-rc6-00526-gc49d7de-dirty #1308
> [3.286892] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [3.292970] task: ee878000 ti: ee88 task.ti: ee88
> [3.298356] PC is at exynos_plane_atomic_update+0x24/0x1d4
> [3.303824] LR is at drm_atomic_helper_commit_planes+0xa4/0x18c
> [3.309723] pc : []lr : []psr: 6113
> [3.309723] sp : ee881b38  ip : 0020  fp : 
> [3.321179] r10: c04cfc00  r9 : 0008  r8 : eebfb9c0
> [3.326387] r7 : 0002  r6 :   r5 :   r4 : ee925308
> [3.332897] r3 : ee329fc0  r2 :   r1 :   r0 : ee925308
> [3.339409] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
> Segment kernel
> [3.346699] Control: 10c5387d  Table: 4000404a  DAC: 0015
> [3.352427] Process swapper/0 (pid: 1, stack limit = 0xee880210)
> [3.358416] Stack: (0xee881b38 to 0xee882000)
> [3.362757] 1b20:
>c0726794 0008
> [3.370919] 1b40: 0002 ee925308  ee329e00 0002
> eebfb9c0 0008 c04cfc00
> [3.379078] 1b60:  c0265308 0008  ee329e00
> ee0a8000 0008 
> [3.387237] 1b80:  c0267304 ee329e00 ee8efe00 ee914c00
> 0002  0002
> [3.395396] 1ba0:  c026609c c0265ef0  ee914c00
> 0028 ee8eff00 0001
> [3.403555] 1bc0:  c06c8380  c02770d0 ee8efe00
>  0028 ee8eff00
> [3.411714] 1be0: 0001 c0267a2c ee0a8000 c0286214 ee8eff00
> ee8eff00 ee0a8000 
> [3.419874] 1c00:  c0722ad4 ee35e000 c0269900 
> ee915400  c0269958
> [3.428033] 1c20: 

[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-07 Thread Inki Dae
On 2015년 04월 07일 00:44, Inki Dae wrote:
> 2015-04-06 19:46 GMT+09:00 Inki Dae :
>> On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
>>> From: Gustavo Padovan 
>>>
>>> Hi,
>>>
>>> Here goes the full support for atomic modesetting on exynos. I've
>>> split the patches in the various phases of atomic support.
>>>
>>> These patches sits on top of the clean up patches I've sent yesterday
>>> to this mailing list[1].
>>>
>>> v2: fixes comments by Joonyoung
>>> - remove unused var in patch 09
>>> - use ->disable instead of outdated ->dpms in hdmi code
>>> - remove WARN_ON from crtc enable/disable
>>>
>>> v3: fixes comment by Joonyoung
>>>   - move the removal of drm_helper_disable_unused_functions() to
>>>   separated patch
>>
>> With this patch series, Kernel booting is halted at end of kernel
>> booting. I tested this patch series on Trats2 board based on Exynos4412 SoC.
>>
>> Below is a part of full booting logs, which was halted,
>> [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
>> successfully.
>> [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
>> vidi_component_ops)
>> [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
>> fimd_component_ops)
>> [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
>> exynos_dsi_component_ops)
>> [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
>> [1.993393] [drm] No driver support for vblank timestamp query.
>> [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
>> [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
>> clk_unprepare+0x24/0x2c()
>> [2.051412] Modules linked in:
>> [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
>> 4.0.0-rc6-00526-gc49d7de-dirty #1278
>> [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
>> [2.070428] Workqueue: pm pm_runtime_work>
>>
>> After that, I tested it again without FIMD and the booting is ok. So I
>> guess that this atomic feature has a bug to FIMD driver.
>>
> 
> More information,
> 
> The reason the booting is halted is that a deadlock occurs at fbcon
> module when register_framebuffer() is called.
> 
> Below are our test results,
> - with only cleanup series, FIMD and HDMI work well.
> - with cleanup and atomic series, HDMI works well but FIMD doesn't
> work - a deadlock occurs.
> 
> Could anyone test it with the atomic series on trats2 board? You can
> test it on top of exynos-drm-next-todo branch which contains all
> relevant patches,
> https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo
> 
> Anyway, we will continue to take a look at the this issue why the
> deadlock occurs.

In addition,

I added some codes temporarily to fbmem module which mitigates the
deadlock issue. After that, I see below panic log,

[3.254840] Unable to handle kernel NULL pointer dereference at
virtual address 00a4
[3.262870] pgd = c0004000
[3.265539] [00a4] *pgd=
[3.269102] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[3.274392] Modules linked in:
[3.277435] CPU: 2 PID: 1 Comm: swapper/0 Tainted: GW
4.0.0-rc6-00526-gc49d7de-dirty #1308
[3.286892] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[3.292970] task: ee878000 ti: ee88 task.ti: ee88
[3.298356] PC is at exynos_plane_atomic_update+0x24/0x1d4
[3.303824] LR is at drm_atomic_helper_commit_planes+0xa4/0x18c
[3.309723] pc : []lr : []psr: 6113
[3.309723] sp : ee881b38  ip : 0020  fp : 
[3.321179] r10: c04cfc00  r9 : 0008  r8 : eebfb9c0
[3.326387] r7 : 0002  r6 :   r5 :   r4 : ee925308
[3.332897] r3 : ee329fc0  r2 :   r1 :   r0 : ee925308
[3.339409] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
Segment kernel
[3.346699] Control: 10c5387d  Table: 4000404a  DAC: 0015
[3.352427] Process swapper/0 (pid: 1, stack limit = 0xee880210)
[3.358416] Stack: (0xee881b38 to 0xee882000)
[3.362757] 1b20:
   c0726794 0008
[3.370919] 1b40: 0002 ee925308  ee329e00 0002
eebfb9c0 0008 c04cfc00
[3.379078] 1b60:  c0265308 0008  ee329e00
ee0a8000 0008 
[3.387237] 1b80:  c0267304 ee329e00 ee8efe00 ee914c00
0002  0002
[3.395396] 1ba0:  c026609c c0265ef0  ee914c00
0028 ee8eff00 0001
[3.403555] 1bc0:  c06c8380  c02770d0 ee8efe00
 0028 ee8eff00
[3.411714] 1be0: 0001 c0267a2c ee0a8000 c0286214 ee8eff00
ee8eff00 ee0a8000 
[3.419874] 1c00:  c0722ad4 ee35e000 c0269900 
ee915400  c0269958
[3.428033] 1c20: ee808c00 c020cc8c c0248620 c05d5448 ee808c00
ee808c00 ee808d34 
[3.436192] 1c40:  0001 0066 c0724acc c0724fd4
005b 0066 005b
[3.444351] 1c60: c05b28cc 

[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-07 Thread Gustavo Padovan
Hi Inki,

2015-04-07 Inki Dae :

> On 2015년 04월 07일 00:44, Inki Dae wrote:
> > 2015-04-06 19:46 GMT+09:00 Inki Dae :
> >> On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
> >>> From: Gustavo Padovan 
> >>>
> >>> Hi,
> >>>
> >>> Here goes the full support for atomic modesetting on exynos. I've
> >>> split the patches in the various phases of atomic support.
> >>>
> >>> These patches sits on top of the clean up patches I've sent yesterday
> >>> to this mailing list[1].
> >>>
> >>> v2: fixes comments by Joonyoung
> >>> - remove unused var in patch 09
> >>> - use ->disable instead of outdated ->dpms in hdmi code
> >>> - remove WARN_ON from crtc enable/disable
> >>>
> >>> v3: fixes comment by Joonyoung
> >>>   - move the removal of drm_helper_disable_unused_functions() to
> >>>   separated patch
> >>
> >> With this patch series, Kernel booting is halted at end of kernel
> >> booting. I tested this patch series on Trats2 board based on Exynos4412 
> >> SoC.
> >>
> >> Below is a part of full booting logs, which was halted,
> >> [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
> >> successfully.
> >> [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
> >> vidi_component_ops)
> >> [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
> >> fimd_component_ops)
> >> [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
> >> exynos_dsi_component_ops)
> >> [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> >> [1.993393] [drm] No driver support for vblank timestamp query.
> >> [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
> >> [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
> >> clk_unprepare+0x24/0x2c()
> >> [2.051412] Modules linked in:
> >> [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
> >> 4.0.0-rc6-00526-gc49d7de-dirty #1278
> >> [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> >> [2.070428] Workqueue: pm pm_runtime_work>
> >>
> >> After that, I tested it again without FIMD and the booting is ok. So I
> >> guess that this atomic feature has a bug to FIMD driver.
> >>
> > 
> > More information,
> > 
> > The reason the booting is halted is that a deadlock occurs at fbcon
> > module when register_framebuffer() is called.
> > 
> > Below are our test results,
> > - with only cleanup series, FIMD and HDMI work well.
> > - with cleanup and atomic series, HDMI works well but FIMD doesn't
> > work - a deadlock occurs.
> > 
> > Could anyone test it with the atomic series on trats2 board? You can
> > test it on top of exynos-drm-next-todo branch which contains all
> > relevant patches,
> > https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo
> > 
> > Anyway, we will continue to take a look at the this issue why the
> > deadlock occurs.
> 
> In addition,
> 
> I added some codes temporarily to fbmem module which mitigates the
> deadlock issue. After that, I see below panic log,
> 
> [3.254840] Unable to handle kernel NULL pointer dereference at
> virtual address 00a4
> [3.262870] pgd = c0004000
> [3.265539] [00a4] *pgd=
> [3.269102] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> [3.274392] Modules linked in:
> [3.277435] CPU: 2 PID: 1 Comm: swapper/0 Tainted: GW
> 4.0.0-rc6-00526-gc49d7de-dirty #1308
> [3.286892] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [3.292970] task: ee878000 ti: ee88 task.ti: ee88
> [3.298356] PC is at exynos_plane_atomic_update+0x24/0x1d4
> [3.303824] LR is at drm_atomic_helper_commit_planes+0xa4/0x18c
> [3.309723] pc : []lr : []psr: 6113
> [3.309723] sp : ee881b38  ip : 0020  fp : 
> [3.321179] r10: c04cfc00  r9 : 0008  r8 : eebfb9c0
> [3.326387] r7 : 0002  r6 :   r5 :   r4 : ee925308
> [3.332897] r3 : ee329fc0  r2 :   r1 :   r0 : ee925308
> [3.339409] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
> Segment kernel
> [3.346699] Control: 10c5387d  Table: 4000404a  DAC: 0015
> [3.352427] Process swapper/0 (pid: 1, stack limit = 0xee880210)
> [3.358416] Stack: (0xee881b38 to 0xee882000)
> [3.362757] 1b20:
>c0726794 0008
> [3.370919] 1b40: 0002 ee925308  ee329e00 0002
> eebfb9c0 0008 c04cfc00
> [3.379078] 1b60:  c0265308 0008  ee329e00
> ee0a8000 0008 
> [3.387237] 1b80:  c0267304 ee329e00 ee8efe00 ee914c00
> 0002  0002
> [3.395396] 1ba0:  c026609c c0265ef0  ee914c00
> 0028 ee8eff00 0001
> [3.403555] 1bc0:  c06c8380  c02770d0 ee8efe00
>  0028 ee8eff00
> [3.411714] 1be0: 0001 c0267a2c ee0a8000 c0286214 ee8eff00
> ee8eff00 ee0a8000 
> [3.419874] 1c00:  c0722ad4 ee35e000 c0269900 

[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-07 Thread Gustavo Padovan
Hi Inki,

2015-04-07 Inki Dae :

> On 2015년 04월 07일 16:06, Inki Dae wrote:
> > On 2015년 04월 07일 00:44, Inki Dae wrote:
> >> 2015-04-06 19:46 GMT+09:00 Inki Dae :
> >>> On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
>  From: Gustavo Padovan 
> 
>  Hi,
> 
>  Here goes the full support for atomic modesetting on exynos. I've
>  split the patches in the various phases of atomic support.
> 
>  These patches sits on top of the clean up patches I've sent yesterday
>  to this mailing list[1].
> 
>  v2: fixes comments by Joonyoung
>  - remove unused var in patch 09
>  - use ->disable instead of outdated ->dpms in hdmi code
>  - remove WARN_ON from crtc enable/disable
> 
>  v3: fixes comment by Joonyoung
>    - move the removal of drm_helper_disable_unused_functions() to
>    separated patch
> >>>
> >>> With this patch series, Kernel booting is halted at end of kernel
> >>> booting. I tested this patch series on Trats2 board based on Exynos4412 
> >>> SoC.
> >>>
> >>> Below is a part of full booting logs, which was halted,
> >>> [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
> >>> successfully.
> >>> [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
> >>> vidi_component_ops)
> >>> [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
> >>> fimd_component_ops)
> >>> [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
> >>> exynos_dsi_component_ops)
> >>> [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> >>> [1.993393] [drm] No driver support for vblank timestamp query.
> >>> [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
> >>> [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
> >>> clk_unprepare+0x24/0x2c()
> >>> [2.051412] Modules linked in:
> >>> [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
> >>> 4.0.0-rc6-00526-gc49d7de-dirty #1278
> >>> [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> >>> [2.070428] Workqueue: pm pm_runtime_work>
> >>>
> >>> After that, I tested it again without FIMD and the booting is ok. So I
> >>> guess that this atomic feature has a bug to FIMD driver.
> >>>
> >>
> >> More information,
> >>
> >> The reason the booting is halted is that a deadlock occurs at fbcon
> >> module when register_framebuffer() is called.
> >>
> >> Below are our test results,
> >> - with only cleanup series, FIMD and HDMI work well.
> >> - with cleanup and atomic series, HDMI works well but FIMD doesn't
> >> work - a deadlock occurs.
> >>
> >> Could anyone test it with the atomic series on trats2 board? You can
> >> test it on top of exynos-drm-next-todo branch which contains all
> >> relevant patches,
> >> https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo
> >>
> >> Anyway, we will continue to take a look at the this issue why the
> >> deadlock occurs.
> >
> > In addition,
> >
> > I added some codes temporarily to fbmem module which mitigates the
> > deadlock issue. After that, I see below panic log,
> >
> > [3.254840] Unable to handle kernel NULL pointer dereference at
> > virtual address 00a4
> > [3.262870] pgd = c0004000
> > [3.265539] [00a4] *pgd=
> > [3.269102] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
> > [3.274392] Modules linked in:
> > [3.277435] CPU: 2 PID: 1 Comm: swapper/0 Tainted: GW
> > 4.0.0-rc6-00526-gc49d7de-dirty #1308
> > [3.286892] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> > [3.292970] task: ee878000 ti: ee88 task.ti: ee88
> > [3.298356] PC is at exynos_plane_atomic_update+0x24/0x1d4
> > [3.303824] LR is at drm_atomic_helper_commit_planes+0xa4/0x18c
> > [3.309723] pc : []lr : []psr: 6113
> > [3.309723] sp : ee881b38  ip : 0020  fp : 
> > [3.321179] r10: c04cfc00  r9 : 0008  r8 : eebfb9c0
> > [3.326387] r7 : 0002  r6 :   r5 :   r4 : ee925308
> > [3.332897] r3 : ee329fc0  r2 :   r1 :   r0 : ee925308
> > [3.339409] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM
> > Segment kernel
> > [3.346699] Control: 10c5387d  Table: 4000404a  DAC: 0015
> > [3.352427] Process swapper/0 (pid: 1, stack limit = 0xee880210)
> > [3.358416] Stack: (0xee881b38 to 0xee882000)
> > [3.362757] 1b20:
> >c0726794 0008
> > [3.370919] 1b40: 0002 ee925308  ee329e00 0002
> > eebfb9c0 0008 c04cfc00
> > [3.379078] 1b60:  c0265308 0008  ee329e00
> > ee0a8000 0008 
> > [3.387237] 1b80:  c0267304 ee329e00 ee8efe00 ee914c00
> > 0002  0002
> > [3.395396] 1ba0:  c026609c c0265ef0  ee914c00
> > 0028 ee8eff00 0001
> > [3.403555] 1bc0:  c06c8380  c02770d0 ee8efe00
> 

[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-07 Thread Inki Dae
2015-04-06 19:46 GMT+09:00 Inki Dae :
> On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
>> From: Gustavo Padovan 
>>
>> Hi,
>>
>> Here goes the full support for atomic modesetting on exynos. I've
>> split the patches in the various phases of atomic support.
>>
>> These patches sits on top of the clean up patches I've sent yesterday
>> to this mailing list[1].
>>
>> v2: fixes comments by Joonyoung
>> - remove unused var in patch 09
>> - use ->disable instead of outdated ->dpms in hdmi code
>> - remove WARN_ON from crtc enable/disable
>>
>> v3: fixes comment by Joonyoung
>>   - move the removal of drm_helper_disable_unused_functions() to
>>   separated patch
>
> With this patch series, Kernel booting is halted at end of kernel
> booting. I tested this patch series on Trats2 board based on Exynos4412 SoC.
>
> Below is a part of full booting logs, which was halted,
> [1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
> successfully.
> [1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
> vidi_component_ops)
> [1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
> fimd_component_ops)
> [1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
> exynos_dsi_component_ops)
> [1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [1.993393] [drm] No driver support for vblank timestamp query.
> [1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
> [2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
> clk_unprepare+0x24/0x2c()
> [2.051412] Modules linked in:
> [2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
> 4.0.0-rc6-00526-gc49d7de-dirty #1278
> [2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
> [2.070428] Workqueue: pm pm_runtime_work>
>
> After that, I tested it again without FIMD and the booting is ok. So I
> guess that this atomic feature has a bug to FIMD driver.
>

More information,

The reason the booting is halted is that a deadlock occurs at fbcon
module when register_framebuffer() is called.

Below are our test results,
- with only cleanup series, FIMD and HDMI work well.
- with cleanup and atomic series, HDMI works well but FIMD doesn't
work - a deadlock occurs.

Could anyone test it with the atomic series on trats2 board? You can
test it on top of exynos-drm-next-todo branch which contains all
relevant patches,
https://git.kernel.org/cgit/linux/kernel/git/daeinki/drm-exynos.git/log/?h=exynos-drm-next-todo

Anyway, we will continue to take a look at the this issue why the
deadlock occurs.

Thanks,
Inki Dae

> Thanks,
> Inki Dae
>
>>
>>   Gustavo
>> ---
>>
>> Gustavo Padovan (11):
>>   drm/exynos: atomic phase 1: use drm_plane_helper_update()
>>   drm/exynos: atomic phase 1: use drm_plane_helper_disable()
>>   drm/exynos: atomic phase 1: add .mode_set_nofb() callback
>>   drm/exynos: atomic phase 2: wire up state reset(), duplicate() and
>> destroy()
>>   drm/exynos: atomic phase 2: keep track of framebuffer pointer
>>   drm/exynos: atomic phase 3: atomic updates of planes
>>   drm/exynos: atomic phase 3: use atomic .set_config helper
>>   drm/exynos: atomic phase 3: convert page flips
>>   drm/exynos: remove exported functions from exynos_drm_plane
>>   drm/exynos: don't disable unused functions at init
>>   drm/exynos: atomic dpms support
>>
>>  drivers/gpu/drm/bridge/ptn3460.c  |   4 +
>>  drivers/gpu/drm/exynos/exynos_dp_core.c   |   6 +-
>>  drivers/gpu/drm/exynos/exynos_drm_connector.c |   6 +-
>>  drivers/gpu/drm/exynos/exynos_drm_crtc.c  | 226 
>> --
>>  drivers/gpu/drm/exynos/exynos_drm_dpi.c   |   6 +-
>>  drivers/gpu/drm/exynos/exynos_drm_drv.c   |   2 +
>>  drivers/gpu/drm/exynos/exynos_drm_drv.h   |   4 +-
>>  drivers/gpu/drm/exynos/exynos_drm_dsi.c   |   6 +-
>>  drivers/gpu/drm/exynos/exynos_drm_encoder.c   |  27 +--
>>  drivers/gpu/drm/exynos/exynos_drm_fb.c|  12 +-
>>  drivers/gpu/drm/exynos/exynos_drm_fbdev.c |   3 -
>>  drivers/gpu/drm/exynos/exynos_drm_plane.c | 113 +++--
>>  drivers/gpu/drm/exynos/exynos_drm_plane.h |  11 --
>>  drivers/gpu/drm/exynos/exynos_drm_vidi.c  |   6 +-
>>  drivers/gpu/drm/exynos/exynos_hdmi.c  |  10 +-
>>  15 files changed, 187 insertions(+), 255 deletions(-)
>>
>
> ___
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-06 Thread Inki Dae
On 2015년 04월 04일 03:09, Gustavo Padovan wrote:
> From: Gustavo Padovan 
> 
> Hi,
> 
> Here goes the full support for atomic modesetting on exynos. I've
> split the patches in the various phases of atomic support.
> 
> These patches sits on top of the clean up patches I've sent yesterday
> to this mailing list[1].
> 
> v2: fixes comments by Joonyoung
> - remove unused var in patch 09
> - use ->disable instead of outdated ->dpms in hdmi code
> - remove WARN_ON from crtc enable/disable
> 
> v3: fixes comment by Joonyoung
>   - move the removal of drm_helper_disable_unused_functions() to 
>   separated patch

With this patch series, Kernel booting is halted at end of kernel
booting. I tested this patch series on Trats2 board based on Exynos4412 SoC.

Below is a part of full booting logs, which was halted,
[1.992015] exynos-drm-ipp exynos-drm-ipp: drm ipp registered
successfully.
[1.993009] exynos-drm exynos-drm: bound exynos-drm-vidi (ops
vidi_component_ops)
[1.993036] exynos-drm exynos-drm: bound 11c0.fimd (ops
fimd_component_ops)
[1.993385] exynos-drm exynos-drm: bound 11c8.dsi (ops
exynos_dsi_component_ops)
[1.993390] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[1.993393] [drm] No driver support for vblank timestamp query.
[1.993442] [drm] Initialized exynos 1.0.0 20110530 on minor 0
[2.043358] WARNING: CPU: 2 PID: 1209 at drivers/clk/clk.c:898
clk_unprepare+0x24/0x2c()
[2.051412] Modules linked in:
[2.054422] CPU: 2 PID: 1209 Comm: kworker/2:1 Tainted: GW
4.0.0-rc6-00526-gc49d7de-dirty #1278
[2.064337] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[2.070428] Workqueue: pm pm_runtime_work>

After that, I tested it again without FIMD and the booting is ok. So I
guess that this atomic feature has a bug to FIMD driver.

Thanks,
Inki Dae

> 
>   Gustavo
> ---
> 
> Gustavo Padovan (11):
>   drm/exynos: atomic phase 1: use drm_plane_helper_update()
>   drm/exynos: atomic phase 1: use drm_plane_helper_disable()
>   drm/exynos: atomic phase 1: add .mode_set_nofb() callback
>   drm/exynos: atomic phase 2: wire up state reset(), duplicate() and
> destroy()
>   drm/exynos: atomic phase 2: keep track of framebuffer pointer
>   drm/exynos: atomic phase 3: atomic updates of planes
>   drm/exynos: atomic phase 3: use atomic .set_config helper
>   drm/exynos: atomic phase 3: convert page flips
>   drm/exynos: remove exported functions from exynos_drm_plane
>   drm/exynos: don't disable unused functions at init
>   drm/exynos: atomic dpms support
> 
>  drivers/gpu/drm/bridge/ptn3460.c  |   4 +
>  drivers/gpu/drm/exynos/exynos_dp_core.c   |   6 +-
>  drivers/gpu/drm/exynos/exynos_drm_connector.c |   6 +-
>  drivers/gpu/drm/exynos/exynos_drm_crtc.c  | 226 
> --
>  drivers/gpu/drm/exynos/exynos_drm_dpi.c   |   6 +-
>  drivers/gpu/drm/exynos/exynos_drm_drv.c   |   2 +
>  drivers/gpu/drm/exynos/exynos_drm_drv.h   |   4 +-
>  drivers/gpu/drm/exynos/exynos_drm_dsi.c   |   6 +-
>  drivers/gpu/drm/exynos/exynos_drm_encoder.c   |  27 +--
>  drivers/gpu/drm/exynos/exynos_drm_fb.c|  12 +-
>  drivers/gpu/drm/exynos/exynos_drm_fbdev.c |   3 -
>  drivers/gpu/drm/exynos/exynos_drm_plane.c | 113 +++--
>  drivers/gpu/drm/exynos/exynos_drm_plane.h |  11 --
>  drivers/gpu/drm/exynos/exynos_drm_vidi.c  |   6 +-
>  drivers/gpu/drm/exynos/exynos_hdmi.c  |  10 +-
>  15 files changed, 187 insertions(+), 255 deletions(-)
> 



[PATCH -v3 00/11] drm/exynos: Add atomic modesetting support

2015-04-03 Thread Gustavo Padovan
From: Gustavo Padovan 

Hi,

Here goes the full support for atomic modesetting on exynos. I've
split the patches in the various phases of atomic support.

These patches sits on top of the clean up patches I've sent yesterday
to this mailing list[1].

v2: fixes comments by Joonyoung
- remove unused var in patch 09
- use ->disable instead of outdated ->dpms in hdmi code
- remove WARN_ON from crtc enable/disable

v3: fixes comment by Joonyoung
- move the removal of drm_helper_disable_unused_functions() to 
separated patch

Gustavo
---

Gustavo Padovan (11):
  drm/exynos: atomic phase 1: use drm_plane_helper_update()
  drm/exynos: atomic phase 1: use drm_plane_helper_disable()
  drm/exynos: atomic phase 1: add .mode_set_nofb() callback
  drm/exynos: atomic phase 2: wire up state reset(), duplicate() and
destroy()
  drm/exynos: atomic phase 2: keep track of framebuffer pointer
  drm/exynos: atomic phase 3: atomic updates of planes
  drm/exynos: atomic phase 3: use atomic .set_config helper
  drm/exynos: atomic phase 3: convert page flips
  drm/exynos: remove exported functions from exynos_drm_plane
  drm/exynos: don't disable unused functions at init
  drm/exynos: atomic dpms support

 drivers/gpu/drm/bridge/ptn3460.c  |   4 +
 drivers/gpu/drm/exynos/exynos_dp_core.c   |   6 +-
 drivers/gpu/drm/exynos/exynos_drm_connector.c |   6 +-
 drivers/gpu/drm/exynos/exynos_drm_crtc.c  | 226 --
 drivers/gpu/drm/exynos/exynos_drm_dpi.c   |   6 +-
 drivers/gpu/drm/exynos/exynos_drm_drv.c   |   2 +
 drivers/gpu/drm/exynos/exynos_drm_drv.h   |   4 +-
 drivers/gpu/drm/exynos/exynos_drm_dsi.c   |   6 +-
 drivers/gpu/drm/exynos/exynos_drm_encoder.c   |  27 +--
 drivers/gpu/drm/exynos/exynos_drm_fb.c|  12 +-
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c |   3 -
 drivers/gpu/drm/exynos/exynos_drm_plane.c | 113 +++--
 drivers/gpu/drm/exynos/exynos_drm_plane.h |  11 --
 drivers/gpu/drm/exynos/exynos_drm_vidi.c  |   6 +-
 drivers/gpu/drm/exynos/exynos_hdmi.c  |  10 +-
 15 files changed, 187 insertions(+), 255 deletions(-)

-- 
2.1.0