From owner-freebsd-current@FreeBSD.ORG Thu Dec 11 14:16:56 2008 Return-Path: Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20AA81065672 for ; Thu, 11 Dec 2008 14:16:56 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from services.ipt.ru (services.ipt.ru [194.62.233.110]) by mx1.freebsd.org (Postfix) with ESMTP id 878028FC12 for ; Thu, 11 Dec 2008 14:16:55 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from bb.ipt.ru ([194.62.233.89]) by services.ipt.ru with esmtp (Exim 4.54 (FreeBSD)) id 1LAmLV-000HD5-Qq; Thu, 11 Dec 2008 17:16:53 +0300 To: Marcel Moolenaar References: <92804393@bb.ipt.ru> <26722819@bb.ipt.ru> <26719629@bb.ipt.ru> <19F75E66-0535-4982-9726-E2C0A03117EA@mac.com> From: Boris Samorodov Date: Thu, 11 Dec 2008 17:16:53 +0300 In-Reply-To: <19F75E66-0535-4982-9726-E2C0A03117EA@mac.com> (Marcel Moolenaar's message of "Wed\, 10 Dec 2008 17\:00\:24 -0800") Message-ID: <05268378@bb.ipt.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-current@FreeBSD.org, rea-fbsd@codelabs.ru Subject: Re: Timeda 8-multiport adapter: only 2 ports available X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Dec 2008 14:16:56 -0000 Marcel Moolenaar writes: > On Dec 10, 2008, at 4:02 PM, Boris Samorodov 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. > > * >> uart4: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 > >> ns8250_probe: no errors, exiting > * >> uart4: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: no errors, exiting > * >> uart5: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: no errors, exiting > * >> uart5: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: no errors, exiting > * >> uart6: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: got MCR wrong register, exiting with ENXIO > * >> uart6: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: got MCR wrong register, exiting with ENXIO > * >> uart6: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: got MCR wrong register, exiting with ENXIO > * >> uart6: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: got MCR wrong register, exiting with ENXIO > * >> uart6: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: got MCR wrong register, exiting with ENXIO > * >> uart6: /usr/src/sys/dev/uart/uart_core.c:374: continue with rid=0x0 >> ns8250_probe: got MCR wrong register, exiting with ENXIO > > It looks like the mapping is wrong. That is, uart(4) gets to > probe 8 ports but rejects 6. I would add debugging information > to puc(4) and in particular to where resources are assigned > to ports so that we can see what the BAR and offsets within the > BAR are for each port. If I understand you correctly, here it is: ----- pci5: on pcib5 pci5: domain=0, physical bus=5 found-> vendor=0x1409, dev=0x7168, revid=0x01 domain=0, bus=5, slot=2, func=0 class=07-00-02, hdrtype=0x00, mfdev=0 cmdreg=0x0081, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=5 map[10]: type I/O Port, range 32, base 0xec00, size 5, enabled pcib5: requested I/O range 0xec00-0xec1f: in range map[14]: type I/O Port, range 32, base 0xe880, size 4, enabled pcib5: requested I/O range 0xe880-0xe88f: in range map[18]: type I/O Port, range 32, base 0xe800, size 3, enabled pcib5: requested I/O range 0xe800-0xe807: in range map[1c]: type I/O Port, range 32, base 0xe480, size 3, enabled pcib5: requested I/O range 0xe480-0xe487: in range map[20]: type I/O Port, range 32, base 0xe400, size 3, enabled pcib5: requested I/O range 0xe400-0xe407: in range map[24]: type I/O Port, range 32, base 0xe080, size 3, enabled pcib5: requested I/O range 0xe080-0xe087: in range pcib5: matched entry for 5.2.INTA pcib5: slot 2 INTA hardwired to IRQ 18 puc_config_timedia: entering with command 4 puc_config_timedia: command PUC_CFG_GET_NPORTS, result = 8, no errors, exiting puc_config_timedia: entering with command 1 puc_config_timedia: command PUC_CFG_GET_DESC, exiting puc_config_timedia: entering with command 4 puc_config_timedia: command PUC_CFG_GET_NPORTS, result = 8, no errors, exiting puc_config_timedia: entering with command 1 puc_config_timedia: command PUC_CFG_GET_DESC, exiting puc0: port 0xec00-0xec1f,0xe880-0xe88f,0xe800-0xe807,0xe480-0xe487,0xe400-0xe407,0xe080-0xe087 irq 18 at device 2.0 on pci5 puc_config_timedia: entering with command 4 puc_config_timedia: command PUC_CFG_GET_NPORTS, result = 8, no errors, exiting puc_config_timedia: entering with command 8 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 16, no errors, exiting puc0: Reserved 0x20 bytes for rid 0x10 type 4 at 0xec00 puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 0, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 16, no errors, exiting puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 8, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 20, no errors, exiting puc0: Reserved 0x10 bytes for rid 0x14 type 4 at 0xe880 puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 0, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 20, no errors, exiting puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 8, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 24, no errors, exiting puc0: Reserved 0x8 bytes for rid 0x18 type 4 at 0xe800 puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 0, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 28, no errors, exiting puc0: Reserved 0x8 bytes for rid 0x1c type 4 at 0xe480 puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 0, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 32, no errors, exiting puc0: Reserved 0x8 bytes for rid 0x20 type 4 at 0xe400 puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 0, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 7 puc_config_timedia: command PUC_CFG_GET_TYPE, result = 1, no errors, exiting puc_config_timedia: entering with command 6 puc_config_timedia: command PUC_CFG_GET_RID, result = 36, no errors, exiting puc0: Reserved 0x8 bytes for rid 0x24 type 4 at 0xe080 puc_config_timedia: entering with command 5 puc_config_timedia: command PUC_CFG_GET_OFS, result = 0, no errors, exiting puc_config_timedia: entering with command 3 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 0 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc_config_timedia: entering with command 2 puc_config_timedia: command default, no (?) errors, exiting puc_config_timedia: error ENXIO, exiting puc0: [FILTER] ----- WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD committer, http://www.FreeBSD.org The Power To Serve