- SMPng lock the DRM. This is only partial -- there are a few code paths
authorEric Anholt <anholt@freebsd.org>
Sun, 19 Oct 2003 23:35:58 +0000 (23:35 +0000)
committerEric Anholt <anholt@freebsd.org>
Sun, 19 Oct 2003 23:35:58 +0000 (23:35 +0000)
commit0cf1887139eb1ce18d09f7be0567aa93d802040d
tree05704a5a90bc9b0fbabed4029f200f9eff955953
parent59fbe01fea8f77fc3810643c14a1738d197d4291
- SMPng lock the DRM. This is only partial -- there are a few code paths
    used by root (the X Server) which are not locked. However, it should
    deal with lost-IRQ issues on -current which I think people have been
    experiencing but I am unable to reproduce (though I understand why they
    would occur, because of a bug of mine). Note that most of the locking
    (DRM_LOCK()/UNLOCK()) is all covered by Giant still, so it doesn't
    matter yet.
- Remove locking on FreeBSD-stable and NetBSD. These are covered by the
    fact that there is no reentrancy of the kernel except by interrupts,
    which are locked using spldrm()/splx() instead.
26 files changed:
bsd-core/ati_pcigart.c
bsd-core/drmP.h
bsd-core/drm_auth.c
bsd-core/drm_bufs.c
bsd-core/drm_dma.c
bsd-core/drm_drv.c
bsd-core/drm_fops.c
bsd-core/drm_irq.c
bsd-core/drm_os_freebsd.h
bsd-core/drm_os_netbsd.h
bsd-core/drm_pci.c
bsd-core/drm_sysctl.c
bsd-core/drm_vm.c
bsd/ati_pcigart.h
bsd/drmP.h
bsd/drm_auth.h
bsd/drm_bufs.h
bsd/drm_dma.h
bsd/drm_drv.h
bsd/drm_fops.h
bsd/drm_irq.h
bsd/drm_os_freebsd.h
bsd/drm_os_netbsd.h
bsd/drm_pci.h
bsd/drm_sysctl.h
bsd/drm_vm.h