[PATCH 00/31] Convert omapdrm to the atomic updates API

Tomi Valkeinen tomi.valkeinen at ti.com
Mon Apr 20 04:22:53 PDT 2015


Hi,

On 16/04/15 01:09, Laurent Pinchart wrote:
> Hello,
> 
> This patch set converts the omapdrm to the atomic update API in 31 small(ish)
> and hopefully reviewable steps.

Thanks! I'll start reviewing the patches later this week.

> The series is based on the latest drm/next branch and depends on the pending
> "drm: omapdrm: Store the rotation property in dev->mode_config" patch by
> Daniel Vetter.
> 
> The omapdrm loses support for its custom fences in the process. This isn't
> deemed to be an issue, as the custom fences API is used by the SGX driver
> only, which requires out-of-tree patches anyway. Fences support will be
> reimplemented at a later point on top of the atomic updates conversion using
> the mainline fence API.
> 
> One known issue is a race condition between asynchronous commits and
> drm_release() which can trigger a warning if a commit is applied between the
> drm_events_release() call and the WARN_ON(!list_empty(&file_priv->event_list)).
> Investigation is ongoing to find out the best way to fix the problem, the
> problem seems not to be limited to omapdrm (but can be more or less difficult
> to reproduce depending on the driver). Ideas would be welcome, I've CC'ed
> maintainers of possibly affected drivers.
> 
> There's not much else to be said, details are explained in individual patches.
> 
> The patches can be found in my git tree at
> 
> 	git://linuxtv.org/pinchartl/fbdev.git omapdrm/next


I ran a few quick tests with your branch, on Pandaboard.

Something related to vblanks/timing is broken, and I can only get half
the fps. The "db" test app from my omapdrm-tests shows this easily.

I also got a few warnings (below), but that was before I applied your
"drm: omapdrm: Support unlinking page flip events prematurely" patch.
After that I didn't see those anymore.

I didn't see any other issues, but my tests were quite quick and simple.

 Tomi


[  190.434112] ------------[ cut here ]------------
[  190.439575] WARNING: CPU: 0 PID: 175 at
drivers/gpu/drm/omapdrm/omap_gem.c:1292 omap_gem_free_object+0x260/0x278
[omapdrm]()
[  190.451385] Modules linked in: omapdrm drm_kms_helper drm cfbfillrect
cfbimgblt cfbcopyarea panel_nec_nl8048hl11 panel_sony_acx565akm
panel_lgphilips_lb035q02 panel_dsi_cm pan
el_dpi connector_analog_tv connector_hdmi connector_dvi
encoder_tpd12s015 encoder_tfp410 omapdss
[  190.475860] CPU: 0 PID: 175 Comm: producer Not tainted
4.0.0-rc7-00759-g7290d47d0475 #4
[  190.485198] Hardware name: Generic OMAP4 (Flattened Device Tree)
[  190.485626] Backtrace:
[  190.493469] [<c00137dc>] (dump_backtrace) from [<c00139f0>]
(show_stack+0x18/0x1c)
[  190.502075]  r6:c0a07598 r5:c0a07598 r4:00000000 r3:00000000
[  190.505676] [<c00139d8>] (show_stack) from [<c068bf8c>]
(dump_stack+0xa4/0xd4)
[  190.515686] [<c068bee8>] (dump_stack) from [<c0045084>]
(warn_slowpath_common+0x84/0xc0)
[  190.524230]  r6:0000050c r5:bf145890 r4:00000000 r3:ed148b80
[  190.526794] [<c0045000>] (warn_slowpath_common) from [<c0045164>]
(warn_slowpath_null+0x24/0x2c)
[  190.539459]  r8:edac6678 r7:edf9eb98 r6:ee6b7800 r5:ed1b689c r4:ee713b80
[  190.545288] [<c0045140>] (warn_slowpath_null) from [<bf145890>]
(omap_gem_free_object+0x260/0x278 [omapdrm])
[  190.556945] [<bf145630>] (omap_gem_free_object [omapdrm]) from
[<bf0ae0bc>] (drm_gem_object_free+0x30/0x38 [drm])
[  190.567993]  r9:00000010 r8:edac6678 r7:edf9eb98 r6:ee2c2b10
r5:ee6b7834 r4:ee713b80
[  190.575134] [<bf0ae08c>] (drm_gem_object_free [drm]) from
[<bf146154>] (omap_gem_dmabuf_release+0xa8/0xb4 [omapdrm])
[  190.587432] [<bf1460ac>] (omap_gem_dmabuf_release [omapdrm]) from
[<c04211e0>] (dma_buf_release+0x54/0x17c)
[  190.597717]  r5:00000000 r4:ee60e800
[  190.601501] [<c042118c>] (dma_buf_release) from [<c016ba6c>]
(__fput+0x9c/0x1ec)
[  190.609283]  r9:00000010 r8:edac6678 r7:edf9eb98 r6:ee2c2b10
r5:edac6678 r4:ee6fce80
[  190.614654] [<c016b9d0>] (__fput) from [<c016bc24>] (____fput+0x10/0x14)
[  190.619750]  r10:ed148b80 r9:00000001 r8:00000000 r7:ed148b80
r6:c0a53738 r5:ed02ce40
[  190.632812]  r4:ed149084
[  190.635467] [<c016bc14>] (____fput) from [<c006099c>]
(task_work_run+0xbc/0x100)
[  190.643432] [<c00608e0>] (task_work_run) from [<c0047b20>]
(do_exit+0x390/0xb00)
[  190.651214]  r8:ebc16658 r7:ebc16600 r6:b6f75750 r5:c0a402c4
r4:ed14909c r3:0000003c
[  190.654876] [<c0047790>] (do_exit) from [<c0048314>]
(do_group_exit+0x48/0xc4)
[  190.667144]  r7:000000f8
[  190.670074] [<c00482cc>] (do_group_exit) from [<c00483a8>]
(__wake_up_parent+0x0/0x28)
[  190.678466]  r6:b6f75750 r5:00000000 r4:00000001 r3:ffffffff
[  190.684753] [<c0048390>] (SyS_exit_group) from [<c000f880>]
(ret_fast_syscall+0x0/0x4c)
[  190.693237] ---[ end trace 0f3a4a8e4c514be3 ]---




[  226.385437] ------------[ cut here ]------------
[  226.385437] WARNING: CPU: 0 PID: 185 at
drivers/gpu/drm/drm_fops.c:459 drm_release+0x418/0x464 [drm]()
[  226.385437] Modules linked in: omapdrm drm_kms_helper drm cfbfillrect
cfbimgblt cfbcopyarea panel_nec_nl8048hl11 panel_sony_acx565akm
panel_lgphilips_lb035q02 panel_dsi_cm pan
el_dpi connector_analog_tv connector_hdmi connector_dvi
encoder_tpd12s015 encoder_tfp410 omapdss
[  226.425781] CPU: 0 PID: 185 Comm: consumer Tainted: G        W
4.0.0-rc7-00759-g7290d47d0475 #4
[  226.435668] Hardware name: Generic OMAP4 (Flattened Device Tree)
[  226.441986] Backtrace:
[  226.442413] [<c00137dc>] (dump_backtrace) from [<c00139f0>]
(show_stack+0x18/0x1c)
[  226.452545]  r6:c0a07598 r5:c0a07598 r4:00000000 r3:00000000
[  226.456451] [<c00139d8>] (show_stack) from [<c068bf8c>]
(dump_stack+0xa4/0xd4)
[  226.466156] [<c068bee8>] (dump_stack) from [<c0045084>]
(warn_slowpath_common+0x84/0xc0)
[  226.474700]  r6:000001cb r5:bf0ad8ac r4:00000000 r3:e380a280
[  226.475097] [<c0045000>] (warn_slowpath_common) from [<c0045164>]
(warn_slowpath_null+0x24/0x2c)
[  226.489959]  r8:e57c52f4 r7:ee6b7834 r6:ee6b7800 r5:e57c52f8 r4:e57c5200
[  226.494720] [<c0045140>] (warn_slowpath_null) from [<bf0ad8ac>]
(drm_release+0x418/0x464 [drm])
[  226.506378] [<bf0ad494>] (drm_release [drm]) from [<c016ba6c>]
(__fput+0x9c/0x1ec)
[  226.506896]  r10:00000000 r9:00000008 r8:ed34d838 r7:edf3c240
r6:ee698910 r5:ed34d838
[  226.520416]  r4:ee762d40
[  226.525451] [<c016b9d0>] (__fput) from [<c016bc24>] (____fput+0x10/0x14)
[  226.525573]  r10:e380a280 r9:00000001 r8:00000000 r7:e380a280
r6:c0a53738 r5:ee6f4680
[  226.535339]  r4:e380a784
[  226.543457] [<c016bc14>] (____fput) from [<c006099c>]
(task_work_run+0xbc/0x100)
[  226.551239] [<c00608e0>] (task_work_run) from [<c0047b20>]
(do_exit+0x390/0xb00)
[  226.559020]  r8:e57c5658 r7:e57c5600 r6:b6f46750 r5:c0a402c4
r4:e380a79c r3:0000003d
[  226.567230] [<c0047790>] (do_exit) from [<c0048314>]
(do_group_exit+0x48/0xc4)
[  226.574829]  r7:000000f8
[  226.575164] [<c00482cc>] (do_group_exit) from [<c00483a8>]
(__wake_up_parent+0x0/0x28)
[  226.585845]  r6:b6f46750 r5:00000001 r4:00000001 r3:ffffffff
[  226.586181] [<c0048390>] (SyS_exit_group) from [<c000f880>]
(ret_fast_syscall+0x0/0x4c)
[  226.600250] ---[ end trace 0f3a4a8e4c514be4 ]---




-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150420/a527e3e8/attachment-0001.sig>


More information about the dri-devel mailing list