HDMI and kernel warnings...

20 views
Skip to first unread message

terry...@stcelectronics.com

unread,
Jan 23, 2019, 1:41:00 PM1/23/19
to BeagleBoard
Using an Arrow Beaglebone Black Industrial board with kernel 4.4.80.  This board replaced the TDA998x framer chip with an ADV7511 (I assume for temp rating?) and I am getting kernel warnings when the video driver loads.  It appears that TILCDC is loading a ADIHDMI driver to output video via HDMI.  I get frame buffer video ok, as I am running a Qt app using the linuxfb and I see the display just fine.

However, if I unplug the HDMI cable, or power down the display and power it back on...the HDMI output goes away.  It will not come back.  If I try this on 4.1.13 kernel, it works fine.  I suspect the issue is related to the kernel warning I see when the ADIHDMI driver is being loaded.  I need HDMI to tolerate powerdown of the display device.  Here is the warning on bootup:

[    9.337549] c_can_platform 481cc000.can: c_can_platform device registered (regs=fa1cc000, irq=165)
[    9.357943] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[    9.385110] ------------[ cut here ]------------
[    9.391726] WARNING: CPU: 0 PID: 197 at drivers/gpu/drm/drm_crtc.c:5079 drm_mode_connector_attach_encoder+0x47/0x50()
[    9.391737] Modules linked in: c_can_platform omap_rng c_can rng_core tilcdc(+) can_dev adihdmi evdev leds_gpio uio_pdrv_genirq uio
[    9.391783] CPU: 0 PID: 197 Comm: systemd-udevd Not tainted 4.4.80+ #71
[    9.391786] Hardware name: Generic AM33XX (Flattened Device Tree)
[    9.391820] [<c0015d71>] (unwind_backtrace) from [<c00125dd>] (show_stack+0x11/0x14)
[    9.391833] [<c00125dd>] (show_stack) from [<c03dd709>] (dump_stack+0x69/0x78)
[    9.391847] [<c03dd709>] (dump_stack) from [<c0032b55>] (warn_slowpath_common+0x69/0x90)
[    9.391857] [<c0032b55>] (warn_slowpath_common) from [<c0032c1f>] (warn_slowpath_null+0x17/0x1c)
[    9.391866] [<c0032c1f>] (warn_slowpath_null) from [<c047eabb>] (drm_mode_connector_attach_encoder+0x47/0x50)
[    9.391901] [<c047eabb>] (drm_mode_connector_attach_encoder) from [<bf821ebd>] (adihdmi_bind+0xd0/0xfc [adihdmi])
[    9.391930] [<bf821ebd>] (adihdmi_bind [adihdmi]) from [<c04aeae9>] (component_bind_all+0x8d/0x178)
[    9.391999] [<c04aeae9>] (component_bind_all) from [<bf831467>] (tilcdc_load+0x34a/0x44c [tilcdc])
[    9.392037] [<bf831467>] (tilcdc_load [tilcdc]) from [<c047bbd5>] (drm_dev_register+0x75/0x7c)
[    9.392051] [<c047bbd5>] (drm_dev_register) from [<c047ce15>] (drm_platform_init+0x35/0xa8)
[    9.392077] [<c047ce15>] (drm_platform_init) from [<bf830f21>] (tilcdc_bind+0x18/0x1c [tilcdc])
[    9.392103] [<bf830f21>] (tilcdc_bind [tilcdc]) from [<c04aec4b>] (try_to_bring_up_master.part.0+0x77/0xa4)
[    9.392114] [<c04aec4b>] (try_to_bring_up_master.part.0) from [<c04aecf9>] (component_master_add_with_match+0x81/0xbc)
[    9.392139] [<c04aecf9>] (component_master_add_with_match) from [<bf8315cb>] (tilcdc_pdev_probe+0x3e/0x78 [tilcdc])
[    9.392168] [<bf8315cb>] (tilcdc_pdev_probe [tilcdc]) from [<c04b3eff>] (platform_drv_probe+0x37/0x7c)
[    9.392178] [<c04b3eff>] (platform_drv_probe) from [<c04b27c7>] (driver_probe_device+0x193/0x340)
[    9.392187] [<c04b27c7>] (driver_probe_device) from [<c04b29c5>] (__driver_attach+0x51/0x54)
[    9.392199] [<c04b29c5>] (__driver_attach) from [<c04b1095>] (bus_for_each_dev+0x51/0x80)
[    9.392209] [<c04b1095>] (bus_for_each_dev) from [<c04b1f9b>] (bus_add_driver+0x14b/0x1bc)
[    9.392217] [<c04b1f9b>] (bus_add_driver) from [<c04b31c5>] (driver_register+0x39/0x8c)
[    9.392241] [<c04b31c5>] (driver_register) from [<bf837065>] (tilcdc_drm_init+0x34/0x3f [tilcdc])
[    9.392270] [<bf837065>] (tilcdc_drm_init [tilcdc]) from [<c0009721>] (do_one_initcall+0xa9/0x198)
[    9.392286] [<c0009721>] (do_one_initcall) from [<c00f9bc1>] (do_init_module+0x4d/0x2fc)
[    9.392309] [<c00f9bc1>] (do_init_module) from [<c00a17a1>] (load_module+0x164d/0x1ac0)
[    9.392322] [<c00a17a1>] (load_module) from [<c00a1da7>] (SyS_finit_module+0x67/0x8c)
[    9.392337] [<c00a1da7>] (SyS_finit_module) from [<c000ed61>] (ret_fast_syscall+0x1/0x52)
[    9.417493] ---[ end trace 0000000000000002 ]---
[    9.417658] tilcdc 4830e000.lcdc: bound 0-0039 (ops adihdmi_ops [adihdmi])
[    9.417680] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    9.417690] [drm] No driver support for vblank timestamp query.
[   10.078169] Console: switching to colour frame buffer device 240x67
[   10.204268] tilcdc 4830e000.lcdc: fb0:  frame buffer device

I diff'd the adihdmi_drv.c between the kernels and there is only a 1 line change.  I have tried the .conf from the 4.1.13 kernel build on the 4.4.80 build and same result.  I have tried my SD card with the 4.4.80 kernel and config on a regular beagebone black (using the TDA998x framer) and it works perfectly...no warnings...no HDMI going away.  So I suspect the issue is the driver for the 7511, but it works on kernel 4.1.13?

Does anyone have any ideas?  Thx!

Reply all
Reply to author
Forward
0 new messages