Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Mar 2009 11:59:54 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Marcel Moolenaar <xcllnt@mac.com>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>, Navdeep Parhar <nparhar@gmail.com>
Subject:   Re: puc support for a generic card (patch attached)
Message-ID:  <200903031159.55299.jhb@freebsd.org>
In-Reply-To: <C428B1A1-7F4F-4DD2-8BBD-C88CA7B659AE@mac.com>
References:  <d04e16b70903021305u69138cfav8b6838c7199a60ed@mail.gmail.com> <200903030915.43037.jhb@freebsd.org> <C428B1A1-7F4F-4DD2-8BBD-C88CA7B659AE@mac.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 03 March 2009 11:48:42 am Marcel Moolenaar wrote:
> 
> On Mar 3, 2009, at 6:15 AM, John Baldwin wrote:
> 
> >> diff -r 025cb00d19d7 sys/dev/puc/puc.c
> >> --- a/sys/dev/puc/puc.c	Sat Feb 28 12:42:37 2009 -0800
> >> +++ b/sys/dev/puc/puc.c	Mon Mar 02 12:21:07 2009 -0800
> >> @@ -440,9 +440,6 @@
> >> 	sc->sc_dev = dev;
> >> 	sc->sc_cfg = cfg;
> >>
> >> -	/* We don't attach to single-port serial cards. */
> >> -	if (cfg->ports == PUC_PORT_1S || cfg->ports == PUC_PORT_1P)
> >> -		return (EDOOFUS);
> >
> > FWIW, the traditional reason for this is that we made the sio/uart  
> > or ppc
> > drivers claim single port devices directly and only use puc for  
> > multiple-port
> > cards.  I'm not sure if that should still be the case or not.   
> > Marcel, do you
> > have an opinion?
> 
> Yes :-)
> 
> I explicitly added the test with that particular error code
> to make it absolutely clear that puc(4) is not the driver
> for single port cards. The reason being that it's pointless.
> 
> There are 2 things that puc(4) facilitates in: resource
> assignment and interrupt handling. For single port cards
> there's nothing to distribute nor is there any interrupt
> sharing. In other words: there's no value that puc(4) adds.
> As such, uart(4) and ppc(4) can attach directly to those
> cards and puc(4) does not have to be involved.
> 
> BTW: Traditionally puc(4) was used to attach even to single
> port cards. With the puc(4) rewrite I changed that, because
> it was really a mixed bag. Some single-port cards were known
> to puc(4) others to uart(4)/sio(4) or ppc(4). That typically
> leads to confusion given that puc(4) is (still) not in GENERIC.
> (i.e. why is this UART attached, but that one isn't, they're
> both single port?)
> 
> So, please do not apply the patch and instead add the IDs to
> sys/dev/uart/uart_bus_pci.c...

This sounds fine to me. :)  Navdeep, can you develop a patch for uart(4) 
instead and test that?

-- 
John Baldwin



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