cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
1,436 Views
Registered: ‎06-10-2019

drm_atomic_helper_wait_for_vblanks : Error

Jump to solution

Hi All,

I am using Xilinx HDMI sample user space code to see HDMI passthrough work on ZCU106. Those who has HDMI user space code can see its throwing error before it create dumb buffer and framebuffer for scanout. 

drm_helper.c file which create dumb buffer.

You can probably get source code from here: 

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/299008286/HDMI+FrameBuffer+Example+Design+2019.2

 

I have enable debug log for more testing:

/sys/devices/platform/amba_pl@0/80041000.i2c/i2c-0/0-0050
[vlib debug] rx_ss_sysfs = /sys/devices/platform/amba_pl@0/80000000.v_hdmi_rx_ss
[vlib debug] tx_ss_sysfs = /sys/devices/platform/amba_pl@0/80020000.v_hdmi_tx_ss
[vlib debug] i2c_hdcp_eeprom_sysfs = /sys/devices/platform/amba_pl@0/80041000.i2c/i2c-0/0-0050
[vlib debug] tx_conn_status = /sys/class/drm/card0-HDMI-A-1
***WARNING*** No EEPROM found in dt node
Could not open /sys/devices/platform/amba_pl@0/80041000.i2c/i2c-0/0-0050/eeprom
Failed to read HDCP EEPROM.

---------------------
--- MAIN MENU ---
---------------------
i - Info
=> Displays HDMI info.
h - HDCP Info
=> Displays HDCP info.
d - Display Logs
=> Display HDMI and HDCP logs.
c - Colorbar
=> Displays the colorbar on the source output.
r - Resolution
=> Change the video resolution of the testpattern.
f - Pixel-Format
=> Change the pixel-format of the testpattern.
p - Pass-through
=> Passes the HDMI sink input to source output.
t - Tiles-pattern
=> Displays a tile-pattern on the source output.
e - EDID
=> Display and set edid.
99 - Exit
The application will auto-switch to HDMI when the HDMI input changes.


Enter your choice : p
[vlib debug] choice/ getInput() = 'p' (112)
[vlib debug] Selected 'Pass-through'

