Subject: Re: DRI on sunffb and some rambling
To: Tonnerre <tonnerre@thundrix.ch>
From: Michael <macallan18@earthlink.net>
List: tech-kern
Date: 06/06/2005 01:20:29
--Signature_Mon__6_Jun_2005_01_20_29_-0400__8i.PU+l9ddIiFmu
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Hello,

> The other suggestion is to export a machfb-like framebuffer via
> radeon* and simply attach wscons on top of it.
>=20
> Of course, radeon* can be anything (radeon*, tdfx*, sunffb*, ...).

That's exactly what we do on sparc64 - there's a bunch of display
drivers which attach to mainbus, pci, sbus and so on, and then attach
wsdisplays to them.

> Running DRM on _top_ of a framebuffer device is not exactly easy, and
> may be undesirable, since the job of DRM is to keep hardware buffers
> and the GPU registers and all accessible from userland.

Not on top - if I understood the drm code at all then there's some
portion that's device specific and another one that can be shared. I
would put the part that talks to the hardware into the display driver
and just attach the shared stuff on top of it, more or less like
wsdisplay / rasops - the display driver does the gruntwork - mapping
memory areas and such, while the shared layer sits between
/dev/drm/card* and the device driver, keeps track of minor device
numbers and so on so we don't have to replicate this in each and every
display driver.

have fun
Michael

--Signature_Mon__6_Jun_2005_01_20_29_-0400__8i.PU+l9ddIiFmu
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (NetBSD)

iQEVAwUBQqPdHcpnzkX8Yg2nAQLGZwf8CHVA84yjDnluNMoIIZeW8LsqnZyh4k4g
aspZG1oGlGy1f5FpufNqT6Y/HdUMbLIbq00zFPmdgVwCgW8BmuGkhmVNaYv6nBC/
IchG80uL4OdNKTdrZsUUHEDMu7klaWljUCJ55ll2Ht5R0m0I0U4u6LpitD2uzc6K
uoGe7RCPPytUvfn225Lkifo/+B1pkCy09gQyD0xxS+ehpx/zbpWsWuWjNUqp6Kvt
5q30bbbIbJIJ8BNxAplULEVkjoKREua6tgcI5w57utPaEld1MBU67MiVvVri869G
Hz2WTnC60aulZNfSoIx/Ql88K+aaBXaVsy9MnC6zd3753M0SJijNZQ==
=5kfm
-----END PGP SIGNATURE-----

--Signature_Mon__6_Jun_2005_01_20_29_-0400__8i.PU+l9ddIiFmu--