diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-09 13:29:47 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-09 13:29:47 -0500 |
| commit | a47a2124d4c8110e9cfb6fb500a108bcea7becb4 (patch) | |
| tree | 23ddbe54575039881c608f3aeb221692b17263c3 /debug/risc-v-gsp-rm-vm/greeneye/ghidra.py | |
| parent | 6648b570c1822725006847feaedfdf27ebc48afc (diff) | |
| download | open-iov-a47a2124d4c8110e9cfb6fb500a108bcea7becb4.tar.gz open-iov-a47a2124d4c8110e9cfb6fb500a108bcea7becb4.zip | |
vgsp-disp: only post the channel event on a real FINISHED notifier write
The UPDATE path posted the channel completion event on every UPDATE,
including armed=0 updates where no notifier was written (r1665 journal:
armed=0 `-> none` still posts). Those events drive the DDX's NVKMS
FLIP_OCCURRED handler (nvidia_drv.so 0xaee70), which reaps the four
notifier slots of every layer and has a fixed-point retry when the
completed layer does not match the first DPY object's layer; with
non-flip updates raising the event, Xorg spun there at 100 %.
Gate the post on `wrote` (armed + notifier written + FINISHED). r1666:
the 0xaee70 spin is gone from perf; Xorg moved on to a bounded XAA
action-list scan (nvidia_drv.so 0x4dc9c0, nvXAAHandleActionList) plus
do_vfs_ioctl/schedule, i.e. the server main loop is no longer wedged in
the flip reaper.
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/greeneye/ghidra.py')
0 files changed, 0 insertions, 0 deletions