[vlib debug] ****vlib_change_mode()****
[vlib debug] config: src=HDMI_IN, type=0
[vlib debug] rx_cable: Connected
[vlib debug] tx_cable: Connected
[vlib debug] drm_uninit()
[vlib debug] drm_uninit() num_planes = 0
[vlib debug] drmModeRmFB() = -2
[vlib debug] Free FB 0
[vlib debug] drm_uninit() num_planes = 0
[vlib debug] drmModeRmFB() = -2
[vlib debug] Free FB 1
[vlib debug] drm_uninit() num_planes = 0
[vlib debug] drmModeRmFB() = -2
[vlib debug] Free FB 2
[vlib debug] drm_uninit() num_planes = 0
[vlib debug] drmModeRmFB() = -2
[vlib debug] Free FB 3
[vlib debug] dv.query passed
[vlib debug] v4l2_subdev_query_dv_timings = 0
[vlib debug] Copying HDMI input resolution '3840x2160' @60fps to DRM.
[vlib debug] Copying HDMI input resolution '3840x2160' @60fps to DRM.
[vlib debug] v4l2_subdev_get_format = 0
[vlib debug] v4l2_subdev_get_format() = 0
[vlib debug] [fmt:RBG888_1X24/3840x2160[vlib debug] field:none[vlib debug] ]
RGB 8bit detected MEDIA_BUS_FMT_RBG888_1X24 Capture - RGB3, Display - BG24
[vlib info] Setting up resolution 3840x2160@RGB3
[vlib debug] vlib_drm_init(width = 3840, height = 2160, preferred_mode=0
[vlib debug] CRTC[0] 29
[vlib debug] drm_find_crtc(): Assigning dev->crtc_index = idx = 0, dev->crtc_id = 29
[vlib debug]
HOTPLUG DETECTED - TX CABLE CONNECTED
[vlib debug]
HOTPLUG DETECTED - TX CABLE CONNECTED
[vlib debug] drm_find_plane

[vlib debug] plane 1/1:
[vlib debug] crtc id: 0
[vlib debug] plane id: 28
[vlib debug] plane format: 875709016 (0x34324258) (XB24)
[vlib debug] plane resolution: 0x0
[vlib debug] plane type: Primary
[vlib debug] plane format count: 11

[vlib debug] plane crtc mismatch (plane->crtc_id != dev->crtc_id)
[vlib debug] plane->formats[0]=XB24, dev->format=BG24
[vlib debug] plane->formats[1]=XR24, dev->format=BG24
[vlib debug] plane->formats[2]=XV24, dev->format=BG24
[vlib debug] plane->formats[3]=VU24, dev->format=BG24
[vlib debug] plane->formats[4]=YUYV, dev->format=BG24
[vlib debug] plane->formats[5]=UYVY, dev->format=BG24
[vlib debug] plane->formats[6]=NV16, dev->format=BG24
[vlib debug] plane->formats[7]=NV12, dev->format=BG24
[vlib debug] plane->formats[8]=BG24, dev->format=BG24
[vlib debug] plane supports requested CRTC and format, accepting plane.
[vlib debug] drm_init() dev->crtc_id = 29 on exit
[vlib debug] drm_post_init() dev->crtc_id [ 55.421556] ------------[ cut here ]------------
= 29 on entry.
[vlib debug] drm_buffer_create :: width 3840 hei[ 55.429617] [CRTC:29:crtc-0] vblank wait timed out
ght 2160
[vlib debug] BG24 format_info->num_planes = 1
[vlib [ 55.439993] WARNING: CPU: 2 PID: 2504 at drivers/gpu/drm/drm_atomic_helper.c:1386 drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288
debug] gem.width = 3840, gem.height = 2160, gem.bpp = 24
[vlib [ 55.457643] Modules linked in: dmaproxy(O) xilinx_hdmi_rx(O) xilinx_hdmi_tx(O) xilinx_vphy(O) dp159(O) uio_pdrv_genirq
debug] =>gem.size = 24883200
[vlib debug] dmabuf_fd[0] = 6
[vl[ 55.473881] CPU: 2 PID: 2504 Comm: video_cmd Tainted: G O 4.19.0 #1
ib debug] pitches[0] = 3840 / 1 * 3 = 11520
[vlib debug] offset[ 55.486984] Hardware name: ZynqMP ZCU106 RevA (DT)
s[0] = 0
[vlib debug] dmabuf_fd[0] = 6
[vlib debug] offsets[0][ 55.497317] pstate: 60000005 (nZCv daif -PAN -UAO)
= 0, offsets[1] = 0
[vlib debug] drmModeAddFB2 (args):: 3840 2[ 55.507648] pc : drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288
160 0x34324742 BG24
[vlib debug] b->drm_buff[0] = 0x7f94bd6000[ 55.519713] lr : drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288

[vlib debug] drm_buffer_create :: width 3840 height 2160
[vl[ 55.531777] sp : ffffff800ccd39b0
ib debug] BG24 format_info->num_planes = 1
[vlib debug] gem.wid[ 55.540632] x29: ffffff800ccd39b0 x28: 0000000000000000
th = 3840, gem.height = 2160, gem.bpp = 24
[vlib debug] =>gem.s[ 55.551483] x27: 0000000000000002 x26: ffffffc877533800
ize = 24883200
[vlib debug] dmabuf_fd[0] = 7
[vlib debug] pitc[ 55.562334] x25: 0000000000000000 x24: 0000000000000001
hes[0] = 3840 / 1 * 3 = 11520
[vlib debug] offsets[0] = 0
[vli[ 55.573185] x23: 0000000000000038 x22: 0000000000000001
b debug] dmabuf_fd[0] = 7
[vlib debug] offsets[0] = 0, offsets[[ 55.584036] x21: ffffffc878474700 x20: ffffffc879016028
1] = 0
[vlib debug] drmModeAddFB2 (args):: 3840 2160 0x34324742[ 55.594887] x19: 0000000000000000 x18: 0000000000000010
BG24
[vlib debug] b->drm_buff[0] = 0x7f8e845000
[vlib debug][ 55.605738] x17: 0000000000000000 x16: 0000000000000000
drm_buffer_create :: width 3840 height 2160
[vlib debug] BG24[ 55.616590] x15: ffffffffffffffff x14: ffffff80090f8648
format_info->num_planes = 1
[vlib debug] gem.width = 3840, gem[ 55.627441] x13: ffffff80891935cf x12: ffffff80091935d7
.height = 2160, gem.bpp = 24
[vlib debug] =>gem.size = 24883200[ 55.638292] x11: ffffff800910a000 x10: ffffff800ccd3690

[vlib debug] dmabuf_fd[0] = 8
[vlib debug] pitches[0] = 3840 [ 55.649143] x9 : ffffff80090f8648 x8 : ffffff800854d950
/ 1 * 3 = 11520
[vlib debug] offsets[0] = 0
[vlib debug] dmabu[ 55.659994] x7 : 5d302d637472633a x6 : 000000000000017f
f_fd[0] = 8
[vlib debug] offsets[0] = 0, offsets[1] = 0
[vlib [ 55.670845] x5 : 0000000000000003 x4 : 0000000000000000
debug] drmModeAddFB2 (args):: 3840 2160 0x34324742 BG24
[vlib [ 55.681696] x3 : 0000000000000000 x2 : ffffffffffffffff
debug] b->drm_buff[0] = 0x7f8d08a000
[vlib debug] drm_buffer_cr[ 55.692547] x1 : bbee8b47d5111a00 x0 : 0000000000000000
eate :: width 3840 height 2160
[vlib debug] BG24 format_info->[ 55.703399] Call trace:
num_planes = 1
[vlib debug] gem.width = 3840, gem.height = 2160[ 55.711388] drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288
, gem.bpp = 24
[vlib debug] =>gem.size = 24883200
[vlib debug][ 55.723106] drm_atomic_helper_commit_tail+0x60/0x78
dmabuf_fd[0] = 9
[vlib debug] pitches[0] = 3840 / 1 * 3 = 1152[ 55.733609] commit_tail+0x74/0x78
0
[vlib debug] offsets[0] = 0
[vlib debug] dmabuf_fd[0] = 9
[[ 55.742551] drm_atomic_helper_commit+0xc8/0x140
vlib debug] offsets[0] = 0, offsets[1] = 0
[vlib debug] drmMode[ 55.752710] drm_atomic_commit+0x48/0x58
AddFB2 (args):: 3840 2160 0x34324742 BG24
[vlib debug] b->drm_[ 55.762170] drm_atomic_helper_set_config+0xa0/0xb0
buff[0] = 0x7f8b8cf000
[vlib debug] buffers ready
[vlib debug][ 55.772589] drm_mode_setcrtc+0x144/0x5d8
drm_set_mode()
[vlib debug] drm_set_mode() saving the existing[ 55.782136] drm_ioctl_kernel+0xb4/0x100
CRTC
[vlib debug] drm_set_mode() connector->modes[j].vrefresh [ 55.791598] drm_ioctl+0x204/0x3a8
= 30, v_pipe->fps = 60, selecting loose match mode index 0
[vli[ 55.800541] do_vfs_ioctl+0xb8/0x8a0
b debug] drmModeSetCrtc set resolution [3840x2160] (mode index 0[ 55.809654] ksys_ioctl+0x44/0x90
) on the CRTC 29 FB buffer 87
[vlib debug] v_pipe->w,v_pipe->h [ 55.818509] __arm64_sys_ioctl+0x1c/0x28
:: 3840 x 2160
[vlib debug] drmModeSetCrtc dev->prim_plane.x, d[ 55.827973] el0_svc_common+0x84/0xd8
ev->prim_plane.y = 0 x 0
[ 55.837172] el0_svc_handler+0x68/0x80
[ 55.843162] el0_svc+0x8/0xc
[ 55.846025] ---[ end trace ea2d137c60422a64 ]---
[vlib debug] drm_post_init() dev->crtc_id = 29 on exit.
[vlib debug] vlib :: DRM Init done ..
[vlib debug] v4l2_parse_node(vcap_hdmi output 0)
[vlib debug] init_s2m_pipeline(struct video_pipeline *s->num_planes =1)
[vlib debug] v4l2_init()
[vlib debug] v4l2_init() opening /dev/video0
[vlib debug] dev->format.pixelformat = RGB3
[vlib debug] G_FMT(start): width = 1920, height = 0, num_planes = 0, bytesperline[0] = 3840, bytesperline[1] = 0,4cc = YUYV, color space = 8
[vlib debug] S_FMT(start): width = 3840, height = 2160, num_planes = 1, bytesperline[0] = 11520, bytesperline[1] = 0,4cc = RGB3, color space = 8
[vlib debug] G_FMT(final): width = 3840, height = 2160, num_planes = 1, bytesperline[0] = 11520, bytesperline[1] = 0,4cc = RGB3, color space = 8
[vlib debug] fmt.fmt.pix.pixelformat = RGB3
[vlib debug] dev->format.pixelformat = RGB3
[vlib debug] video_setup->eventloop = -1799532128
[vlib debug] process_s2m_event_loop() v_pipe->drm.d_buff[i].num_planes = 1
[vlib debug] v_pipe->drm.d_buff[0].dmabuf_fd[0] = 6
[vlib debug] v_pipe->drm.d_buff[0].offsets[0] = 0
[vlib debug] v_pipe->drm.d_buff[0].lengths[0] = 24883200
[vlib debug] process_s2m_event_loop() v_pipe->drm.d_buff[i].num_planes = 1
[vlib debug] v_pipe->drm.d_buff[1].dmabuf_fd[0] = 7
[vlib debug] v_pipe->drm.d_buff[1].offsets[0] = 0
[vlib debug] v_pipe->drm.d_buff[1].lengths[0] = 24883200
[vlib debug] process_s2m_event_loop() v_pipe->drm.d_buff[i].num_planes = 1
[vlib debug] v_pipe->drm.d_buff[2].dmabuf_fd[0] = 8
[vlib debug] v_pipe->drm.d_buff[2].offsets[0] = 0
[vlib debug] v_pipe->drm.d_buff[2].lengths[0] = 24883200
[vlib debug] process_s2m_event_loop() v_pipe->drm.d_buff[i].num_planes = 1
[vlib debug] v_pipe->drm.d_buff[3].dmabuf_fd[0] = 9
[vlib debug] v_pipe->drm.d_buff[3].offsets[0] = 0
[vlib debug] v_pipe->drm.d_buff[3].lengths[0] = 24883200
[vlib debug] vlib :: Video Capture Pipeline started
[ 66.061576] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:29:crtc-0] flip_done timed out
[ 76.301617] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:28:plane-0] flip_done timed out
[ 76.365559] ------------[ cut here ]------------
[ 76.370172] [CRTC:29:crtc-0] vblank wait timed out
[ 76.374998] WARNING: CPU: 2 PID: 2521 at drivers/gpu/drm/drm_atomic_helper.c:1386 drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288
[ 76.387154] Modules linked in: dmaproxy(O) xilinx_hdmi_rx(O) xilinx_hdmi_tx(O) xilinx_vphy(O) dp159(O) uio_pdrv_genirq
[ 76.397854] CPU: 2 PID: 2521 Comm: video_cmd Tainted: G W O 4.19.0 #1
[ 76.405410] Hardware name: ZynqMP ZCU106 RevA (DT)
[ 76.410186] pstate: 60000005 (nZCv daif -PAN -UAO)
[ 76.414962] pc : drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288
[ 76.421480] lr : drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288
[ 76.427988] sp : ffffff800cba3940
[ 76.431287] x29: ffffff800cba3940 x28: 0000000000000000
[ 76.436591] x27: 0000000000000003 x26: ffffffc877533800
[ 76.441895] x25: 0000000000000000 x24: 0000000000000001
[ 76.447199] x23: 0000000000000038 x22: 0000000000000001
[ 76.452503] x21: ffffffc877458780 x20: ffffffc879016028
[ 76.457807] x19: 0000000000000000 x18: 0000000000000010
[ 76.463102] x17: 0000000000000000 x16: 0000000000000000
[ 76.468407] x15: ffffffffffffffff x14: ffffff80090f8648
[ 76.473711] x13: ffffff80891935cf x12: ffffff80091935d7
[ 76.479015] x11: ffffff800910a000 x10: ffffff800cba3620
[ 76.484319] x9 : 00000000ffffffd0 x8 : ffffff800854d950
[ 76.489623] x7 : 5d302d637472633a x6 : 00000000000001ab
[ 76.494926] x5 : 0000000000000003 x4 : 0000000000000000
[ 76.500222] x3 : 0000000000000000 x2 : ffffffffffffffff
[ 76.505517] x1 : bbee8b47d5111a00 x0 : 0000000000000000
[ 76.510822] Call trace:
[ 76.513255] drm_atomic_helper_wait_for_vblanks.part.9+0x270/0x288
[ 76.519427] drm_atomic_helper_commit_tail+0x60/0x78
[ 76.524374] commit_tail+0x74/0x78
[ 76.527760] drm_atomic_helper_commit+0xc8/0x140
[ 76.532362] drm_atomic_commit+0x48/0x58
[ 76.536276] drm_atomic_helper_update_plane+0xf4/0x148
[ 76.541398] __setplane_atomic+0xe8/0x148
[ 76.545399] drm_mode_setplane+0xf8/0x2a8
[ 76.549393] drm_ioctl_kernel+0xb4/0x100
[ 76.553307] drm_ioctl+0x204/0x3a8
[ 76.556695] do_vfs_ioctl+0xb8/0x8a0
[ 76.560261] ksys_ioctl+0x44/0x90
[ 76.563560] __arm64_sys_ioctl+0x1c/0x28
[ 76.567468] el0_svc_common+0x84/0xd8
[ 76.571121] el0_svc_handler+0x68/0x80
[ 76.574853] el0_svc+0x8/0xc
[ 76.577717] ---[ end trace ea2d137c60422a65 ]---
^C
[ 86.797565] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:29:crtc-0] flip_done timed out

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
1,112 Views
Registered: ‎06-10-2019

