Skip to content

fix(nvidia): kept the monitor's identity in a short pulse's relight - #595

Merged
FlareCoding merged 1 commit into
masterfrom
pr/nvidia-outputs-11d-monitor
Nov 6, 2026
Merged

FlareCoding merged 1 commit into
masterfrom
pr/nvidia-outputs-11d-monitor

Conversation

@FlareCoding

Copy link
Copy Markdown
Owner

Summary

An output relit on a DisplayPort short pulse, the brief hotplug pulse by which a monitor asks for its DisplayPort registers to be read, named no monitor in gfxfb's GET_OUTPUT, as the relight left out the monitor's identity, the maker, name, product code and serial number its EDID gives.

Changes

  • A relit output names its monitor again: relight_at_lit_timing copies the head's lit_monitor into the one-timing output_modes it builds from what the head kept, as every other light takes the identity from its EDID read. GET_OUTPUT then names the same monitor before and after the relight, so stlxdm, which finds its stored layouts by these identities, sees no new monitor.
  • The new read is documented: lit_monitor's comment names set_up and the driver task as its only writers, so the driver task, on which the relight runs, may read it without the output lock.
  • Checked by a mutation: with the copy dropped, the x86_64 suite fails only the extended test, whose two new checks find the relit output's maker and name empty.
  • Tests: a_short_pulse_relights_an_output_whose_link_is_lost_at_the_timing_it_had also checks that the relit output is reported lit with its EDID's maker and name, AOC and AG241QG4.

@FlareCoding
FlareCoding merged commit 7f8b483 into master Nov 6, 2026
10 checks passed
@FlareCoding
FlareCoding deleted the pr/nvidia-outputs-11d-monitor branch November 6, 2026 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant