[Midnightbsd-cvs] src: sys/sys: Bring in two large changes from FreeBSD 7.1: * DRM/DRI

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Mar 13 17:43:59 EDT 2011


Log Message:
-----------
Bring in two large changes from FreeBSD 7.1:

* DRM/DRI update for direct rendering on X.  This is a large update to support newer ATI and Intel graphics adapters with acceleration. This was original ported from Linux (it's not GPL)  
* cdev per open file data.

Implement the per-open file data for the cdev.

 The patch does not change the cdevsw KBI. Management of the data is
 provided by the functions
 int     devfs_set_cdevpriv(void *priv, cdevpriv_dtr_t dtr);
 int     devfs_get_cdevpriv(void **datap);
 void    devfs_clear_cdevpriv(void);
 All of the functions are supposed to be called from the cdevsw method
 contexts.

 - devfs_set_cdevpriv assigns the priv as private data for the file
   descriptor which is used to initiate currently performed driver
   operation. dtr is the function that will be called when either the
   last refernce to the file goes away, the device is destroyed  or
   devfs_clear_cdevpriv is called.
 - devfs_get_cdevpriv is the obvious accessor.
 - devfs_clear_cdevpriv allows to clear the private data for the still
   open file.

 Implementation keeps the driver-supplied pointers in the struct
 cdev_privdata, that is referenced both from the struct file and struct
 cdev, and cannot outlive any of the referee.

Obtained from: FreeBSD

Modified Files:
--------------
    src/sys/dev/drm:
        ati_pcigart.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/ati_pcigart.c?r1=1.3&r2=1.4)
        drm-preprocess.sh (r1.2 -> r1.3)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm-preprocess.sh?r1=1.2&r2=1.3)
        drm-subprocess.pl (r1.2 -> r1.3)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm-subprocess.pl?r1=1.2&r2=1.3)
        drm.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm.h?r1=1.4&r2=1.5)
        drmP.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drmP.h?r1=1.4&r2=1.5)
        drm_agpsupport.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_agpsupport.c?r1=1.4&r2=1.5)
        drm_atomic.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_atomic.h?r1=1.3&r2=1.4)
        drm_auth.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_auth.c?r1=1.3&r2=1.4)
        drm_bufs.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_bufs.c?r1=1.3&r2=1.4)
        drm_context.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_context.c?r1=1.3&r2=1.4)
        drm_dma.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_dma.c?r1=1.3&r2=1.4)
        drm_drawable.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_drawable.c?r1=1.3&r2=1.4)
        drm_drv.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_drv.c?r1=1.4&r2=1.5)
        drm_fops.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_fops.c?r1=1.3&r2=1.4)
        drm_ioctl.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_ioctl.c?r1=1.3&r2=1.4)
        drm_irq.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_irq.c?r1=1.3&r2=1.4)
        drm_linux_list.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_linux_list.h?r1=1.3&r2=1.4)
        drm_lock.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_lock.c?r1=1.3&r2=1.4)
        drm_memory.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_memory.c?r1=1.3&r2=1.4)
        drm_pci.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_pci.c?r1=1.3&r2=1.4)
        drm_pciids.h (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_pciids.h?r1=1.5&r2=1.6)
        drm_sarea.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_sarea.h?r1=1.3&r2=1.4)
        drm_scatter.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_scatter.c?r1=1.4&r2=1.5)
        drm_sysctl.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_sysctl.c?r1=1.3&r2=1.4)
        drm_vm.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/drm_vm.c?r1=1.4&r2=1.5)
        i915_dma.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/i915_dma.c?r1=1.5&r2=1.6)
        i915_drm.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/i915_drm.h?r1=1.4&r2=1.5)
        i915_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/i915_drv.c?r1=1.5&r2=1.6)
        i915_drv.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/i915_drv.h?r1=1.4&r2=1.5)
        i915_irq.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/i915_irq.c?r1=1.4&r2=1.5)
        i915_mem.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/i915_mem.c?r1=1.4&r2=1.5)
        mach64_dma.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mach64_dma.c?r1=1.3&r2=1.4)
        mach64_drm.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mach64_drm.h?r1=1.3&r2=1.4)
        mach64_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mach64_drv.c?r1=1.5&r2=1.6)
        mach64_drv.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mach64_drv.h?r1=1.3&r2=1.4)
        mach64_irq.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mach64_irq.c?r1=1.3&r2=1.4)
        mach64_state.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mach64_state.c?r1=1.3&r2=1.4)
        mga_dma.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_dma.c?r1=1.3&r2=1.4)
        mga_drm.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_drm.h?r1=1.3&r2=1.4)
        mga_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_drv.c?r1=1.5&r2=1.6)
        mga_drv.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_drv.h?r1=1.4&r2=1.5)
        mga_irq.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_irq.c?r1=1.3&r2=1.4)
        mga_state.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_state.c?r1=1.3&r2=1.4)
        mga_ucode.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_ucode.h?r1=1.3&r2=1.4)
        mga_warp.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/mga_warp.c?r1=1.3&r2=1.4)
        r128_cce.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r128_cce.c?r1=1.3&r2=1.4)
        r128_drm.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r128_drm.h?r1=1.3&r2=1.4)
        r128_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r128_drv.c?r1=1.5&r2=1.6)
        r128_drv.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r128_drv.h?r1=1.3&r2=1.4)
        r128_irq.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r128_irq.c?r1=1.3&r2=1.4)
        r128_state.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r128_state.c?r1=1.3&r2=1.4)
        r300_cmdbuf.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r300_cmdbuf.c?r1=1.4&r2=1.5)
        r300_reg.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/r300_reg.h?r1=1.4&r2=1.5)
        radeon_cp.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/radeon_cp.c?r1=1.5&r2=1.6)
        radeon_drm.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/radeon_drm.h?r1=1.4&r2=1.5)
        radeon_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/radeon_drv.c?r1=1.5&r2=1.6)
        radeon_drv.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/radeon_drv.h?r1=1.4&r2=1.5)
        radeon_irq.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/radeon_irq.c?r1=1.3&r2=1.4)
        radeon_mem.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/radeon_mem.c?r1=1.3&r2=1.4)
        radeon_state.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/radeon_state.c?r1=1.4&r2=1.5)
        savage_bci.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/savage_bci.c?r1=1.4&r2=1.5)
        savage_drm.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/savage_drm.h?r1=1.3&r2=1.4)
        savage_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/savage_drv.c?r1=1.5&r2=1.6)
        savage_drv.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/savage_drv.h?r1=1.3&r2=1.4)
        savage_state.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/savage_state.c?r1=1.4&r2=1.5)
        sis_drm.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/sis_drm.h?r1=1.3&r2=1.4)
        sis_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/sis_drv.c?r1=1.5&r2=1.6)
        sis_drv.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/sis_drv.h?r1=1.3&r2=1.4)
        sis_ds.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/sis_ds.c?r1=1.4&r2=1.5)
        sis_ds.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/sis_ds.h?r1=1.4&r2=1.5)
        sis_mm.c (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/sis_mm.c?r1=1.4&r2=1.5)
        tdfx_drv.c (r1.5 -> r1.6)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/tdfx_drv.c?r1=1.5&r2=1.6)
        tdfx_drv.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/dev/drm/tdfx_drv.h?r1=1.3&r2=1.4)
    src/sys/dev/vx:
        if_vxreg.h (r1.2 -> r1.3)
        (http://cvsweb.midnightbsd.org/src/sys/dev/vx/if_vxreg.h?r1=1.2&r2=1.3)
        if_vxvar.h (r1.2 -> r1.3)
        (http://cvsweb.midnightbsd.org/src/sys/dev/vx/if_vxvar.h?r1=1.2&r2=1.3)
    src/sys/fs/devfs:
        devfs_int.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/fs/devfs/devfs_int.h?r1=1.4&r2=1.5)
        devfs_vnops.c (r1.6 -> r1.7)
        (http://cvsweb.midnightbsd.org/src/sys/fs/devfs/devfs_vnops.c?r1=1.6&r2=1.7)
    src/sys/kern:
        kern_conf.c (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/kern/kern_conf.c?r1=1.3&r2=1.4)
        kern_descrip.c (r1.6 -> r1.7)
        (http://cvsweb.midnightbsd.org/src/sys/kern/kern_descrip.c?r1=1.6&r2=1.7)
    src/sys/sys:
        conf.h (r1.4 -> r1.5)
        (http://cvsweb.midnightbsd.org/src/sys/sys/conf.h?r1=1.4&r2=1.5)
        file.h (r1.3 -> r1.4)
        (http://cvsweb.midnightbsd.org/src/sys/sys/file.h?r1=1.3&r2=1.4)
        proc.h (r1.6 -> r1.7)
        (http://cvsweb.midnightbsd.org/src/sys/sys/proc.h?r1=1.6&r2=1.7)


More information about the Midnightbsd-cvs mailing list