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 = 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! -- Eygene _ ___ _.--. # \`.|\..----...-'` `-._.-'_.-'` # Remember that it is hard / ' ` , __.--' # to read the on-line manual )/' _/ \ `-_, / # while single-stepping the kernel. `-'" `"\_ ,_.-;_.-\_ ', fsc/as # _.-'_./ {_.' ; / # -- FreeBSD Developers handbook {_.-``-' {_/ #
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:38 UTC