@rajatrao  I manage to get it working. again issue was in pl.dts  in drm dts and si5319 so manually added. Xilinx pls fix auto dts build issue as its really nightmare and its more nightmare when this entry need to add manually. I can see fb0 in /dev ,and I can see pixel passthrough working.

NOTE: I still see kernel panicking message for "drivers/gpu/drm/drm_atomic_helper.c:1386 drm_atomic_helper_wait_for_vblanks.part "

Any advise to fix this warning message will be greatly appreciated. 

I am not planning to use HDMI TX at this point so I am not worry about this "wait_for_vblanks" for moment so marking as a fixed this issue. 

@watariThank you for your time and help so far.

View solution in original post

13 Replies
Highlighted
Teacher
Teacher
1,412 Views
Registered: ‎06-16-2013

Hi @systemsdeveloper 

 

Would you explain the followings ?

 

- Source and sink device information

- Your target resolution and related information

 

It's hard to understand without their information.

 

Best regards,

0 Kudos
Highlighted
1,366 Views
Registered: ‎06-10-2019

@watari  Sorry , I should write this information.

Target resolution is 4K60. I want to do passthrough so HDMI RX is conencted to laptop and HDMI TX is connected to 4K supported monitor. I can see on windows laptop setup 4K extended screen. I am using 2019.2.

