public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jon Smirl <jonsmirl@gmail.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: "Felix Kühling" <fxkuehl@gmx.de>,
	"DRI Devel" <dri-devel@lists.sourceforge.net>,
	"Dave Airlie" <airlied@linux.ie>,
	lkml <linux-kernel@vger.kernel.org>,
	"Linus Torvalds" <torvalds@osdl.org>
Subject: Re: radeon-pre-2
Date: Fri, 10 Sep 2004 22:20:23 -0400	[thread overview]
Message-ID: <9e4733910409101920563e42c0@mail.gmail.com> (raw)
In-Reply-To: <1094853894.18235.17.camel@localhost.localdomain>

The current DRM code doesn't suffer from resource conflicts anymore.
DRM now supports two modes: primary and stealth. In primary mode DRM
behaves like a Linux device driver should, it attaches to it's PCI
IDs, claims it's resources, registers with sysfs, generates hotplug
events, etc.

On the other hand, if vesafb or fbdev are loaded they will be attached
to all of the resources. DRM is blocked now, it can't load and attach
to things like a normal driver. In this case the DRM code reverts to
stealth mode.  Since vesa/fbdev is already attached to the DRM PCI IDs
DRM can't directly attach. Instead the module init code searches the
pci bus for DRM hardware. If DRM finds it's hardware DRM will install
itself and function without informing the kernel that it is there.

Before every one blows up and says how stupid this is, stealth mode
came first, it's what DRM originally did. It's the primary mode code
that is new. Over time the plan is to give DRM the ability to do
take_over_console() and handle printk's. DRM will also gain mode
setting capabilities. Once these capabilities are added the need for a
standalone fbdev will be eliminated. You will still have all of the
fbdev features, they will just be coming out of the integrated code
base, not separate drivers. This is not an attempt to build a new
fbdev, the existing fbdev code is simply being reused and modified to
work in conjunction with DRM.

Stealth and primary mode are transition tools. Once DRM subsumes fbdev
capabilities stealth mode will not be needed anymore and can be
removed.

This is a different strategy than building a base driver that claims
the resources and then loads vesafb, fbdev and DRM on top of the base.
The stealth mode scheme is a smoother transition to coordinating the
video drivers since it doesn't require a simultaneous change to all of
the video drivers. Stealth/primary mode in DRM is already implemented
and tested. Parts of it are already in the kernel and the rest is in
the pipeline.

On Fri, 10 Sep 2004 23:04:56 +0100, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> On Gwe, 2004-09-10 at 14:31, Felix Kühling wrote:
> > The first region (frame buffer and apperture) is claimed (partially) by
> > vesafb, the second one (MMIO registers) is not claimed at all. I don't
> > see an obvious way to fix this.
> 
> Its already fixed in the stuff I'm working on. Given the list of all
> video devices its simply a matter of taking the mmio address and seeing
> who owns it. That gives you the PCI device so you now know what the VESA
> console is Linux pci_device terms. At that point VESA is attachable to
> the PCI device and so it can veto DRI attaches.
> 
> I've not addressed what occurs if you get an answer in the ISA window
> because for VESA2 allocations I don't think it can occur. If it does
> then Jon's code dealing with finding the live VGA route will handle it
> for most boxes. (Anyone using VESA video on an IBM summit can fix it
> themselves).
> 
> Alan
> 



