From: Jon Smirl <jonsmirl@gmail.com>
To: Dave Airlie <airlied@linux.ie>
Cc: dri-devel@lists.sf.net, lkml <linux-kernel@vger.kernel.org>
Subject: Re: Merging DRM and fbdev
Date: Sun, 3 Oct 2004 11:33:14 -0400 [thread overview]
Message-ID: <9e4733910410030833e8a6683@mail.gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0410030824280.2325@skynet>
Resource reservations are not the central problem with merging fbdev
and drm. The central problem is that both card specific drivers
initialize the hardware, program it in conflicting ways, allocate the
video memory differently, etc. Moving to a single card specific driver
lets me fix that.
In the final form both the VGA scheme and my code provide shared
resource reservation code. The main difference between the schemes is
that the VGA scheme allows multiple independent card drivers while
mine only allow a single merged one.
Multiple card drivers in the past has resulted in conflicting
programming of the hardware. I suppose we could write a bunch of rules
about how to share the hardware but that seems like a lot of
complicated work. The radeon has over 200 registers that would need
rules for what settings are allowed. It's a lot easier to simply merge
20K of radeonfb driver into the radeondrm and eliminate this error
prone process.
If we could all just concentrate on fixing the radeondrm driver we
could build a complete driver for the radeon cards instead of the ten
half finished ones we have today. Once we get a complete driver the
incentive for people to write new ones will be gone.
The two models look like this:
vga - attached to hardware
radeon-drm
drm - library
radeon-fb
fb - library
fbcon - library
My model....
radeon - attached to hardware
drm - library
fb - library
fbcon - library
vga - independent driver, there is only one VGA device even if
multiple radeons. This driver is responsible for secondary card
resets.
In the first model radeon-drm and radeon-fb can run independently.
This requires duplication of the initialization code. Since the are
separate drivers they can and do have completely different models for
programming the hardware. At VT switch time the drivers have to
save/restore state.
In the second model it is not required that a driver support both fb
and drm. Something like cyber2000 does have to link in drm since it
has no use for it.
A complaint in the second model might be that the radeon driver is
120K. If some embedded system is really, really tight on RAM and they
are embedding a radeon but don't want to use its advanced abilities,
there is nothing stopping someone from splitting the radeon driver up
into pieces. I will happily take the patch. Doing this is probably a
week's worth of coding and testing to get maybe 50K memory savings.
Simplest way to do this is to add IFDEFs to remove drm support from
the merged radeon driver.
--
Jon Smirl
jonsmirl@gmail.com
next prev parent reply other threads:[~2004-10-03 15:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-03 3:55 Merging DRM and fbdev Jon Smirl
2004-10-03 7:26 ` Dave Airlie
2004-10-03 15:33 ` Jon Smirl [this message]
2004-10-03 15:50 ` Vladimir Dergachev
2004-10-03 16:24 ` Jon Smirl
2004-10-03 16:59 ` Vladimir Dergachev
2004-10-03 17:55 ` Jon Smirl
2004-10-03 20:37 ` Vladimir Dergachev
2004-10-03 22:42 ` Jon Smirl
2004-10-03 22:16 ` Alan Cox
2004-10-03 22:19 ` Alan Cox
2004-10-04 1:56 ` Vladimir Dergachev
2004-10-03 18:38 ` Mike Mestnik
2004-10-03 18:56 ` Jon Smirl
2004-10-04 19:48 ` Bill Davidsen
2004-10-03 16:46 ` Jon Smirl
2004-10-04 17:47 ` Tonnerre
2004-10-04 18:42 ` Jon Smirl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9e4733910410030833e8a6683@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.sf.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox