Fixes multithreading inside nouveau by moving move stuff into the context. Fencing is probably the biggest change here. Nothing too complicated going on overall.
I'd like to merge it directly after the next release gets branched out. This MR itself is easily backportable so if distributions want to quick multithreading in older releases downstream, they are free to do so with this MR. It should contain everything needed. The only additional patch to backport would be this one: de0a0d2f
Copr for Testing on Fedora 35: https://copr.fedorainfracloud.org/coprs/karolherbst/Nouveau_Testing/
usleep prior kicking does help, so it might be some stupid timing issue.