[PATCH v2 00/91] drm/vc4: Support BCM2711 Display Pipelin

Jian-Hong Pan jian-hong at endlessm.com
Mon May 11 03:12:05 UTC 2020


Jian-Hong Pan <jian-hong at endlessm.com> 於 2020年5月8日 週五 下午2:20寫道:
>
> Maxime Ripard <maxime at cerno.tech> 於 2020年5月8日 週五 上午1:22寫道:
> >
> > On Mon, May 04, 2020 at 02:35:08PM +0800, Jian-Hong Pan wrote:
> > > Maxime Ripard <maxime at cerno.tech> 於 2020年4月29日 週三 上午12:21寫道:
> > > >
> > > > Hi,
> > > >
> > > > On Mon, Apr 27, 2020 at 03:23:42PM +0800, Jian-Hong Pan wrote:
> > > > > Hi Maxime,
> > > > >
> > > > > Thanks for your V2 patch series!  I'm testing it.
> > > > >
> > > > > This patch series is applied upon mainline kernel 5.7-rc2 cleanly and built.
> > > > > System can boot into console text mode, but no graphic UI.
> > > > >
> > > > > Get the error in vc5_hdmi_phy_init(), and full dmesg is at [1]:
> > > > >
> > > > > [    5.587543] vc4_hdmi fef00700.hdmi: Unknown register ID 46
> > > > > [    5.587700] debugfs: Directory 'fef00700.hdmi' with parent 'vc4-hdmi' already present!
> > > > > [    5.588070] vc4_hdmi fef00700.hdmi: vc4-hdmi-hifi <-> fef00700.hdmi mapping ok
> > > > > [    5.588076] vc4_hdmi fef00700.hdmi: ASoC: no DMI vendor name!
> > > > > [    5.588263] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops)
> > > > > [    5.588299] vc4_hdmi fef05700.hdmi: Unknown register ID 46
> > > > > [    5.588373] debugfs: Directory 'vc4-hdmi' with parent 'asoc' already present!
> > > > > [    5.588673] vc4_hdmi fef05700.hdmi: vc4-hdmi-hifi <-> fef05700.hdmi mapping ok
> > > > > [    5.588677] vc4_hdmi fef05700.hdmi: ASoC: no DMI vendor name!
> > > > > [    5.588809] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops)
> > > > > [    5.588854] vc4-drm gpu: bound fe806000.vec (ops vc4_vec_ops)
> > > > > [    5.588897] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops)
> > > > > [    5.588934] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops)
> > > > > [    5.588990] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops)
> > > > > [    5.589030] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops)
> > > > > [    5.589074] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops)
> > > > > [    5.589106] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops)
> > > > > [    5.589145] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops)
> > > > > [    5.589294] checking generic (3e513000 6d8c00) vs hw (0 ffffffffffffffff)
> > > > > [    5.589297] fb0: switching to vc4drmfb from simple
> > > > > [    5.589433] Console: switching to colour dummy device 80x25
> > > > > [    5.589481] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
> > > > > [    5.589816] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0
> > > > > [    5.601079] ------------[ cut here ]------------
> > > > > [    5.601095] WARNING: CPU: 2 PID: 127 at drivers/gpu/drm/vc4/vc4_hdmi_phy.c:413 vc5_hdmi_phy_init+0x7ac/0x2078
> > > > > [    5.601097] Modules linked in:
> > > > > [    5.601103] CPU: 2 PID: 127 Comm: kworker/2:1 Not tainted 5.7.0-rc2-00091-ga181df59a930 #7
> > > > > [    5.601105] Hardware name: Raspberry Pi 4 Model B (DT)
> > > > > [    5.601112] Workqueue: events deferred_probe_work_func
> > > > > [    5.601116] pstate: 20000005 (nzCv daif -PAN -UAO)
> > > > > [    5.601119] pc : vc5_hdmi_phy_init+0x7ac/0x2078
> > > > > [    5.601123] lr : vc4_hdmi_encoder_enable+0x1b8/0x1ac0
> > > > > [    5.601124] sp : ffff80001217b410
> > > > > [    5.601126] x29: ffff80001217b410 x28: ffff0000ec6370f0
> > > > > [    5.601129] x27: ffff0000f650d400 x26: 000000008a500000
> > > > > [    5.601132] x25: ffff8000113b4ac0 x24: 0000000000002060
> > > > > [    5.601135] x23: 000000000a500000 x22: 0000000000000300
> > > > > [    5.601137] x21: 0000000008d9ee20 x20: ffff0000ec535080
> > > > > [    5.601140] x19: 000000010989e7c0 x18: 0000000000000000
> > > > > [    5.601142] x17: 0000000000000001 x16: 0000000000005207
> > > > > [    5.601145] x15: 00004932ad293c92 x14: 0000000000000137
> > > > > [    5.601147] x13: ffff800010015000 x12: 0000000000000001
> > > > > [    5.601150] x11: 0000000000000001 x10: 0000000000000000
> > > > > [    5.601152] x9 : 0000000000000000 x8 : ffff800010015038
> > > > > [    5.601154] x7 : 0000000000000001 x6 : ffff80001217b368
> > > > > [    5.601157] x5 : 0000000000000000 x4 : 000000000000004c
> > > > > [    5.601159] x3 : 0000000000000000 x2 : ffff8000113b4ac0
> > > > > [    5.601162] x1 : ffff8000120c5f44 x0 : 00000000dc8984ff
> > > > > [    5.601164] Call trace:
> > > > > [    5.601169]  vc5_hdmi_phy_init+0x7ac/0x2078
> > > > > [    5.601172]  vc4_hdmi_encoder_enable+0x1b8/0x1ac0
> > > > > [    5.601176]  drm_atomic_helper_commit_modeset_enables+0x224/0x248
> > > > > [    5.601179]  vc4_atomic_complete_commit+0x400/0x558
> > > > > [    5.601182]  vc4_atomic_commit+0x1e0/0x200
> > > > > [    5.601185]  drm_atomic_commit+0x4c/0x60
> > > > > [    5.601190]  drm_client_modeset_commit_atomic.isra.0+0x17c/0x238
> > > > > [    5.601192]  drm_client_modeset_commit_locked+0x5c/0x198
> > > > > [    5.601195]  drm_client_modeset_commit+0x30/0x58
> > > > > [    5.601201]  drm_fb_helper_restore_fbdev_mode_unlocked+0x78/0xe0
> > > > > [    5.601204]  drm_fb_helper_set_par+0x30/0x68
> > > > > [    5.601208]  fbcon_init+0x3d4/0x598
> > > > > [    5.601212]  visual_init+0xb0/0x108
> > > > > [    5.601214]  do_bind_con_driver+0x1d0/0x3a8
> > > > > [    5.601217]  do_take_over_console+0x144/0x208
> > > > > [    5.601219]  do_fbcon_takeover+0x68/0xd8
> > > > > [    5.601222]  fbcon_fb_registered+0x100/0x118
> > > > > [    5.601226]  register_framebuffer+0x1f4/0x338
> > > > > [    5.601229]  __drm_fb_helper_initial_config_and_unlock+0x2f8/0x4a0
> > > > > [    5.601232]  drm_fbdev_client_hotplug+0xd4/0x1b0
> > > > > [    5.601235]  drm_fbdev_generic_setup+0xb0/0x130
> > > > > [    5.601238]  vc4_drm_bind+0x184/0x1a0
> > > > > [    5.601241]  try_to_bring_up_master+0x168/0x1c8
> > > > > [    5.601244]  __component_add+0xa4/0x170
> > > > > [    5.601246]  component_add+0x14/0x20
> > > > > [    5.601248]  vc4_vec_dev_probe+0x20/0x30
> > > > > [    5.601252]  platform_drv_probe+0x54/0xa8
> > > > > [    5.601254]  really_probe+0xd8/0x320
> > > > > [    5.601256]  driver_probe_device+0x58/0xf0
> > > > > [    5.601258]  __device_attach_driver+0x84/0xc8
> > > > > [    5.601263]  bus_for_each_drv+0x78/0xc8
> > > > > [    5.601265]  __device_attach+0xe4/0x140
> > > > > [    5.601267]  device_initial_probe+0x14/0x20
> > > > > [    5.601269]  bus_probe_device+0x9c/0xa8
> > > > > [    5.601271]  deferred_probe_work_func+0x74/0xb0
> > > > > [    5.601276]  process_one_work+0x1bc/0x338
> > > > > [    5.601279]  worker_thread+0x1f8/0x428
> > > > > [    5.601282]  kthread+0x138/0x158
> > > > > [    5.601286]  ret_from_fork+0x10/0x1c
> > > > > [    5.601288] ---[ end trace cfba0996218c3f3d ]---
> > > >
> > > > Thanks for testing!
> > > >
> > > > Do you have a bit more details regarding your setup? Was it connected to an
> > > > external display?
> > >
> > > Yes, the HDMI cable is connected to HDMI0 port on RPi 4.
> > >
> > > > If so, do you know the resolution it was trying to setup?
> > >
> > > According to the log, I think it is 1920x1080:
> > > Apr 27 15:37:25 endless gdm-Xorg-:0[1960]: (II) modeset(0): Output
> > > HDMI-1 connected
> > > Apr 27 15:37:25 endless gdm-Xorg-:0[1960]: (II) modeset(0): Output
> > > HDMI-2 disconnected
> > > Apr 27 15:37:25 endless gdm-Xorg-:0[1960]: (II) modeset(0): Output
> > > Composite-1 disconnected
> > > Apr 27 15:37:25 endless gdm-Xorg-:0[1960]: (II) modeset(0): Using
> > > exact sizes for initial modes
> > > Apr 27 15:37:25 endless gdm-Xorg-:0[1960]: (II) modeset(0): Output
> > > HDMI-1 using initial mode 1920x1080 +0+0
> > >
> > > https://gist.github.com/starnight/45e1468bfa0426a54d2fb4a9269cfb94
> >
> > It looks to be fairly standard then, and I'm testing on the same resolution so
> > it should be alright.
> >
> > Given from your log, it looks like you're running as arm64 though, while I stuck
> > with arm32, so it could be the explanation.
>
> Yes, I build it as arm64.
>
> > Can you share your config.txt and .config so that I can try to reproduce it
> > here?
>
> Here is the config
> https://gist.github.com/starnight/320b757441b6769c36160704b401c98b

Here is the only one line in config.txt:
enable_uart=1

Actually, we make the Raspberry Pi's firmware bring up U-Boot, then
U-Boot boots kernel.

Jian-Hong Pan


More information about the dri-devel mailing list