On Mon, Mar 18, 2002, Alan Hourihane wrote:
> 
> On Fri, Mar 15, 2002 at 08:38:20AM -0700, Jens Owen wrote:
> > I would like to move the device dependent functionality currently
> > included in the drm library back into the device driver layer.
> >
> > My objective is to make sure new driver suites can be independently
> > released without stepping on any components needed by other driver
> > suites.  Currently, libdrm contains a mixture of device independent code
> > and multiple device dependent routines.
> >
> > I'm looking for a clean way to split this functionality and restore
> > libdrm device independent, while still providing a mechanism for device
> > specific IOCTL style support directly in device drivers.
> >
> > Could we simply add a drmIOCTL entry point to the DRM library?  Then,
> > the packing and unpacking could be done in the drivers.  The Linux and
> > BSD implementations would simply wrap the standard IOCTL and future OS
> > ports of the DRI would have a layer, if needed, for emulating an IOCTL.
> >
> Jens,
> 
> This is definately a problem that needs sorting out. We certainly
> need to put the driver specific calls into the 2D ddx portion, and
> abstract some form of drmIOCTL for the os-support routines.
> 
> Please go ahead, and I'll certainly help out with this.

Alan,

I've made some headway on this today, and could use some feedback based
on your BSD experience.  I've attempted to move the packing of
drmRadeonInitCP into the 2D ddx driver, and the main concern I'm seeing
is the actual IOCTL request number.  I can easily use the Linux number,
but I thought it might be better to have some OS independent offset. 
However, generating all the combinations of _IO, _IOR, _IOW and _IOWR
semantics in an OS independent way is going to be challenging.  See
xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm.h:line
373

Here is an incomplete patch in case you are interested in the general
direction I was currently prototyping...

Should I just use the Linux _IO* semantics and let other OS ports
twizzle this to get this working, or do you have any ideas on how we can
generate the proper semantics in a more general way.  I think we will
need to generate these semantics at run time, not compile time.

--                             /\
         Jens Owen            /  \/\ _    
  [EMAIL PROTECTED]  /    \ \ \   Steamboat Springs, Colorado

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to