-- 
Jon Smirl
jonsmirl@gmail.com

      parent reply	other threads:[~2004-09-11  2:20 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <E3389AF2-0272-11D9-A8D1-000A95F07A7A@fs.ei.tum.de>
     [not found] ` <DA459966-02B9-11D9-A8D1-000A95F07A7A@fs.ei.tum.de>
     [not found]   ` <9e47339104090917353554a586@mail.gmail.com>
     [not found]     ` <Pine.LNX.4.58.0409100209100.32064@skynet>
     [not found]       ` <9e47339104090919015b5b5a4d@mail.gmail.com>
     [not found]         ` <20040910153135.4310c13a.felix@trabant>
     [not found]           ` <9e47339104091008115b821912@mail.gmail.com>
     [not found]             ` <1094829278.17801.18.camel@localhost.localdomain>
     [not found]               ` <9e4733910409100937126dc0e7@mail.gmail.com>
     [not found]                 ` <1094832031.17883.1.camel@localhost.localdomain>
2004-09-10 17:22                   ` radeon-pre-2 Jon Smirl
2004-09-10 17:04                     ` radeon-pre-2 Alan Cox
2004-09-10 18:40                       ` radeon-pre-2 Jon Smirl
2004-09-10 22:19                         ` radeon-pre-2 Dave Airlie
2004-09-10 22:00                           ` radeon-pre-2 Alan Cox
2004-09-10 23:24                             ` radeon-pre-2 Dave Airlie
2004-09-11  7:40                               ` radeon-pre-2 Geert Uytterhoeven
2004-09-11  8:42                               ` radeon-pre-2 Keith Whitwell
2004-09-11 13:59                               ` radeon-pre-2 Alan Cox
2004-09-11  0:47                             ` radeon-pre-2 Vladimir Dergachev
2004-09-11  8:43                               ` radeon-pre-2 Keith Whitwell
2004-09-11 12:23                                 ` radeon-pre-2 Mike Mestnik
2004-09-11 15:39                                 ` radeon-pre-2 Vladimir Dergachev
2004-09-11 14:14                               ` radeon-pre-2 Alan Cox
2004-09-11  0:50                             ` radeon-pre-2 Dave Airlie
2004-09-11  3:30                               ` radeon-pre-2 Michel Dänzer
2004-09-11  5:19                                 ` radeon-pre-2 Dave Airlie
2004-09-11  6:12                                   ` radeon-pre-2 Michel Dänzer
2004-09-11  7:11                                     ` radeon-pre-2 Vladimir Dergachev
2004-09-11 14:36                                       ` radeon-pre-2 Alan Cox
2004-09-11 15:53                                         ` radeon-pre-2 Vladimir Dergachev
2004-09-11 15:14                                           ` radeon-pre-2 Alan Cox
2004-09-11 17:10                                             ` radeon-pre-2 Vladimir Dergachev
2004-09-11 16:20                                               ` radeon-pre-2 Alan Cox
2004-09-11 17:49                                                 ` radeon-pre-2 Vladimir Dergachev
2004-09-11 17:59                                                   ` radeon-pre-2 Jon Smirl
2004-09-11 18:05                                                     ` radeon-pre-2 Vladimir Dergachev
2004-09-11 18:09                                                       ` radeon-pre-2 Jon Smirl
2004-09-12  1:55                                             ` radeon-pre-2 Mike Mestnik
2004-09-11  9:20                                   ` radeon-pre-2 Antonino A. Daplas
2004-09-11 14:40                                     ` radeon-pre-2 Alan Cox
2004-09-11 16:34                                     ` radeon-pre-2 Jon Smirl
2004-09-11 14:33                                   ` radeon-pre-2 Alan Cox
2004-09-11 16:46                                     ` radeon-pre-2 Jon Smirl
2004-09-11 16:21                                       ` radeon-pre-2 Alan Cox
2004-09-11 17:27                                         ` radeon-pre-2 Jon Smirl
2004-09-13 11:40                                           ` radeon-pre-2 Keith Whitwell
2004-09-11 19:10                                         ` radeon-pre-2 Hamie
2004-09-11 23:20                                           ` radeon-pre-2 Alan Cox
2004-09-12  9:13                                             ` radeon-pre-2 Geert Uytterhoeven
2004-09-12 11:36                                             ` radeon-pre-2 Hamie
2004-09-12 17:31                                               ` radeon-pre-2 Alan Cox
2004-09-11 16:23                                       ` radeon-pre-2 Alan Cox
2004-09-11 14:25                               ` radeon-pre-2 Alan Cox
2004-09-12 22:42                                 ` radeon-pre-2 Dave Airlie
2004-09-12 23:03                                   ` radeon-pre-2 Linus Torvalds
2004-09-13  0:27                                   ` radeon-pre-2 Michel Dänzer
2004-09-13  0:45                                     ` radeon-pre-2 Vladimir Dergachev
2004-09-13  0:52                                       ` radeon-pre-2 Michel Dänzer
2004-09-13 14:52                                         ` radeon-pre-2 Vladimir Dergachev
2004-09-13 13:57                                           ` radeon-pre-2 Alan Cox
2004-09-13 15:20                                             ` radeon-pre-2 Vladimir Dergachev
2004-09-13 15:07                                               ` radeon-pre-2 Alan Cox
2004-09-13 15:20                                           ` radeon-pre-2 Linus Torvalds
2004-09-13 19:21                                             ` radeon-pre-2 Alex Deucher
2004-09-13 20:42                                               ` radeon-pre-2 David Bronaugh
2004-09-13 21:57                                                 ` radeon-pre-2 Alex Deucher
2004-09-13 16:26                                           ` radeon-pre-2 Michel Dänzer
2004-09-13  6:05                                       ` radeon-pre-2 Alex Deucher
2004-09-13 16:29                                         ` radeon-pre-2 Michel Dänzer
2004-09-13  6:41                                   ` radeon-pre-2 Arjan van de Ven
2004-09-13 11:26                                   ` radeon-pre-2 Alan Cox
2004-09-13 15:06                                     ` radeon-pre-2 Jon Smirl
2004-09-13 15:04                                       ` radeon-pre-2 Alan Cox
2004-09-13 16:28                                         ` radeon-pre-2 Jon Smirl
2004-09-13 16:43                                           ` radeon-pre-2 Alan Cox
2004-09-13 18:11                                             ` radeon-pre-2 Jon Smirl
2004-09-13 18:49                                               ` radeon-pre-2 Jesse Barnes
2004-09-13 22:17                                           ` radeon-pre-2 Antonino A. Daplas
2004-09-13 17:50                                         ` radeon-pre-2 Jon Smirl
2004-09-14 10:27                                           ` radeon-pre-2 Alan Cox
2004-09-11  8:38                             ` radeon-pre-2 Keith Whitwell
2004-09-10 23:10                           ` radeon-pre-2 Jon Smirl
2004-09-10 22:17                             ` radeon-pre-2 Alan Cox
2004-09-11 12:27                           ` radeon-pre-2 Christoph Hellwig
2004-09-11 12:49                             ` radeon-pre-2 Mike Mestnik
2004-09-11 16:45                               ` radeon-pre-2 Christoph Hellwig
2004-09-11 16:11                             ` radeon-pre-2 Jon Smirl
2004-09-11 16:45                               ` radeon-pre-2 Christoph Hellwig
2004-09-11 17:02                               ` radeon-pre-2 Linus Torvalds
2004-09-11 16:18                                 ` radeon-pre-2 Alan Cox
2004-09-11 17:49                                   ` radeon-pre-2 Linus Torvalds
2004-09-11 17:13                                 ` radeon-pre-2 Jon Smirl
2004-09-11 16:23                                   ` radeon-pre-2 Alan Cox
2004-09-11 17:41                                   ` radeon-pre-2 Linus Torvalds
2004-09-11 17:57                                   ` radeon-pre-2 Michel Dänzer
2004-09-11 20:29                                   ` radeon-pre-2 Eric Anholt
2004-09-11 21:41                                     ` radeon-pre-2 Jon Smirl
2004-09-11 17:54                                 ` radeon-pre-2 Jon Smirl
2004-09-11 18:13                                   ` radeon-pre-2 Linus Torvalds
2004-09-11 21:02                                     ` radeon-pre-2 Jon Smirl
2004-09-11 21:06                                       ` radeon-pre-2 Christoph Hellwig
2004-09-11 21:37                                         ` radeon-pre-2 Jon Smirl
2004-09-11 23:23                                           ` radeon-pre-2 Alan Cox
2004-09-12  7:12                                           ` radeon-pre-2 Eric Anholt
2004-09-12  0:21                                     ` radeon-pre-2 Jon Smirl
2004-09-12  0:28                                       ` radeon-pre-2 Linus Torvalds
2004-09-12 23:53                                         ` radeon-pre-2 Dave Airlie
2004-09-11 18:17                                   ` radeon-pre-2 Vladimir Dergachev
2004-09-10 17:12                     ` radeon-pre-2 Alan Cox
     [not found]           ` <1094853894.18235.17.camel@localhost.localdomain>
2004-09-11  2:20             ` Jon Smirl [this message]

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=9e4733910409101920563e42c0@mail.gmail.com \
    --to=jonsmirl@gmail.com \
    --cc=airlied@linux.ie \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=dri-devel@lists.sourceforge.net \
    --cc=fxkuehl@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.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