Hello,
when booting with monitor connected by HDMI all works fine.
But if I switch the monitor off and on again the linux freezes and reboots after about a minute. This is reproducable with at least one monitor and one projector also connected with HDMI.
While logging the linux outputs with RS232 I got the following:
[ 35.555240] tegra_dc_hdmi_irq: start
[ 35.559297] tegra_dc_hdmi_irq: end
[ 35.564694] hdmi_state_machine_worker (tid edb665c0): state 4 (Enabled), hpd1
[ 35.574893] hdmi_state_machine_set_state_l: switching from state 4 (Enabled))
[ 35.875669] tegra_dc_hdmi_irq: start
[ 35.880069] tegra_dc_hdmi_irq: end
[ 35.892894] hdmi_state_machine_worker (tid edb665c0): state 5 (Wait for HPD 1
[ 35.906610] hdmi_state_machine_set_state_l: switching from state 5 (Wait for)
[ 35.977789] hdmi_state_machine_worker (tid edb665c0): state 6 (Recheck EDID)0
[ 36.902428] tegra_dc_hdmi_irq: start
[ 36.906707] tegra_dc_hdmi_irq: end
[ 36.911085] tegra-i2c tegra12-i2c.1: no acknowledge from address 0x50
[ 36.926845] tegra_edid_read_block(0) returned err -121
[ 36.932313] hdmi_recheck_edid: read_edid_into_buffer() returned -121
[ 36.938878] hdmi_state_machine_set_state_l: switching from state 6 (Recheck )
[ 36.949420] hdmi_state_machine_worker (tid edb665c0): state 6 (Recheck EDID)1
[ 36.958997] hdmi_state_machine_set_state_l: switching from state 6 (Recheck )
[ 37.008754] hdmi_state_machine_worker (tid edb665c0): state 0 (Reset), hpd 00
[ 37.022747] hdmi_disable_l: audio_switch 0
[ 37.028746] hdmi_disable_l: hpd_switch 0
[ 37.033880] HDMI from connected to disconnected
[ 37.049618] tegradc tegradc.1: using mode 0x0 pclk=0 href=0 vref=0
[ 37.066607] hdmi_state_machine_set_state_l: switching from state 0 (Reset) t)
[ 37.080668] gk20a gk20a.0: unrecognized ioctl cmd: 0x8008486d
[ 37.103018] hdmi_state_machine_worker (tid edb665c0): state 1 (Check Plug), 0
[ 37.115608] hdmi_disable_l: audio_switch 0
[ 37.127934] hdmi_disable_l: hpd_switch 0
[ 37.138898] hdmi_state_machine_set_state_l: switching from state 1 (Check Pl)
[ 37.197830] tegradc tegradc.1: switching framebuffer to 1920x1080
[ 37.197838] tegradc tegradc.1: using mode 1920x1080 pclk=148500000 href=1 vr1
[ 37.218979] tegra_dc_hdmi_irq: start
[ 37.222576] tegra_dc_hdmi_irq: end
[ 37.226216] hdmi_state_machine_worker (tid edb665c0): state 3 (Disabled), hp1
[ 37.235755] hdmi_state_machine_set_state_l: switching from state 3 (Disabled)
[ 37.283939] hdmi_state_machine_worker (tid edb665c0): state 0 (Reset), hpd 10
[ 37.293047] hdmi_disable_l: audio_switch 0
[ 37.297329] hdmi_disable_l: hpd_switch 0
[ 37.301886] hdmi_state_machine_set_state_l: switching from state 0 (Reset) t)
[ 37.320819] hdmi_state_machine_worker (tid edb665c0): state 1 (Check Plug), 0
[ 37.330173] hdmi_state_machine_set_state_l: switching from state 1 (Check Pl)
[ 37.398999] hdmi_state_machine_worker (tid edb665c0): state 2 (Check EDID), 0
[ 37.408881] tegra-i2c tegra12-i2c.1: arb lost in communicate to add 0x50
[ 38.421138] tegra-i2c tegra12-i2c.1: --- register dump for debugging ----
[ 38.438572] tegra-i2c tegra12-i2c.1: I2C_CNFG - 0x2c00
[ 38.449124] tegra-i2c tegra12-i2c.1: I2C_PACKET_TRANSFER_STATUS - 0xff0009
[ 38.457098] tegra-i2c tegra12-i2c.1: I2C_FIFO_CONTROL - 0xe2
[ 38.463369] tegra-i2c tegra12-i2c.1: I2C_FIFO_STATUS - 0x800080
[ 38.469941] tegra-i2c tegra12-i2c.1: I2C_INT_MASK - 0xed
[ 38.475861] tegra-i2c tegra12-i2c.1: I2C_INT_STATUS - 0x2
[ 38.481833] tegra-i2c tegra12-i2c.1: msg->len - 1
[ 38.487171] tegra-i2c tegra12-i2c.1: is_msg_write - 1
[ 38.492917] tegra-i2c tegra12-i2c.1: next_msg->len - 128
[ 38.498757] tegra-i2c tegra12-i2c.1: is_next_msg_write - 0
[ 38.504825] tegra-i2c tegra12-i2c.1: buf_remaining - 128
[ 38.510726] tegra-i2c tegra12-i2c.1: timeout config_load
[ 38.516641] hdmi_state_machine_set_state_l: switching from state 2 (Check ED)
[ 38.586039] hdmi_state_machine_worker (tid edb665c0): state 2 (Check EDID), 0
[ 39.597908] tegra-i2c tegra12-i2c.1: timeout waiting for fifo flush
[ 39.607444] tegra-i2c tegra12-i2c.1: timeout config_load
[ 39.612880] hdmi_state_machine_set_state_l: switching from state 2 (Check ED)
[ 39.622352] BUG: workqueue leaked lock or atomic: kworker/0:1/0x00000001/31
[ 39.622352] last function: hdmi_state_machine_worker
[ 39.634735] CPU: 0 PID: 31 Comm: kworker/0:1 Not tainted 3.10.40-2.7.5+g22e01
[ 39.642344] Workqueue: events hdmi_state_machine_worker
[ 39.647688] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 39.656362] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0075894>] (process_o)
[ 39.665200] [<c0075894>] (process_one_work+0x2e8/0x3f8) from [<c0076654>] (w)
[ 39.674473] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 39.682796] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 39.691492] BUG: workqueue leaked lock or atomic: kworker/0:1/0x00000001/31
[ 39.691492] last function: pm_runtime_work
[ 39.703086] CPU: 0 PID: 31 Comm: kworker/0:1 Not tainted 3.10.40-2.7.5+g22e01
[ 39.710757] Workqueue: pm pm_runtime_work
[ 39.715081] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 39.723820] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0075894>] (process_o)
[ 39.732739] [<c0075894>] (process_one_work+0x2e8/0x3f8) from [<c0076654>] (w)
[ 39.742172] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 39.750591] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 39.758774] BUG: scheduling while atomic: kworker/0:1/31/0x40000002
[ 39.765183] Modules linked in: joydev apalis_tk1_k20_can apalis_tk1_k20_ts g0
[ 39.777332] CPU: 0 PID: 31 Comm: kworker/0:1 Not tainted 3.10.40-2.7.5+g22e01
[ 39.785060] Workqueue: pm pm_runtime_work
[ 39.789251] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 39.797989] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0086760>] (__schedul)
[ 39.806609] [<c0086760>] (__schedule_bug+0x4c/0x68) from [<c0725210>] (__sch)
[ 39.815261] [<c0725210>] (__schedule+0x7c/0x7f4) from [<c0088880>] (__cond_r)
[ 39.823926] [<c0088880>] (__cond_resched+0x2c/0x3c) from [<c0725d10>] (_cond)
[ 39.832802] [<c0725d10>] (_cond_resched+0x40/0x48) from [<c0075898>] (proces)
[ 39.841964] [<c0075898>] (process_one_work+0x2ec/0x3f8) from [<c0076654>] (w)
[ 39.851330] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 39.859805] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 39.877220] hdmi_state_machine_worker (tid edb665c0): state 2 (Check EDID), 0
[ 39.886563] BUG: scheduling while atomic: kworker/0:1/31/0x00000002
[ 39.892925] Modules linked in: joydev apalis_tk1_k20_can apalis_tk1_k20_ts g0
[ 39.904895] CPU: 0 PID: 31 Comm: kworker/0:1 Tainted: G W 3.10.40-1
[ 39.913540] Workqueue: events hdmi_state_machine_worker
[ 39.918908] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 39.927613] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0086760>] (__schedul)
[ 39.936169] [<c0086760>] (__schedule_bug+0x4c/0x68) from [<c0725210>] (__sch)
[ 39.944764] [<c0725210>] (__schedule+0x7c/0x7f4) from [<c0723c64>] (schedule)
[ 39.953705] [<c0723c64>] (schedule_timeout+0x1ec/0x220) from [<c0067c6c>] (m)
[ 39.962278] [<c0067c6c>] (msleep+0x24/0x28) from [<c04ff138>] (tegra_i2c_flu)
[ 39.971059] [<c04ff138>] (tegra_i2c_flush_fifos+0x78/0x84) from [<c04ffee8>])
[ 39.980959] [<c04ffee8>] (tegra_i2c_xfer_msg+0x44/0x9e4) from [<c0500b50>] ()
[ 39.990464] [<c0500b50>] (tegra_i2c_xfer+0x2c8/0x3d4) from [<c04fac8c>] (__i)
[ 39.999513] [<c04fac8c>] (__i2c_transfer+0x54/0x7c) from [<c04fc4dc>] (i2c_t)
[ 40.008281] [<c04fc4dc>] (i2c_transfer+0x98/0x118) from [<c035816c>] (tegra_)
[ 40.017695] [<c035816c>] (tegra_edid_read_block+0x94/0xf0) from [<c03587b4>])
[ 40.028036] [<c03587b4>] (tegra_edid_get_monspecs+0x48/0x2d8) from [<c035709)
[ 40.038339] [<c0357094>] (handle_check_edid_l+0x50/0x1f4) from [<c0075804>] )
[ 40.048060] [<c0075804>] (process_one_work+0x258/0x3f8) from [<c0076654>] (w)
[ 40.057395] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 40.065781] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 40.080961] BUG: scheduling while atomic: kworker/0:1/31/0x00000002
[ 40.087293] Modules linked in: joydev apalis_tk1_k20_can apalis_tk1_k20_ts g0
[ 40.099097] CPU: 0 PID: 31 Comm: kworker/0:1 Tainted: G W 3.10.40-1
[ 40.107690] Workqueue: events hdmi_state_machine_worker
[ 40.112991] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 40.121652] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0086760>] (__schedul)
[ 40.130146] [<c0086760>] (__schedule_bug+0x4c/0x68) from [<c0725210>] (__sch)
[ 40.138723] [<c0725210>] (__schedule+0x7c/0x7f4) from [<c0723c64>] (schedule)
[ 40.147623] [<c0723c64>] (schedule_timeout+0x1ec/0x220) from [<c0067c6c>] (m)
[ 40.156115] [<c0067c6c>] (msleep+0x24/0x28) from [<c04ff138>] (tegra_i2c_flu)
[ 40.164845] [<c04ff138>] (tegra_i2c_flush_fifos+0x78/0x84) from [<c04ffee8>])
[ 40.174720] [<c04ffee8>] (tegra_i2c_xfer_msg+0x44/0x9e4) from [<c0500b50>] ()
[ 40.184167] [<c0500b50>] (tegra_i2c_xfer+0x2c8/0x3d4) from [<c04fac8c>] (__i)
[ 40.193154] [<c04fac8c>] (__i2c_transfer+0x54/0x7c) from [<c04fc4dc>] (i2c_t)
[ 40.201879] [<c04fc4dc>] (i2c_transfer+0x98/0x118) from [<c035816c>] (tegra_)
[ 40.211241] [<c035816c>] (tegra_edid_read_block+0x94/0xf0) from [<c03587b4>])
[ 40.221530] [<c03587b4>] (tegra_edid_get_monspecs+0x48/0x2d8) from [<c035709)
[ 40.231754] [<c0357094>] (handle_check_edid_l+0x50/0x1f4) from [<c0075804>] )
[ 40.241432] [<c0075804>] (process_one_work+0x258/0x3f8) from [<c0076654>] (w)
[ 40.250688] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 40.259024] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 40.270727] BUG: scheduling while atomic: kworker/0:1/31/0x00000002
[ 40.277025] Modules linked in: joydev apalis_tk1_k20_can apalis_tk1_k20_ts g0
[ 40.288819] CPU: 0 PID: 31 Comm: kworker/0:1 Tainted: G W 3.10.40-1
[ 40.297361] Workqueue: events hdmi_state_machine_worker
[ 40.302651] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 40.311285] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0086760>] (__schedul)
[ 40.319750] [<c0086760>] (__schedule_bug+0x4c/0x68) from [<c0725210>] (__sch)
[ 40.328312] [<c0725210>] (__schedule+0x7c/0x7f4) from [<c0723c64>] (schedule)
[ 40.337200] [<c0723c64>] (schedule_timeout+0x1ec/0x220) from [<c0067c6c>] (m)
[ 40.345659] [<c0067c6c>] (msleep+0x24/0x28) from [<c04ff138>] (tegra_i2c_flu)
[ 40.354404] [<c04ff138>] (tegra_i2c_flush_fifos+0x78/0x84) from [<c04ffee8>])
[ 40.364249] [<c04ffee8>] (tegra_i2c_xfer_msg+0x44/0x9e4) from [<c0500b50>] ()
[ 40.373659] [<c0500b50>] (tegra_i2c_xfer+0x2c8/0x3d4) from [<c04fac8c>] (__i)
[ 40.382654] [<c04fac8c>] (__i2c_transfer+0x54/0x7c) from [<c04fc4dc>] (i2c_t)
[ 40.391379] [<c04fc4dc>] (i2c_transfer+0x98/0x118) from [<c035816c>] (tegra_)
[ 40.400699] [<c035816c>] (tegra_edid_read_block+0x94/0xf0) from [<c03587b4>])
[ 40.410995] [<c03587b4>] (tegra_edid_get_monspecs+0x48/0x2d8) from [<c035709)
[ 40.421195] [<c0357094>] (handle_check_edid_l+0x50/0x1f4) from [<c0075804>] )
[ 40.430890] [<c0075804>] (process_one_work+0x258/0x3f8) from [<c0076654>] (w)
[ 40.440133] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 40.448418] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 40.464589] BUG: scheduling while atomic: kworker/0:1/31/0x00000002
[ 40.470906] Modules linked in: joydev apalis_tk1_k20_can apalis_tk1_k20_ts g0
[ 40.482650] CPU: 0 PID: 31 Comm: kworker/0:1 Tainted: G W 3.10.40-1
[ 40.491200] Workqueue: events hdmi_state_machine_worker
[ 40.496481] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 40.505108] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0086760>] (__schedul)
[ 40.513561] [<c0086760>] (__schedule_bug+0x4c/0x68) from [<c0725210>] (__sch)
[ 40.522122] [<c0725210>] (__schedule+0x7c/0x7f4) from [<c0723c64>] (schedule)
[ 40.531017] [<c0723c64>] (schedule_timeout+0x1ec/0x220) from [<c0067c6c>] (m)
[ 40.539476] [<c0067c6c>] (msleep+0x24/0x28) from [<c04ff138>] (tegra_i2c_flu)
[ 40.548212] [<c04ff138>] (tegra_i2c_flush_fifos+0x78/0x84) from [<c04ffee8>])
[ 40.558051] [<c04ffee8>] (tegra_i2c_xfer_msg+0x44/0x9e4) from [<c0500b50>] ()
[ 40.567463] [<c0500b50>] (tegra_i2c_xfer+0x2c8/0x3d4) from [<c04fac8c>] (__i)
[ 40.576449] [<c04fac8c>] (__i2c_transfer+0x54/0x7c) from [<c04fc4dc>] (i2c_t)
[ 40.585160] [<c04fc4dc>] (i2c_transfer+0x98/0x118) from [<c035816c>] (tegra_)
[ 40.594481] [<c035816c>] (tegra_edid_read_block+0x94/0xf0) from [<c03587b4>])
[ 40.604775] [<c03587b4>] (tegra_edid_get_monspecs+0x48/0x2d8) from [<c035709)
[ 40.614962] [<c0357094>] (handle_check_edid_l+0x50/0x1f4) from [<c0075804>] )
[ 40.624641] [<c0075804>] (process_one_work+0x258/0x3f8) from [<c0076654>] (w)
[ 40.633878] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 40.642156] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 40.675145] BUG: scheduling while atomic: kworker/0:1/31/0x00000002
[ 40.681442] Modules linked in: joydev apalis_tk1_k20_can apalis_tk1_k20_ts g0
[ 40.693159] CPU: 0 PID: 31 Comm: kworker/0:1 Tainted: G W 3.10.40-1
[ 40.701703] Workqueue: events hdmi_state_machine_worker
[ 40.706964] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 40.715592] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0086760>] (__schedul)
[ 40.724034] [<c0086760>] (__schedule_bug+0x4c/0x68) from [<c0725210>] (__sch)
[ 40.732567] [<c0725210>] (__schedule+0x7c/0x7f4) from [<c0723c64>] (schedule)
[ 40.741458] [<c0723c64>] (schedule_timeout+0x1ec/0x220) from [<c0067c6c>] (m)
[ 40.749901] [<c0067c6c>] (msleep+0x24/0x28) from [<c04ff138>] (tegra_i2c_flu)
[ 40.758610] [<c04ff138>] (tegra_i2c_flush_fifos+0x78/0x84) from [<c04ffee8>])
[ 40.768451] [<c04ffee8>] (tegra_i2c_xfer_msg+0x44/0x9e4) from [<c0500b50>] ()
[ 40.777851] [<c0500b50>] (tegra_i2c_xfer+0x2c8/0x3d4) from [<c04fac8c>] (__i)
[ 40.786809] [<c04fac8c>] (__i2c_transfer+0x54/0x7c) from [<c04fc4dc>] (i2c_t)
[ 40.795519] [<c04fc4dc>] (i2c_transfer+0x98/0x118) from [<c035816c>] (tegra_)
[ 40.804830] [<c035816c>] (tegra_edid_read_block+0x94/0xf0) from [<c03587b4>])
[ 40.815100] [<c03587b4>] (tegra_edid_get_monspecs+0x48/0x2d8) from [<c035709)
[ 40.825272] [<c0357094>] (handle_check_edid_l+0x50/0x1f4) from [<c0075804>] )
[ 40.834932] [<c0075804>] (process_one_work+0x258/0x3f8) from [<c0076654>] (w)
[ 40.844157] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 40.852422] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 40.869326] BUG: scheduling while atomic: kworker/0:1/31/0x00000002
[ 40.875618] Modules linked in: joydev apalis_tk1_k20_can apalis_tk1_k20_ts g0
[ 40.887316] CPU: 0 PID: 31 Comm: kworker/0:1 Tainted: G W 3.10.40-1
[ 40.895840] Workqueue: events hdmi_state_machine_worker
[ 40.901102] [<c0015290>] (unwind_backtrace+0x0/0x120) from [<c0011e78>] (sho)
[ 40.909716] [<c0011e78>] (show_stack+0x18/0x1c) from [<c0086760>] (__schedul)
[ 40.918160] [<c0086760>] (__schedule_bug+0x4c/0x68) from [<c0725210>] (__sch)
[ 40.926695] [<c0725210>] (__schedule+0x7c/0x7f4) from [<c0723c64>] (schedule)
[ 40.935565] [<c0723c64>] (schedule_timeout+0x1ec/0x220) from [<c0067c6c>] (m)
[ 40.944003] [<c0067c6c>] (msleep+0x24/0x28) from [<c04ff138>] (tegra_i2c_flu)
[ 40.952717] [<c04ff138>] (tegra_i2c_flush_fifos+0x78/0x84) from [<c04ffee8>])
[ 40.962543] [<c04ffee8>] (tegra_i2c_xfer_msg+0x44/0x9e4) from [<c0500b50>] ()
[ 40.971944] [<c0500b50>] (tegra_i2c_xfer+0x2c8/0x3d4) from [<c04fac8c>] (__i)
[ 40.980907] [<c04fac8c>] (__i2c_transfer+0x54/0x7c) from [<c04fc4dc>] (i2c_t)
[ 40.989604] [<c04fc4dc>] (i2c_transfer+0x98/0x118) from [<c035816c>] (tegra_)
[ 40.998917] [<c035816c>] (tegra_edid_read_block+0x94/0xf0) from [<c03587b4>])
[ 41.009174] [<c03587b4>] (tegra_edid_get_monspecs+0x48/0x2d8) from [<c035709)
[ 41.019362] [<c0357094>] (handle_check_edid_l+0x50/0x1f4) from [<c0075804>] )
[ 41.029014] [<c0075804>] (process_one_work+0x258/0x3f8) from [<c0076654>] (w)
[ 41.038231] [<c0076654>] (worker_thread+0x1b0/0x328) from [<c007c3dc>] (kthr)
[ 41.046505] [<c007c3dc>] (kthread+0xc0/0xcc) from [<c000e4b8>] (ret_from_for)
[ 41.055942] tegra-i2c tegra12-i2c.1: timeout waiting for fifo flush
It seems the reconnection failed by reading the EDID:
tegra_edid_read_block(0) returned err -121
tegra-i2c tegra12-i2c.1: no acknowledge from address 0x50
Do you have any suggestions? Thanks.
Frank