forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 408
Closed
Description
The function hdmi_s_power() on hdmi_drv.c might miss the external IRQ trigger when powering off.
The function enables the external IRQ source which is triggered on EDGE. Some devices might set the signal in high before they are ready to negotiate a signal, and the board never goes into "plugged" state, since when the IRQ is enabled, the line is already high (no edge!).
The solution is to add:
queue_delayed_work(system_nrt_wq, &hdev->hpd_work_ext, 0);
immediately after the IRQ is enabled in hdmi_s_power(), to force the system to check if the signal is already high.
See this link for more details:
Metadata
Metadata
Assignees
Labels
No labels