Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Dec 2002 14:16:33 -0800
From:      Marcel Moolenaar <marcel@xcllnt.net>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        Scott Long <scott_long@btc.adaptec.com>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/usb ohci.c
Message-ID:  <20021220221632.GA903@dhcp01.pn.xcllnt.net>
In-Reply-To: <200212202059.gBKKxK0l083598@apollo.backplane.com>
References:  <200212201847.gBKIldGZ071133@repoman.freebsd.org> <3E03820D.4070004@btc.adaptec.com> <200212202059.gBKKxK0l083598@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Dec 20, 2002 at 12:59:20PM -0800, Matthew Dillon wrote:

> :
> :While the effort that you put into this problem is without doubt 
> :appreciated, I wonder why you chose this approach rather that converting 
> :the driver to use busdma?  NetBSD and OpenBSD use busdma, although of 
> :course their implementation differs from ours.  The FreeBSD code is 
> :already ugly enough since alpha is special cased and I doubt that ia64 
> :or sparc64 could possibly work.  And as you point out, your hack still 
> :isn't totally correct.
> :
> :Scott
> 
>     I'm just fixing bugs at the moment.  I don't really have time to rewrite
>     the code, at least not now (I'm the VM guy, not the device driver
>     guy, remember?).  I think it's preferable to fix the bugs verses
>     doing nothing at all.

To side-track for a moment:

On the ia64 p4 branch I had to hack up both the vga driver and the sio
driver because both fail to work on non ISA machines. The sio driver
also hardcodes an assumption that UARTs are accessable through I/O
ports only rather than memory mapped I/O. Both have the additional problems
of being possible console drivers and thus have an additional layer
of evilness that violates newbus and/or busdma.

I am not a sio, nor a vga driver writer and I'd rather spend my time
on getting the ia64 port in a better shape, but I'm currently blocked
either way. The vga and sio drivers sort of work, but not really for
the purposes of bootstrapping the HP box, but I cannot possibly promote
it to CVS because it is simply broken in to many ways and I don't think
I will ever be able to do that by myself. The blockage is caused by
now having too many loose ends and not knowing which ends to tie to
make progress.

The bottom line is: fixing bugs is good, but if it's always given
higher priority over the more architectural or infrastructural work
that is sometimes required then the shape of a device driver may not
necessarily improve and we will always run into problems with it
sooner or later. Let's not forget the longer term advantage when we
try to address the much more visible short-term advantage.

Back on track:

The OHCI driver works on ia64 (I haven't tried it after the fixes,
so I can't say if it still works :-), so there's no immediate
advantage that I can see to rewrite it right away, but we should
create a "job" or a PR for it so that we may be able to do something
about it before it becomes a blocker for somebody...

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel@xcllnt.net

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021220221632.GA903>