public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Dave Airlie <airlied@linux.ie>
Cc: "Jon Smirl" <jonsmirl@gmail.com>,
	"Felix Kühling" <fxkuehl@gmx.de>,
	"DRI Devel" <dri-devel@lists.sourceforge.net>,
	lkml <linux-kernel@vger.kernel.org>,
	"Linus Torvalds" <torvalds@osdl.org>
Subject: Re: radeon-pre-2
Date: Sat, 11 Sep 2004 15:25:35 +0100	[thread overview]
Message-ID: <1094912726.21157.52.camel@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.58.0409110137590.26651@skynet>

On Sad, 2004-09-11 at 01:50, Dave Airlie wrote:
> So the IDE-CD driver and IDE-disk drivers both program registers on the
> IDE controller directly.. oh no the ide driver seems to do that.. this is
> FUD,

Its a shame the DRI people having nothing better to do than tell folks
to shut up or mutter FUD about things they don't grasp. You've almost
got the point by now at least.

The IDE CD and IDE disk drivers do both write to registers on the IDE
controller directly - often the same registers. The reason it doesn't
end up in a nasty heap is because the core IDE code does co-ordination. 
Two drivers, independant drivers, an access protocol an the ability for
some entity to co-ordinate them and lo - it all works.

>  a graphics card is a device, singular one device, it requires one
> device driver,

That appears to be the pet religion but repeating bullshit doesn't make
it true.

> I can't write a user space IDE driver and still expect the kernel one to
> be happy, I can't write a second IDE driver for a chipset for formatting
> disks and expect the normal kernel driver to stay working with it, why do
> people think graphics driver are meant to be different..

Because they are not different, and you can write such a formatting
driver providing it follows the IDE access protocols in the core code.
You won't have to modify existing IDE drivers either. It works because
the co-ordination layer is there.

> Alan, I agree with how you want to proceed with this, and keep things
> stable, but anything short of a single card-specific driver looking after
> the registers and DMA queueing and locking is going to have deficiencies
> and the DRM has a better basis than the fb drivers,

"I want to own it, mine mine". Pathetic really isn't it. The FB writers
I've no doubt think they should own it and their code is better too.
They also support a lot more hardware than you do of course, and on
platforms that DRI doesn't support.

What is actually so hard about driver code that instead looks like


my_fb_attach_notify(struct vga_dev *dev, int type)
{
	if(type == TYPE_DRI)
	{
		me->fb_ops = &dri_ops;
		my_fb_dri_init(dev);
		return 0;
	}
	if(type == TYPE_OVERLAY && dev->rev < 0xC4) /* Errata */
		return -EINVAL; /* Refuse overlays in fb mode */
}

or

	down(&dev->lock);
	vga_quiesce_all_drivers(dev);
	do nasty non parallel stuff
	up(&dev->lock);

This is essentially what the IDE layer does, although its closer to

	queue_this_function_and_args_to_list(dev, callback, args);
	if(!doing_stuff);
		begin_queue_run(dev);

Either model works


  parent reply	other threads:[~2004-09-11 15:27 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                               ` Alan Cox [this message]
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             ` radeon-pre-2 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=1094912726.21157.52.camel@localhost.localdomain \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.sourceforge.net \
    --cc=fxkuehl@gmx.de \
    --cc=jonsmirl@gmail.com \
    --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