0 Kudos
Highlighted
1,315 Views
Registered: ‎06-10-2019

@watari 

looks like known issue:

https://forums.xilinx.com/t5/Vivado/CRTC-37-crtc-0-vblank-wait-timed-out/td-p/956457

When you go there:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/37486769/Zynq+UltraScale+MPSoC+VCU+TRD+2018.3+-+Run+and+Build+Flow#ZynqUltraScale+MPSoCVCUTRD2018.3-RunandBuildFlow-3BuildFlow 

You can see on NOTE :

file://0004-drm_atomic_helper-Supress-vblank-timeout-warning-mes.patch \

Looks like that patch doesn't work with 2019.2.

https://patchwork.kernel.org/patch/9551569/ 

I am sure setting up resolution doesn't related to  this issue, I tried 1080p same kernel panic message. What annoying me this error happened just after setting up dumb buffer. what could cause this vblanks error?

Any suggestion please?

Note: I am not interested in VCU-TRD work, I am interested in HDMI passthrough only.

 

 

 

0 Kudos
Highlighted
1,280 Views
Registered: ‎06-10-2019

I tried increasing timeout but obviously, doesn't work as it goes wrong later stage. debugging DRM driver but looks like nothing obvious wrong.    @nathanx  you had answer previously on similar error post, do you know what was the issue?

@kvasantr Any suggestion on this issue?

 

0 Kudos
Highlighted
Teacher
Teacher
1,260 Views
Registered: ‎06-16-2013

Hi @systemsdeveloper 

 

>fike://0004-drm_atomic_helper-Supress-vblank-timeout-warning-mes.patch \

>Looks like that patch doesn't work with 2019.2.

>https://patchwork.kernel.org/patch/9551569/ 

>I am sure setting up resolution doesn't related to  this issue, I tried 1080p same kernel panic message. What annoying me this error happened just after setting up dumb buffer. what could cause this vblanks error?

 

As you know, petalinux 2018.X is used in kernel 4.14 and petalinux 2019.X is used in ketnel 4.19.

So you directly can't do patch it and you must consider difference between different kernels.

 

The best way is to upgrade your environment to be able to do patch.

Would you consider an upgrade ?

 

Best regards,

0 Kudos
Highlighted
1,246 Views
Registered: ‎06-10-2019

@watari  upgrade looks to me risky. Let's stay with 2019.2 kernel 4.19. how can I move further? 

0 Kudos
Highlighted
Explorer
Explorer
1,226 Views
Registered: ‎08-04-2016

Hi @systemsdeveloper ,

Do you have only a frmbuf_rd,wr for passthrough? I have also been unsuccessful in making such a design work: https://forums.xilinx.com/t5/Video/Removing-video-mixer-from-VCU-TRD/td-p/1073550

The problem, according to me, is that the frmbuf_rd driver doesn't really work. Do you see a /dev/fb0 entry and the drm getting registered? My solution is to replace frmbuf_rd with v_mix.

0 Kudos
Highlighted
1,181 Views
Registered: ‎06-10-2019

@rajatrao  and @watari Thanks for reply so far.

@rajatrao  I am using HDMI RX -->FBWR--->DDR and DDR-->FBRD-->HDMI TX for passthrough , exactly what Xilinx suggested design. 

I don't see /dev/fb0 entry

but I do see driver

root@hdmi_nodru_only:~# cat /sys/devices/platform/amba_pl\@0/80010000.v_frmbuf_rd/
dma/ driver/ driver_override modalias of_node/ power/ subsystem/ uevent

root@hdmi_nodru_only:~# cat /sys/devices/platform/amba_pl\@0/80050000.v_frmbuf_wr/
dma/ driver/ driver_override modalias of_node/ power/ subsystem/ uevent

I am not sure now, FB driver is really working. it does probe correctly as per Log.

Does FB WR/RD has any debug info, same as HDMI TX/RX does?

My logs:

[ 5.265901] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[ 5.273004] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[ 5.280116] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[ 5.287213] xilinx-frmbuf 80010000.v_frmbuf_rd: Xilinx AXI frmbuf DMA_MEM_TO_DEV
[ 5.294666] xilinx-frmbuf 80010000.v_frmbuf_rd: Xilinx AXI FrameBuffer Engine Driver Probed!!
[ 5.303311] xilinx-frmbuf 80050000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[ 5.310766] xilinx-frmbuf 80050000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[ 5.319412] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: vtc bridge property not present
[ 5.327345] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: Xlnx PL display driver probed
[ 5.335719] zynqmp_pll_disable() clock disable failed for apll_int, ret = -13
[ 5.343307] m25p80 spi0.0: n25q512a (131072 Kbytes)
[ 5.348199] 3 fixed-partitions partitions found on MTD device spi0.0
[ 5.354551] Creating 3 MTD partitions on "spi0.0":
[ 5.359334] 0x000000000000-0x000000100000 : "boot"
[ 5.364608] 0x000000100000-0x000000140000 : "bootenv"
[ 5.370067] 0x000000140000-0x000001740000 : "kernel"
[ 5.377484] macb ff0e0000.ethernet: Not enabling partial store and forward
[ 5.384851] libphy: MACB_mii_bus: probed
[ 5.393788] TI DP83867 ff0e0000.ethernet-ffffffff:0c: attached PHY driver [TI DP83867] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:0c, irq=POLL)
[ 5.406833] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 30 (00:0a:35:00:22:01)
[ 5.417025] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[ 5.423580] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[ 5.430070] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[ 5.436557] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[ 5.443743] pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator
[ 5.450994] pca953x 0-0020: Linked as a consumer to regulator.0
[ 5.457590] pca953x 0-0021: 0-0021 supply vcc not found, using dummy regulator
[ 5.464833] pca953x 0-0021: Linked as a consumer to regulator.0
[ 5.479061] i2c i2c-0: Added multiplexed i2c bus 2
[ 5.489911] i2c i2c-0: Added multiplexed i2c bus 3
[ 5.505005] random: fast init done
[ 5.541013] i2c i2c-0: Added multiplexed i2c bus 4
[ 5.545942] i2c i2c-0: Added multiplexed i2c bus 5
[ 5.550735] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544
[ 5.558064] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 32
[ 5.565740] at24 6-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
[ 5.572460] i2c i2c-1: Added multiplexed i2c bus 6
[ 5.577455] i2c i2c-1: Added multiplexed i2c bus 7
[ 5.584930] si570 8-005d: registered, current frequency 300000000 Hz
[ 5.591309] i2c i2c-1: Added multiplexed i2c bus 8
[ 5.609572] si570 9-005d: registered, current frequency 148500000 Hz
[ 5.615954] i2c i2c-1: Added multiplexed i2c bus 9
[ 5.620943] si5324 10-0069: si5328 probed
[ 5.683280] si5324 10-0069: si5328 probe successful
[ 5.688187] i2c i2c-1: Added multiplexed i2c bus 10
[ 5.693272] i2c i2c-1: Added multiplexed i2c bus 11
[ 5.698273] i2c i2c-1: Added multiplexed i2c bus 12
[ 5.703270] i2c i2c-1: Added multiplexed i2c bus 13
[ 5.708141] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
[ 5.716033] i2c i2c-1: Added multiplexed i2c bus 14
[ 5.721038] i2c i2c-1: Added multiplexed i2c bus 15
[ 5.726042] i2c i2c-1: Added multiplexed i2c bus 16
[ 5.731414] i2c i2c-1: Added multiplexed i2c bus 17
[ 5.736411] i2c i2c-1: Added multiplexed i2c bus 18
[ 5.741415] i2c i2c-1: Added multiplexed i2c bus 19
[ 5.746413] i2c i2c-1: Added multiplexed i2c bus 20
[ 5.751413] i2c i2c-1: Added multiplexed i2c bus 21
[ 5.756288] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
[ 5.763877] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 33
[ 5.770585] si5324 22-0044: si5324 probed
[ 5.833697] si5324 22-0044: unable to read from reg00
[ 5.840976] si5324 22-0044: si5324 probe successful
[ 5.846277] xilinx-video amba_pl@0:vcap_hdmi: device registered
[ 5.856107] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[ 5.863574] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[ 5.871094] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1199880 KHz
[ 5.878544] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1199999 KHz
[ 5.917572] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[ 5.933622] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 5.940667] rtc_zynqmp ffa60000.rtc: setting system clock to 2020-03-03 12:31:31 UTC (1583238691)
[ 5.949543] of_cfs_init
[ 5.952003] of_cfs_init: OK
[ 5.954925] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 6.041409] mmc0: new ultra high speed DDR50 SDHC card at address aaaa
[ 6.048487] mmcblk0: mmc0:aaaa SL16G 14.8 GiB
[ 6.058081] mmcblk0: p1 p2
[ 6.099410] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 6.105941] clk: Not disabling unused clocks
[ 6.110206] ALSA device list:
[ 6.113162] No soundcards found.
[ 6.116876] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 6.125485] cfg80211: failed to load regulatory.db
[ 6.130742] Freeing unused kernel memory: 832K
[ 6.153590] Run /init as init process
INIT: version 2.88 booting
Starting udev
[ 6.276464] udevd[1970]: starting version 3.2.5
[ 6.281293] random: udevd: uninitialized urandom read (16 bytes read)
[ 6.287776] random: udevd: uninitialized urandom read (16 bytes read)
[ 6.294265] random: udevd: uninitialized urandom read (16 bytes read)
[ 6.305190] udevd[1971]: starting eudev-3.2.5
[ 6.404825] xilinx_vphy: loading out-of-tree module taints kernel.
[ 6.405065] xilinx_vphy: loading out-of-tree module taints kernel.
[ 6.406475] dp159: loading out-of-tree module taints kernel.
[ 6.412672] dp159 22-005e: probed
[ 6.426976] xilinx-vphy 80060000.vid_phy_controller: probed
[ 6.432917] VPhy version : 02.02 (0000)
[ 6.437559] dp159 22-005e: probe successful
[ 6.441459] xilinx-vphy 80060000.vid_phy_controller: probe successful
[ 6.452654] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: probed
[ 6.458422] xlnx-drm-hdmi 80020000.v_hdmi_tx_ss: probed
[ 6.459610] xvphy_phy_init((____ptrval____)).
[ 6.463926] xlnx-drm-hdmi 80020000.v_hdmi_tx_ss: hdmi tx audio disabled in DT
[ 6.468089] xvphy_phy_init((____ptrval____)).
[ 6.479576] xvphy_phy_init((____ptrval____)).
[ 6.489988] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: Direct firmware load for xilinx/xilinx-hdmi-rx-edid.bin failed with error -2
[ 6.491718] xlnx-drm-hdmi 80020000.v_hdmi_tx_ss: probe successful
[ 6.501415] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: Using Xilinx built-in EDID.
[ 6.512636] Not sending HOTPLUG event because drm device is NULL as drm_connector_init is not called yet.
[ 6.514724]
[ 6.514724] Successfully loaded edid.
[ 6.515418] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 6.515420] [drm] No driver support for vblank timestamp query.
[ 6.515450] xlnx-drm xlnx-drm.0: bound amba_pl@0:drm-dmaengine-drv (ops 0xffffff8008b967a0)
[ 6.515488] xlnx-drm xlnx-drm.0: bound 80020000.v_hdmi_tx_ss (ops xlnx_drm_hdmi_component_ops [xilinx_hdmi_tx])
[ 6.515499] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: fbdev is not initialized
[ 6.515757] [drm] Initialized xlnx 1.0.0 20130509 for amba_pl@0:drm-dmaengine-drv on minor 0
[ 6.576245] xilinx-video amba_pl@0:vcap_hdmi: Entity type for entity 80000000.v_hdmi_rx_ss was not initialized!
[ 6.586838] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: probe successful
[ 6.889638] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 6.900433] EXT4-fs (mmcblk0p2): recovery complete
[ 6.909199] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
Configuring packages on first boot....

 




 

0 Kudos
Highlighted
1,149 Views
Registered: ‎06-10-2019

@rajatrao  I manage to get /dev/fb0 entry and the drm getting registered after I have corrected on Xilinx Auto generated bug in pl.dtsi for (node: v_drm_dmaengine_drv).

I still don't see any pixel and seeing same kernel panic message (Same as original post)...…..

I am still seeing "vtc bridge property not present" , not sure how important is...

[ 5.284908] xilinx-frmbuf 80010000.v_frmbuf_rd: Xilinx AXI frmbuf DMA_MEM_TO_DEV
[ 5.292360] xilinx-frmbuf 80010000.v_frmbuf_rd: Xilinx AXI FrameBuffer Engine Driver Probed!!
[ 5.301003] xilinx-frmbuf 80050000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[ 5.308449] xilinx-frmbuf 80050000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[ 5.317097] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: vtc bridge property not present
[ 5.325019] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: Xlnx PL display driver probed

