Re: [Linux-fbdev-devel] DRM and pci_driver conversion

From: Eric Anholt
Date: Thu Oct 23 2003 - 16:11:44 EST


On Thu, 2003-10-23 at 12:04, Kronos wrote:
> Il Mon, Oct 20, 2003 at 07:31:56PM -0700, Eric Anholt ha scritto:
> > I recently committed a change to the DRM for Linux in DRI CVS that
> > converted it to use pci_driver and that probe system. Unfortunately,
> > we've found that there is a conflict between the DRM now and at least
> > the radeon framebuffer. Both want to attach to the same device, and
> > with pci_driver, the second one to come along doesn't get probe called
> > for that device. Is there any way to mark things shared, or in some
> > other way get the DRM to attach to a device that's already attached to,
> > in the new model?
>
> AFAIK no, pci_dev only stores one pointer to the driver. Two drivers
> fiddling with the same hw can be dangerous. What will happen if radeonfb
> starts using hw accel, touching registers without DRM knowing it? What
> is (IMHO) needed is a common layer that works with hardware and exposes
> an interface to both radeonfb and DRM. I think that Jon Smirl is working
> on something like this.

Apparently loading DRM after radeonfb is okay. Loading radeonfb after
DRM is okay as long as the DRM is not in use. For some cards, the fb
after the DRM would still be okay (sis, tdfx at the moment, for
example), but it isn't the case on radeon, apparently. Other than that
there aren't any issues I know of.

I've moved the Linux DRM to old-style probing as pci.txt described,
which hopefully restores the ability of fb and drm to coexist as well as
they have in the past. I hope some linux developers can get this all
done right so that the two can coexist better.

--
Eric Anholt eta@xxxxxxxxxx
http://people.freebsd.org/~anholt/ anholt@xxxxxxxxxxx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/