drm: wire poll_hotplug into IRQ event thread

When handle_irq() returns Ok(None) (no IRQ event received),
also call poll_hotplug() to detect connector changes via
HPD register polling fallback. Events are fed through the
same event channel to the scheme handler.
This commit is contained in:
2026-06-01 07:51:04 +03:00
parent 9044ca8e61
commit 3be97a964a
+14 -1
View File
@@ -83,7 +83,20 @@ fn run(daemon: daemon::Daemon) -> Result<()> {
break;
}
}
Ok(None) => {}
Ok(None) => {
match irq_driver.poll_hotplug() {
Ok(Some(event)) => {
if event_tx.send(event).is_err() {
error!("redox-drm: event consumer dropped, stopping IRQ event thread");
break;
}
}
Ok(None) => {}
Err(e) => {
error!("redox-drm: hotplug poll error: {}", e);
}
}
}
Err(e) => {
error!("redox-drm: IRQ handler error: {}", e);
}