- Tie the DRM to a specific device: setunique no longer succeeds when given
authorEric Anholt <anholt@freebsd.org>
Wed, 5 Nov 2003 08:13:52 +0000 (08:13 +0000)
committerEric Anholt <anholt@freebsd.org>
Wed, 5 Nov 2003 08:13:52 +0000 (08:13 +0000)
commit66c9e3053f857df340a982edaa8ea57b229efeed
treef1ba7392f422b2687952f0242c6916d1ac766fea
parent19ee64add26773f4436440f8fa405a1011eea4c4
- Tie the DRM to a specific device: setunique no longer succeeds when given
    a busid that doesn't correspond to the device the DRM is attached to.
    This is a breaking of backwards-compatibility only for the
    multiple-DRI-head case with X Servers that don't use interface 1.1.
- Move irq_busid to drm_irq.h and make it only return the IRQ for the
    current device. Retains compatibility with previous X Servers, cleans
    up unnecessary code. This means no irq_busid on !__HAVE_IRQ, but can be
    changed if necessary.
- Bump interface version to 1.2. This version when set signifies that the
    control ioctl should ignore the irq number passed in and enable the
    interrupt handler for the attached device. Otherwise it errors out when
    the passed-in irq is not equal to the device's.
- Store the highest version the interface has been set to in the device.
- Fix a recursion on DRM_LOCK in irq_uninstall on FreeBSD. This leaves
    irq_uninstall being done without the lock in some cases, but it was
    racey anyways.
27 files changed:
bsd-core/drmP.h
bsd-core/drm_drv.c
bsd-core/drm_ioctl.c
bsd-core/drm_irq.c
bsd/drmP.h
bsd/drm_drv.h
bsd/drm_ioctl.h
bsd/drm_irq.h
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_ioctl.c
linux-core/drm_irq.c
linux-core/i810_dma.c
linux-core/i830_dma.c
linux/drmP.h
linux/drm_drv.h
linux/drm_ioctl.h
linux/drm_irq.h
linux/gamma_dma.c
linux/i810_dma.c
linux/i830_dma.c
shared-core/mga_dma.c
shared-core/r128_cce.c
shared-core/radeon_cp.c
shared/mga_dma.c
shared/r128_cce.c
shared/radeon_cp.c