New DRM driver model - gets rid of DRM() macros!

Eric Anholt eta at lclark.edu
Wed Sep 29 17:00:40 PDT 2004


On Wed, 2004-09-29 at 07:25, Keith Whitwell wrote:
> Jon Smirl wrote:
> >
> > Drivers provide these callbacks......
> > 
> > struct drm_driver_fn {
> >        u32 driver_features;
> >        int dev_priv_size;
> >        int permanent_maps;
> >        drm_ioctl_desc_t *ioctls;
> >        int num_ioctls;
> 
> >        int (*preinit)(struct drm_device *, unsigned long flags);
> >        void (*prerelease)(struct drm_device *, struct file *filp);
> >        void (*pretakedown)(struct drm_device *);
> >        int (*postcleanup)(struct drm_device *);
> >        int (*presetup)(struct drm_device *);
> >        int (*postsetup)(struct drm_device *);
> >        int (*dma_ioctl)( DRM_IOCTL_ARGS );
> >        /* these are opposites at the moment */
> >        int (*open_helper)(struct drm_device *, drm_file_t *);
> >        void (*free_filp_priv)(struct drm_device *, drm_file_t *);
> 
> >        void (*release)(struct drm_device *, struct file *filp);
> >        void (*dma_ready)(struct drm_device *);
> 
> Is this used by any driver?
> 
> >        int (*dma_quiescent)(struct drm_device *);
> 
> >        int (*context_ctor)(struct drm_device *dev, int context);
> >        int (*context_dtor)(struct drm_device *dev, int context);
> >        int (*kernel_context_switch)(struct drm_device *dev, int old, int new);
> >        int (*kernel_context_switch_unlock)(struct drm_device *dev);
> 
> The whole context thing in the kernel is pretty much cruft.  The gamma module 
> used to rely on it, maybe the ffb module if that still exists?  It would be 
> good to see this disappear.
> 
> Though the drivers don't rely on it, I don't know if the server-side code 
> persists in setting it up regardless, which might make it hard to get rid of.

SiS relies on context ctor/dtor (dtor only, when I'm done) for its
kernel memory manager.

-- 
Eric Anholt                                eta at lclark.edu          
http://people.freebsd.org/~anholt/         anholt at FreeBSD.org





More information about the xorg mailing list