About the problem of dual HDMI display

I used the TX2 dual HDMI display. When I tested the function, I found that the dual HDMI interface is plugged and unplugged, no matter which HDMI interface is plugged or unplugged, it will cause two HDMI interfaces to be black at the same time, and then display normally. I tested it on the board that supports dual HDMI. The phenomenon is the same. I confirmed the 5V voltage before plugging in and out of HDMI. The HDMI power supply is normal. I have not found the problem. Can you give me some suggestions?

[  408.185841] PD DISP1 index3 UP
[  408.190226] PD DISP1 index3 DOWN
[  408.212742] PD DISP1 index3 UP
[  408.218228] PD DISP1 index3 DOWN
[  408.234489] Unsupported HDMI VIC 64, ignoring
[  408.239299] tegradc 15210000.nvdisplay: hdmi: plugged
[  408.343282] PD DISP2 index4 DOWN
[  408.343388] PD DISP0 index2 DOWN
[  408.352981] PD DISP0 index2 UP
[  408.354092] PD DISP2 index4 UP
[  408.355942] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[  408.355944] hdmi: couldn't get regulator avdd_hdmi
[  408.356298] Parent Clock set for DC plld3
[  408.357971] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[  408.477652] PD DISP1 index3 UP
[  408.481676] PD DISP1 index3 DOWN
[  408.499054] tegradc 15210000.nvdisplay: read_edid_into_buffer: extension_blocks = 1, max_ext_blocks = 3
[  408.510817] PD DISP1 index3 UP
[  408.516189] PD DISP1 index3 DOWN
[  408.533045] tegradc 15210000.nvdisplay: hdmi_recheck_edid: read_edid_into_buffer() returned 256
[  408.541928] tegradc 15210000.nvdisplay: old edid len = 256
[  408.548389] tegradc 15210000.nvdisplay: hdmi: No EDID change after HPD bounce, taking no action
[  408.700783] PD DISP2 index4 DOWN
[  408.700891] PD DISP0 index2 DOWN
[  408.708228] PD DISP0 index2 UP
[  408.709113] PD DISP2 index4 UP
[  408.710439] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[  408.710441] hdmi: couldn't get regulator avdd_hdmi
[  408.710698] Parent Clock set for DC plld3
[  408.714232] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[  408.856444] PD DISP1 index3 UP
[  408.858953] Parent Clock set for DC plld2
[  408.867566] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[  409.990578] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[  409.990580] hdmi: couldn't get regulator avdd_hdmi
[  409.990915] Parent Clock set for DC plld3
[  409.992679] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[  416.125922] PD DISP1 index3 DOWN
[  416.129584] tegradc 15210000.nvdisplay: hdmi: unplugged
[  416.267992] PD DISP2 index4 DOWN
[  416.268094] PD DISP0 index2 DOWN
[  416.275433] PD DISP0 index2 UP
[  416.276409] PD DISP2 index4 UP
[  416.277759] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[  416.277761] hdmi: couldn't get regulator avdd_hdmi
[  416.278020] Parent Clock set for DC plld3
[  416.279431] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[  416.521517] PD DISP2 index4 DOWN
[  416.521625] PD DISP0 index2 DOWN
[  416.528938] PD DISP0 index2 UP
[  416.529922] PD DISP2 index4 UP
[  416.531252] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[  416.531253] hdmi: couldn't get regulator avdd_hdmi
[  416.531479] Parent Clock set for DC plld3
[  416.532917] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[  416.844451] PD DISP2 index4 DOWN
[  416.844561] PD DISP0 index2 DOWN
[  416.851998] PD DISP0 index2 UP
[  416.853127] PD DISP2 index4 UP
[  416.855134] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[  416.855136] hdmi: couldn't get regulator avdd_hdmi
[  416.855630] Parent Clock set for DC plld3
[  416.857479] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1720.598051] PD DISP1 index3 UP
[ 1720.603135] PD DISP1 index3 DOWN
[ 1720.620585] PD DISP1 index3 UP
[ 1720.624349] PD DISP1 index3 DOWN
[ 1720.641320] Unsupported HDMI VIC 64, ignoring
[ 1720.646267] tegradc 15210000.nvdisplay: hdmi: plugged
[ 1720.773610] PD DISP2 index4 DOWN
[ 1720.773769] PD DISP0 index2 DOWN
[ 1720.781358] PD DISP0 index2 UP
[ 1720.782483] PD DISP2 index4 UP
[ 1720.784409] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[ 1720.784412] hdmi: couldn't get regulator avdd_hdmi
[ 1720.784901] Parent Clock set for DC plld3
[ 1720.786787] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1720.991825] PD DISP1 index3 UP
[ 1720.993403] Parent Clock set for DC plld2
[ 1720.995177] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1722.130178] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[ 1722.130181] hdmi: couldn't get regulator avdd_hdmi
[ 1722.130728] Parent Clock set for DC plld3
[ 1722.132686] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1722.439173] PD DISP1 index3 DOWN
[ 1722.442861] PD DISP1 index3 UP
[ 1722.446432] Parent Clock set for DC plld2
[ 1722.448215] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1722.591477] regulator_get() failed for (15220000.nvdisplay,avdd_hdmi), -19
[ 1722.591478] hdmi: couldn't get regulator avdd_hdmi
[ 1722.591702] Parent Clock set for DC plld3
[ 1722.593268] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1807.770249] tegradc 15220000.nvdisplay: hdmi: unplugged
[ 1807.890450] PD DISP2 index4 DOWN
[ 1807.890718] PD DISP1 index3 DOWN
[ 1807.890810] PD DISP0 index2 DOWN
[ 1807.901330] PD DISP0 index2 UP
[ 1807.902296] PD DISP1 index3 UP
[ 1807.902387] PD DISP2 index4 UP
[ 1807.904171] Parent Clock set for DC plld2
[ 1807.905647] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1808.131164] PD DISP2 index4 DOWN
[ 1808.131410] PD DISP1 index3 DOWN
[ 1808.131492] PD DISP0 index2 DOWN
[ 1808.156523] PD DISP0 index2 UP
[ 1808.157487] PD DISP1 index3 UP
[ 1808.157580] PD DISP2 index4 UP
[ 1808.159319] Parent Clock set for DC plld2
[ 1808.160779] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1810.076377] Unsupported HDMI VIC 64, ignoring
[ 1810.081230] tegradc 15220000.nvdisplay: hdmi: plugged
[ 1810.202911] PD DISP2 index4 DOWN
[ 1810.203169] PD DISP1 index3 DOWN
[ 1810.203259] PD DISP0 index2 DOWN
[ 1810.213891] PD DISP0 index2 UP
[ 1810.216659] PD DISP1 index3 UP
[ 1810.219471] PD DISP2 index4 UP
[ 1810.223800] Parent Clock set for DC plld2
[ 1810.225568] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1810.551088] PD DISP2 index4 DOWN
[ 1810.551350] PD DISP1 index3 DOWN
[ 1810.551440] PD DISP0 index2 DOWN
[ 1810.562126] PD DISP0 index2 UP
[ 1810.565726] PD DISP1 index3 UP
[ 1810.567833] PD DISP2 index4 UP
[ 1810.570480] Parent Clock set for DC plld2
[ 1810.572336] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1810.814434] PD DISP2 index4 DOWN
[ 1810.814688] PD DISP1 index3 DOWN
[ 1810.814771] PD DISP0 index2 DOWN
[ 1810.825317] PD DISP0 index2 UP
[ 1810.826276] PD DISP1 index3 UP
[ 1810.826369] PD DISP2 index4 UP
[ 1810.828189] Parent Clock set for DC plld2
[ 1810.829649] tegradc 15210000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M
[ 1810.889984] Parent Clock set for DC plld3
[ 1810.892050] tegradc 15220000.nvdisplay: hdmi: pclk:148500K, set prod-setting:prod_c_150M

hdmi-error.txt (74.8 KB)

→ it will cause two HDMI interfaces to be black at the same time, and then display normally.

This sounds a normal case. It is not only on your custom board but happens to all multi-display usecase.
The framebuffer would be blanked for maybe 1 second to change to dual monitor mode.