------------------------------------------------------------------------------------------------------------------------------

 

UART Log:

[ 5.277810] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[ 5.284908] xilinx-frmbuf 80010000.v_frmbuf_rd: Xilinx AXI frmbuf DMA_MEM_TO_DEV
[ 5.292360] xilinx-frmbuf 80010000.v_frmbuf_rd: Xilinx AXI FrameBuffer Engine Driver Probed!!
[ 5.301003] xilinx-frmbuf 80050000.v_frmbuf_wr: Xilinx AXI frmbuf DMA_DEV_TO_MEM
[ 5.308449] xilinx-frmbuf 80050000.v_frmbuf_wr: Xilinx AXI FrameBuffer Engine Driver Probed!!
[ 5.317097] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: vtc bridge property not present
[ 5.325019] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: Xlnx PL display driver probed
[ 5.333418] zynqmp_pll_disable() clock disable failed for apll_int, ret = -13
[ 5.341005] m25p80 spi0.0: n25q512a (131072 Kbytes)
[ 5.345896] 3 fixed-partitions partitions found on MTD device spi0.0
[ 5.352245] Creating 3 MTD partitions on "spi0.0":
[ 5.357030] 0x000000000000-0x000000100000 : "boot"
[ 5.362303] 0x000000100000-0x000000140000 : "bootenv"
[ 5.367759] 0x000000140000-0x000001740000 : "kernel"
[ 5.375176] macb ff0e0000.ethernet: Not enabling partial store and forward
[ 5.382555] libphy: MACB_mii_bus: probed
[ 5.391456] TI DP83867 ff0e0000.ethernet-ffffffff:0c: attached PHY driver [TI DP83867] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:0c, irq=POLL)
[ 5.404498] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 30 (00:0a:35:00:22:01)
[ 5.414677] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[ 5.421222] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[ 5.427710] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[ 5.434195] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[ 5.441347] pca953x 0-0020: 0-0020 supply vcc not found, using dummy regulator
[ 5.448597] pca953x 0-0020: Linked as a consumer to regulator.0
[ 5.455191] pca953x 0-0021: 0-0021 supply vcc not found, using dummy regulator
[ 5.462433] pca953x 0-0021: Linked as a consumer to regulator.0
[ 5.476703] i2c i2c-0: Added multiplexed i2c bus 2
[ 5.487584] i2c i2c-0: Added multiplexed i2c bus 3
[ 5.502848] random: fast init done
[ 5.538959] i2c i2c-0: Added multiplexed i2c bus 4
[ 5.543885] i2c i2c-0: Added multiplexed i2c bus 5
[ 5.548671] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544
[ 5.556002] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 32
[ 5.563688] at24 6-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
[ 5.570418] i2c i2c-1: Added multiplexed i2c bus 6
[ 5.575420] i2c i2c-1: Added multiplexed i2c bus 7
[ 5.582914] si570 8-005d: registered, current frequency 300000000 Hz
[ 5.589291] i2c i2c-1: Added multiplexed i2c bus 8
[ 5.608815] si570 9-005d: registered, current frequency 148500000 Hz
[ 5.615193] i2c i2c-1: Added multiplexed i2c bus 9
[ 5.620185] si5324 10-0069: si5328 probed
[ 5.687322] si5324 10-0069: si5328 probe successful
[ 5.692228] i2c i2c-1: Added multiplexed i2c bus 10
[ 5.697326] i2c i2c-1: Added multiplexed i2c bus 11
[ 5.702327] i2c i2c-1: Added multiplexed i2c bus 12
[ 5.707325] i2c i2c-1: Added multiplexed i2c bus 13
[ 5.712203] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
[ 5.720107] i2c i2c-1: Added multiplexed i2c bus 14
[ 5.725111] i2c i2c-1: Added multiplexed i2c bus 15
[ 5.730119] i2c i2c-1: Added multiplexed i2c bus 16
[ 5.735505] i2c i2c-1: Added multiplexed i2c bus 17
[ 5.740512] i2c i2c-1: Added multiplexed i2c bus 18
[ 5.745531] i2c i2c-1: Added multiplexed i2c bus 19
[ 5.750540] i2c i2c-1: Added multiplexed i2c bus 20
[ 5.755549] i2c i2c-1: Added multiplexed i2c bus 21
[ 5.760423] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
[ 5.768015] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 33
[ 5.774714] si5324 22-0044: si5324 probed
[ 5.833573] si5324 22-0044: unable to read from reg00
[ 5.840529] si5324 22-0044: si5324 probe successful
[ 5.845878] xilinx-video amba_pl@0:vcap_hdmi: device registered
[ 5.855732] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[ 5.863193] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[ 5.870710] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1199880 KHz
[ 5.878154] cpufreq: cpufreq_online: CPU0: Unlisted initial frequency changed to: 1199999 KHz
[ 5.917453] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[ 5.933514] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 5.940471] rtc_zynqmp ffa60000.rtc: setting system clock to 2020-03-04 17:11:16 UTC (1583341876)
[ 5.949349] of_cfs_init
[ 5.951858] of_cfs_init: OK
[ 5.954790] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 6.037522] mmc0: new ultra high speed DDR50 SDHC card at address aaaa
[ 6.044601] mmcblk0: mmc0:aaaa SL16G 14.8 GiB
[ 6.053709] mmcblk0: p1 p2
[ 6.099135] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 6.105669] clk: Not disabling unused clocks
[ 6.109941] ALSA device list:
[ 6.112898] No soundcards found.
[ 6.116610] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 6.125220] cfg80211: failed to load regulatory.db
[ 6.130483] Freeing unused kernel memory: 832K
[ 6.153472] Run /init as init process
INIT: version 2.88 booting
Starting udev
[ 6.288149] udevd[1968]: starting version 3.2.5
[ 6.293011] random: udevd: uninitialized urandom read (16 bytes read)
[ 6.299499] random: udevd: uninitialized urandom read (16 bytes read)
[ 6.305988] random: udevd: uninitialized urandom read (16 bytes read)
[ 6.316523] udevd[1969]: starting eudev-3.2.5
[ 6.422392] xilinx_vphy: loading out-of-tree module taints kernel.
[ 6.423677] xilinx_vphy: loading out-of-tree module taints kernel.
[ 6.448362] xilinx-vphy 80060000.vid_phy_controller: probed
[ 6.454300] VPhy version : 02.02 (0000)
[ 6.459339] dp159 22-005e: probed
[ 6.464339] dp159 22-005e: probe successful
[ 6.471812] xilinx-vphy 80060000.vid_phy_controller: probe successful
[ 6.482624] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: probed
[ 6.488367] xlnx-drm-hdmi 80020000.v_hdmi_tx_ss: probed
[ 6.491706] xvphy_phy_init((____ptrval____)).
[ 6.493670] xlnx-drm-hdmi 80020000.v_hdmi_tx_ss: hdmi tx audio disabled in DT
[ 6.497981] xvphy_phy_init((____ptrval____)).
[ 6.509501] xvphy_phy_init((____ptrval____)).
[ 6.515349] xlnx-drm-hdmi 80020000.v_hdmi_tx_ss: probe successful
[ 6.522167] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 6.526616] Not sending HOTPLUG event because drm device is NULL as drm_connector_init is not called yet.
[ 6.528827] [drm] No driver support for vblank timestamp query.
[ 6.544304] xlnx-drm xlnx-drm.0: bound amba_pl@0:drm-dmaengine-drv (ops 0xffffff8008b967a0)
[ 6.552732] xlnx-drm xlnx-drm.0: bound 80020000.v_hdmi_tx_ss (ops xlnx_drm_hdmi_component_ops [xilinx_hdmi_tx])
[ 6.562855] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: info : 146253716 ,info->depth 8, info->cpp[0] 1 format 943867730
[ 6.564976] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: Direct firmware load for xilinx/xilinx-hdmi-rx-edid.bin failed with error -2
[ 6.585000] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: Using Xilinx built-in EDID.
[ 6.592251]
[ 6.592251] Successfully loaded edid.
[ 6.597634] xilinx-video amba_pl@0:vcap_hdmi: Entity type for entity 80000000.v_hdmi_rx_ss was not initialized!
[ 6.615934] xilinx-hdmi-rx 80000000.v_hdmi_rx_ss: probe successful
[ 6.690129] Console: switching to colour frame buffer device 480x135
[ 6.724824] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: fb0: frame buffer device
[ 6.750251] [drm] Initialized xlnx 1.0.0 20130509 for amba_pl@0:drm-dmaengine-drv on minor 0
[ 6.758716] xlnx-pl-disp amba_pl@0:drm-dmaengine-drv: drm_dev_register 0
[ 6.919404] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 6.921027] EXT4-fs (mmcblk0p2): recovery complete
[ 6.937846] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)

