so it looks like I have now tracked the issue down.
The "offending" commit seems to be:
4c193d254ee94da02857b9670e815b1765a9579b
(the first commit which showed the issue - I tried for more than half an hour with its direct predecessor d1b167e168bdac0b6af11e7a8c601773639fc419, but could not reproduce the issue.
As the change by the offending commit seems really very 'simple':
at the heart of the issue, I think we now have the question whether it indeed is correct that there might be NV84-compatible G86 variants (such as my 8400M-based Quadro NVS130M), for which this "nv84_bo_move_exec" causes issues...!?
One more question regarding verification with current kernels:
In a current kernel, method nouveau_bo_move_init looks similar, but different:
Hello again,
so it looks like I have now tracked the issue down.
The "offending" commit seems to be:
4c193d254ee94da 02857b9670e815b 1765a9579b
(the first commit which showed the issue - I tried for more than half an hour with its direct predecessor d1b167e168bdac0 b6af11e7a8c6017 73639fc419, but could not reproduce the issue.
As the change by the offending commit seems really very 'simple':
"use crypto engine for async buffer copies"
@@ -821,6 +839,7 @@ nouveau_ bo_move_ init(struct nouveau_channel *chan)
} _methods[] = {
{ "COPY", 0xa0b5, nve0_bo_move_copy, nvc0_bo_move_init },
{ "M2MF", 0x9039, nvc0_bo_move_m2mf, nvc0_bo_move_init },
+ { "CRYPT", 0x74c1, nv84_bo_move_exec, nv50_bo_move_init },
{ "M2MF", 0x5039, nv50_bo_move_m2mf, nv50_bo_move_init },
{ "M2MF", 0x0039, nv04_bo_move_m2mf, nv04_bo_move_init },
at the heart of the issue, I think we now have the question whether it indeed is correct that there might be NV84-compatible G86 variants (such as my 8400M-based Quadro NVS130M), for which this "nv84_bo_move_exec" causes issues...!?
One more question regarding verification with current kernels:
In a current kernel, method nouveau_ bo_move_ init looks similar, but different:
} _methods[] = {
{ "COPY", 4, 0xa0b5, nve0_bo_move_copy, nve0_bo_move_init },
{ "GRCE", 0, 0xa0b5, nve0_bo_move_copy, nvc0_bo_move_init },
{ "COPY1", 5, 0x90b8, nvc0_bo_move_copy, nvc0_bo_move_init },
{ "COPY0", 4, 0x90b5, nvc0_bo_move_copy, nvc0_bo_move_init },
{ "COPY", 0, 0x85b5, nva3_bo_move_copy, nv50_bo_move_init },
{ "CRYPT", 0, 0x74c1, nv84_bo_move_exec, nv50_bo_move_init },
{ "M2MF", 0, 0x9039, nvc0_bo_move_m2mf, nvc0_bo_move_init },
{ "M2MF", 0, 0x5039, nv50_bo_move_m2mf, nv50_bo_move_init },
{ "M2MF", 0, 0x0039, nv04_bo_move_m2mf, nv04_bo_move_init },
{},
{ "CRYPT", 0, 0x88b4, nv98_bo_move_exec, nv50_bo_move_init },
}, *mthd = _methods;
what would be an equivalent change to a current kernel to roll back the effects of the above forward patch?
Looking forward to your feedback...
Thanks a million & best regards,
Andreas