Date: Thu, 11 Dec 2008 11:50:24 +0300 From: Eygene Ryabinkin <rea-fbsd@codelabs.ru> To: Marcel Moolenaar <xcllnt@mac.com> Cc: Boris Samorodov <bsam@ipt.ru>, freebsd-current@FreeBSD.org Subject: Re: Timeda 8-multiport adapter: only 2 ports available Message-ID: <u86IhinAe98poBxKoJlfe3b/pNw@TT2a40bhZF2dUby2PPEihZ1bSVY> In-Reply-To: <19F75E66-0535-4982-9726-E2C0A03117EA@mac.com> References: <92804393@bb.ipt.ru> <26722819@bb.ipt.ru> <dgryeQY4GEVsW/%2Bo7hiHda0rsyw@Nv45r0f9gWT8HCu35qu0Xm2Zg98> <26719629@bb.ipt.ru> <19F75E66-0535-4982-9726-E2C0A03117EA@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--SkvwRMAIpAhPCcCJ Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Marcel, Boris, good day. Wed, Dec 10, 2008 at 05:00:24PM -0800, Marcel Moolenaar wrote: > > Seems that just the same card should work: > > http://lists.freebsd.org/pipermail/freebsd-stable/2008-May/042505.html > > > > I've added some diagnistic. But 'rid' is not what you want, I guess: > > The RID is fine. It should always be 0. Seems like a dumb question, but nevertheless. What I don't understand is the following: BAR to port mapping for the Timedia is tricky, it mixes BARs and offsets for the different ports (you should know this, since you wrote the support ;)). But in uart_bus_probe you're passing rid =3D 0 and it is used for resource allocation and consequently the same rid is used for all ports (at least I read the code in this way). But puc_get_bar() uses calculated rid values, but does essentially the same thing: resource allocation via bus_alloc_resource(). And sc->sc_bas is initialized from the obtained sc->sc_rres (inside uart_bus_probe) and it is subsequently used for ns8250_probe() that is failing. I see that uart_bus_pci.c calls uart_bus_probe() with the actual rid. It does not mean that puc code should do the same, but ... Boris, could you please add the line ----- printf("%s: BAS, handle is 0x%lx, tag is 0x%x\n", __func__, (unsigned long)bas->bsh, (unsigned int)bas->bst); ----- to the beginning of ns8250_probe() and show the results. Thanks! --=20 Eygene _ ___ _.--. # \`.|\..----...-'` `-._.-'_.-'` # Remember that it is hard / ' ` , __.--' # to read the on-line manual =20 )/' _/ \ `-_, / # while single-stepping the kernel. `-'" `"\_ ,_.-;_.-\_ ', fsc/as # _.-'_./ {_.' ; / # -- FreeBSD Developers handbook=20 {_.-``-' {_/ # --SkvwRMAIpAhPCcCJ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (FreeBSD) iEYEARECAAYFAklA1FAACgkQthUKNsbL7YiBXQCgnOuvK3iWtbSIJA2Bti+7CF0Z DpcAni17Xm64G5S/gq5Va7xjmaB8ENQD =JoL1 -----END PGP SIGNATURE----- --SkvwRMAIpAhPCcCJ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?u86IhinAe98poBxKoJlfe3b/pNw>