0 Kudos
Highlighted
1,113 Views
Registered: ‎06-10-2019

@rajatrao  I manage to get it working. again issue was in pl.dts  in drm dts and si5319 so manually added. Xilinx pls fix auto dts build issue as its really nightmare and its more nightmare when this entry need to add manually. I can see fb0 in /dev ,and I can see pixel passthrough working.

NOTE: I still see kernel panicking message for "drivers/gpu/drm/drm_atomic_helper.c:1386 drm_atomic_helper_wait_for_vblanks.part "

Any advise to fix this warning message will be greatly appreciated. 

I am not planning to use HDMI TX at this point so I am not worry about this "wait_for_vblanks" for moment so marking as a fixed this issue. 

@watariThank you for your time and help so far.

View solution in original post

Highlighted
Explorer
Explorer
1,047 Views
Registered: ‎03-21-2019
Hey, did you ever find out what was causing the drm_atomic_helper_wait_for_vblanks issue? I went through the same problems as you, but I do need to get my Tx working in my design.
0 Kudos
Highlighted
1,020 Views
Registered: ‎06-10-2019

@eliezer 

Not sure but what I found was, this warning message appears during DRM initialisation so I guess initialisation sequence may not be correct in sample user space code and causing vblank timeout. Sorry, I was running out of time so I leave it further debugging. HDMI TX is optional in my work. You should see this warning once only.

Do you manage to get it working HDMI TX and RX( do you see pixel?) if not, send me your email, I will send you final dts and user space build file for testing. (I am assuming you are using 2019.2 Linux and ZCU106 board).

0 Kudos
Highlighted
Explorer
Explorer
1,013 Views
Registered: ‎03-21-2019

We do have the Tx and Rx working, among other things. The error message eats up a couple minutes every boot, though, which is a problem I'll definitely need to fix at some point.

I'm on 2019.1, but from what I can tell, the device trees don't change much between 2019.1 and 2019.2. I have DMed you my email address, thanks for the help.

0 Kudos