Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-8] src/sys/external/bsd/drm2/dist/drm/nouveau



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.




Home | Main Index | Thread Index | Old Index