Closer now...
ca386aa7155a drm/nouveau/kms/nv50-gp1xx: add WAR for EVO push buffer HW bug < bug was here
a9cfcfcad50c drm/nouveau/kms/nv50-gp1xx: disable notifies again after core update < testing here now!
35dde8d40636 drm/nouveau/kms/nv50-: add some whitespace before debug message < this only added a space in a comment
a255e9c8694d drm/nouveau/kms/gv100-: Include correct push header in crcc37d.c < this isn't my "nv50" gpu
fc8c70526bd3 drm/radeon: Prefer lower feedback dividers < bug wasn't here
I think I see a possibility for the cause too:
bit from:
drivers/gpu/drm/nouveau/dispnv50/core507d.c
if (ntfy) {
PUSH_MTHD(push, NV507D, SET_NOTIFIER_CONTROL,
NVDEF(NV507D, SET_NOTIFIER_CONTROL, MODE, WRITE) |
NVVAL(NV507D, SET_NOTIFIER_CONTROL, OFFSET, NV50_DISP_CORE_NTFY >> 2) |
NVDEF(NV507D, SET_NOTIFIER_CONTROL, NOTIFY, ENABLE));
}
PUSH_MTHD(push, NV507D, UPDATE, interlock[NV50_DISP_INTERLOCK_BASE] |
interlock[NV50_DISP_INTERLOCK_OVLY] |
NVDEF(NV507D, UPDATE, NOT_DRIVER_FRIENDLY, FALSE) |
NVDEF(NV507D, UPDATE, NOT_DRIVER_UNFRIENDLY, FALSE) |
NVDEF(NV507D, UPDATE, INHIBIT_INTERRUPTS, FALSE),
SET_NOTIFIER_CONTROL, <<<<<< why is that floating about there, could it be a typo??
NVDEF(NV507D, SET_NOTIFIER_CONTROL, NOTIFY, DISABLE));
Those seem to be lists of numbers (instructions) being "pushed" to the hardware.
That was added in "disable notifies again after core update" so, guessing pending more testing
Some of the things in this area were borrowed from NVIDIA reading the commit messages, so perhaps it was in the NVIDIA driver first then was copied to Nouveau a bit later.
Still testing but no bug so far - looking more like its the "add WAR for EVO push buffer HW bug"
An interesting thing - you know why this has gone unfixed for 3 months? Ben Skeggs the nouveau kernel maintainer has vanished. Last commit on GitHub was Nov 14th. Nothing recent in the LKML either.