[BUG] drm_rockchip: rk3066_hdmi: No driver support for vblank timestamp query.

Tomasz Figa tfiga at chromium.org
Tue Nov 27 09:11:23 UTC 2018


Hi Johan,

Adding the dri-devel mailing lists and some maintainers.

On Sun, Nov 25, 2018 at 12:53 AM Johan Jonker <jbx9999 at hotmail.com> wrote:
>
> For a TV stick called MK808 with rk3066 processor I would like to enable
> the VOP and HDMI.
> With boot logo and console enabled I can see 2 pinguins and a cursor for
> a second and then the display is black.
> From a internet search I learned that the rk3066 doesn't support a
> vblank counter.
> Yet they have replaced the Rockchip custom wait_for_vblanks with a drm
> helper.

All of the Rockchip SoCs supported by the upstream driver lack a
vblank counter and the code that you refer to is designed for this
limitation in particular. I suspect the problem you're seeing is
unrelated.

>
> Question for the authors and reviewers:
>
> -Did anyone test this convert on a rk3066?

Not sure. I have tested internally on RK3399.

> -Can someone with more knowledge explane what happens in this crash
> rapport below.

To me, it looks like the vblank interrupt

> -Can this be fixed?
>

Very likely. :)

> Please contact if more info is needed.
>

I don't see display support enabled in the rk3066-mk808.dts in latest upstream:
https://elixir.bootlin.com/linux/latest/source/arch/arm/boot/dts/rk3066a-mk808.dts

Do you have any local changes in your kernel sources?

Best regards,
Tomasz

> Kind regards,
>
> Johan Jonker
>
> ///////////////////////////////////////////
>
> Reference:
>
> -drm/rockchip: Replace custom wait_for_vblanks with helper
> https://patchwork.kernel.org/patch/9331351/
>
> -drm/rockchip: don't wait for vblank if fb hasn't changed
> https://patchwork.kernel.org/patch/8024741/
>
> -explain why we can't wait_for_vblanks
> https://lore.kernel.org/patchwork/patch/635586/
>
> -drm/rockchip: Convert to support atomic API
> https://patchwork.kernel.org/patch/7732341/
>
> -drm/rockchip: Convert to support atomic API
> https://patchwork.kernel.org/patch/7868601/
>
> https://lkml.org/lkml/2017/9/4/251
>
>
> //////////////////////////////////////////
>
> [    0.897682] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> [    0.904616] [drm] No driver support for vblank timestamp query.
>
> [    1.440201] [drm:drm_calc_timestamping_constants] crtc 30: hwmode:
> htotal 1650, vtotal 750, vdisplay 720
> [    1.440212] [drm:drm_calc_timestamping_constants] crtc 30: clock
> 74250 kHz framedur 16666666 linedur 22222
>
> [    1.440307] [drm:drm_crtc_vblank_on] crtc 0, vblank enabled 0,
> inmodeset 0
>
> [    1.451189] [drm:drm_vblank_enable] enabling vblank on crtc 0, ret: 0
>
> [    1.451202] [drm:drm_update_vblank_count] updating vblank count on
> crtc 0: current=1, diff=0, hw=0 hw_last=0
> .
> .
> .
> .
> [    4.303883] [drm:drm_update_vblank_count] updating vblank count on
> crtc 0: current=113, diff=1, hw=0 hw_last=0
> [    4.304140] Warning: unable to open an initial console.
>
>
> [    6.777825] ------------[ cut here ]------------
> [    6.786554] WARNING: CPU: 0 PID: 19 at
> drivers/gpu/drm/drm_atomic_helper.c:1406
> drm_atomic_helper_wait_for_vblanks.part.1+0x298/0x2a0
> [    6.800803] [CRTC:30:crtc-0] vblank wait timed out
> [    6.806701] Modules linked in:
> [    6.810317] CPU: 0 PID: 19 Comm: kworker/0:1 Not tainted
> 4.20.0-rc1-g0d694f0b3-dirty #19
> [    6.819938] Hardware name: Rockchip (Device Tree)
> [    6.825498] Workqueue: events output_poll_execute
> [    6.831062] [<c01104a0>] (unwind_backtrace) from [<c010c868>]
> (show_stack+0x10/0x14)
> [    6.840191] [<c010c868>] (show_stack) from [<c069e538>]
> (dump_stack+0x88/0x9c)
> [    6.848729] [<c069e538>] (dump_stack) from [<c0122784>]
> (__warn+0xf8/0x110)
> [    6.856936] [<c0122784>] (__warn) from [<c01227e4>]
> (warn_slowpath_fmt+0x48/0x6c)
> [    6.873544] [<c01227e4>] (warn_slowpath_fmt) from [<c0445b04>]
> (drm_atomic_helper_wait_for_vblanks.part.1+0x298/0x2a0)
> [    6.886148] [<c0445b04>] (drm_atomic_helper_wait_for_vblanks.part.1)
> from [<c0477fec>] (rockchip_atomic_helper_commit_tail_rpm+0x17c/0x194)
> [    6.900896] [<c0477fec>] (rockchip_atomic_helper_commit_tail_rpm)
> from [<c0447418>] (commit_tail+0x40/0x6c)
> [    6.912370] [<c0447418>] (commit_tail) from [<c0447508>]
> (drm_atomic_helper_commit+0xbc/0x128)
> [    6.922515] [<c0447508>] (drm_atomic_helper_commit) from [<c0449b38>]
> (restore_fbdev_mode_atomic+0x1cc/0x1dc)
> [    6.934196] [<c0449b38>] (restore_fbdev_mode_atomic) from
> [<c044d34c>] (drm_fb_helper_restore_fbdev_mode_unlocked+0x54/0xa0)
> [    6.947410] [<c044d34c>] (drm_fb_helper_restore_fbdev_mode_unlocked)
> from [<c044d3c8>] (drm_fb_helper_set_par+0x30/0x54)
> [    6.960213] [<c044d3c8>] (drm_fb_helper_set_par) from [<c044d2b4>]
> (drm_fb_helper_hotplug_event.part.9+0x90/0xa8)
> [    6.972305] [<c044d2b4>] (drm_fb_helper_hotplug_event.part.9) from
> [<c043cd70>] (drm_kms_helper_hotplug_event+0x24/0x30)
> [    6.985108] [<c043cd70>] (drm_kms_helper_hotplug_event) from
> [<c043cf30>] (output_poll_execute+0x188/0x1a0)
> [    6.996583] [<c043cf30>] (output_poll_execute) from [<c013bc68>]
> (process_one_work+0x218/0x508)
> [    7.006829] [<c013bc68>] (process_one_work) from [<c013ca9c>]
> (worker_thread+0x30/0x59c)
> [    7.016360] [<c013ca9c>] (worker_thread) from [<c01415b0>]
> (kthread+0x124/0x154)
> [    7.025073] [<c01415b0>] (kthread) from [<c01010e8>]
> (ret_from_fork+0x14/0x2c)
> [    7.033567] Exception stack(0xeea3dfb0 to 0xeea3dff8)
> [    7.039514] dfa0:                                     00000000
> 00000000 00000000 00000000
> [    7.049145] dfc0: 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 00000000
> [    7.058774] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
> [    7.066677] ---[ end trace aaf7d2040cebe21e ]---
>


More information about the dri-devel mailing list