[Bug 186891] [puc] [patch] MCS9922 based card not known

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Dec 28 16:57:34 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=186891

greg at codeconcepts.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |greg at codeconcepts.com

--- Comment #4 from greg at codeconcepts.com ---
The suggested patch seems to work for me.  Card is "SYBA PCI-Express 2 Port
Serial Card" (16C450/16C550 UART, with 256-byte FIFO in tx/rx for each port. 
Based on PR 171746, I suspect the rx FIFO is being dumbed down to 16-bytes by
ns8250_bus_probe().


FreeBSD harper 10.1-STABLE FreeBSD 10.1-STABLE #2 r276320M: Sun Dec 28 08:03:01
CST 2014     root at harper:/usr/obj/usr/src/sys/HARPER  amd64

$ svn diff sys/dev/uart
Index: sys/dev/uart/uart_bus_pci.c
===================================================================
--- sys/dev/uart/uart_bus_pci.c (revision 276320)
+++ sys/dev/uart/uart_bus_pci.c (working copy)
@@ -136,6 +136,8 @@
        "MosChip MCS9901 PCIe to Peripheral Controller", 0x10 },
 { 0x9710, 0x9904, 0xa000, 0x1000,
        "MosChip MCS9904 PCIe to Peripheral Controller", 0x10 },
+{ 0x9710, 0x9922, 0xa000, 0x1000,
+       "MosChip MCS9922 PCIe to Peripheral Controller", 0x10 },
 { 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port", 0x10 },
 { 0xffff, 0, 0xffff, 0, NULL, 0, 0}
 };


pciconf -lv output:

uart2 at pci0:10:0:0:  class=0x070002 card=0x1000a000 chip=0x99229710 rev=0x00
hdr=0x00
    vendor     = 'NetMos Technology'
    device     = 'PCIe 9922 Multi-I/O Controller'
    class      = simple comms
    subclass   = UART
uart3 at pci0:10:0:1:  class=0x070002 card=0x1000a000 chip=0x99229710 rev=0x00
hdr=0x00
    vendor     = 'NetMos Technology'
    device     = 'PCIe 9922 Multi-I/O Controller'
    class      = simple comms
    subclass   = UART
(In reply to Marius Strobl from comment #2)
> On Thu, Apr 10, 2014 at 11:26:56PM +0200, Marius Strobl wrote:
> > Could you please revert your
> > patch for puc(4) and test whether the attached one provies you with
> > two instances of uart(4) for that card?
> > 
> > Index: uart_bus_pci.c
> > ===================================================================
> > --- uart_bus_pci.c	(revision 264257)
> > +++ uart_bus_pci.c	(working copy)
> > @@ -135,6 +135,8 @@
> >  	"MosChip MCS9901 PCIe to Peripheral Controller", 0x10 },
> >  { 0x9710, 0x9904, 0xa000, 0x1000,
> >  	"MosChip MCS9904 PCIe to Peripheral Controller", 0x10 },
> > +{ 0x9710, 0x9922, 0x0000, 0x0000,
> > +	"MosChip MCS9922 PCIe to Peripheral Controller", 0x10 },
> >  { 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port", 0x10 },
> >  { 0xffff, 0, 0xffff, 0, NULL, 0, 0}
> >  };
> 
> I'm not sure whether the sub vendor and sub device IDs taken from NetBSD
> actually are correct. The MCS9922 datasheet suggests that the following
> should be used instead:
> +{ 0x9710, 0x9922, 0xa000, 0x1000,
> +	"MosChip MCS9922 PCIe to Peripheral Controller", 0x10 },
> 
> Marius

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list