Module Name: src Committed By: martin Date: Fri Aug 31 17:35:51 UTC 2018
Modified Files: src/sys/external/bsd/drm2/dist/drm/nouveau [netbsd-8]: nouveau_fence.c nouveau_fence.h nouveau_nv84_fence.c Log Message: Pull up following revision(s) (requested by riastradh in ticket #996): sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv84_fence.c: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.h: revision 1.3 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.h: revision 1.4 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.h: revision 1.5 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c: revision 1.5 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c: revision 1.6 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c: revision 1.7 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c: revision 1.8 sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c: revision 1.9 Rewrite nouveau_fence in an attempt to make it make sense. PR kern/53441 XXX pullup-7 XXX pullup-8 Fences may last longer than their channels. - Use a reference count on the nouveau_fence_chan object. - Acquire it with kpreemption disabled. - Use xcall to wait for kpreempt-disabled sections to complete. PR kern/53441 XXX pullup-7 XXX pullup-8 Defer nouveau_fence_unref until spin unlock. - kfree while holding a spin lock is not a good idea. - Make sure we GC every time we might signal fences. PR kern/53441 XXX pullup-7 XXX pullup-8 Attempt to make sense of return values of nouveau_fence_wait. PR kern/53441 XXX pullup-7 XXX pullup-8 Fix edge case of reference counting, oops. PR kern/53441 XXX pullup-7 XXX pullup-8 To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.10.1 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.c cvs rdiff -u -r1.2 -r1.2.24.1 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_fence.h cvs rdiff -u -r1.2 -r1.2.10.1 \ src/sys/external/bsd/drm2/dist/drm/nouveau/nouveau_nv84_fence.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.