> On Dec 22, 2015, at 8:03 PM, Theo de Raadt <[email protected]> wrote:
>
> Can you send me a pcidump -v?
>
> Look for
>
>        0x002c: Subsystem Vendor ID: XXXX Product ID: YYYY
>
> in those listings, and try adding those to your table in the
> right place, rather than 0x0000 with a 0xffff mask.
>
> That makes the driver match more accurately, in case future
> product from this company arrives in the field.
>

Well, that was interesting.  I replaced the zeroes with the Subsystem Vendor
ID and Product ID, set all the flags to 0xffff, and that made puc1 disappear.
A closer look revealed that there are actually 2 different Product IDs on this
card.

The Dump:

 0:9:0: unknown unknown
        0x0000: Vendor ID: 155f Product ID: b008
        0x0004: Command: 0003 Status: 0290
        0x0008: Class: 07 Subclass: 00 Interface: 06 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x0000ac00/0x0020
        0x0014: BAR mem 32bit addr: 0xfb001000/0x00001000
        0x0018: BAR io addr: 0x0000b000/0x0020
        0x001c: BAR mem 32bit addr: 0xfb002000/0x00001000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1415 Product ID: 9501
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 0c Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
 0:9:1: unknown unknown
        0x0000: Vendor ID: 155f Product ID: b008
        0x0004: Command: 0003 Status: 0290
        0x0008: Class: 06 Subclass: 80 Interface: 00 Revision: 00
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size:
00
        0x0010: BAR io addr: 0x0000b400/0x0020
        0x0014: BAR mem 32bit addr: 0xfb003000/0x00001000
        0x0018: BAR io addr: 0x0000b800/0x0020
        0x001c: BAR mem 32bit addr: 0xfb004000/0x00001000
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 1415 Product ID: 9511
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: 0c Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management


my additions to pucdata.c:

        {
                {       PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_R35583, 0x1415,
0x9501 },
                {       0xffff, 0xffff, 0xffff, 0xffff },
                {
                        { PUC_COM_POW2(0), 0x10, 0x0000 },
                        { PUC_COM_POW2(0), 0x10, 0x0008 },
                        { PUC_COM_POW2(1), 0x10, 0x0010 },
                        { PUC_COM_POW2(1), 0x10, 0x0018 },
                },
        },

        {
                {       PCI_VENDOR_PERLE, PCI_PRODUCT_PERLE_R35583, 0x1415,
0x9511 },
                {       0xffff, 0xffff, 0xffff, 0xffff },
                {
                        { PUC_COM_POW2(0), 0x10, 0x0000 },
                        { PUC_COM_POW2(0), 0x10, 0x0008 },
                        { PUC_COM_POW2(1), 0x10, 0x0010 },
                        { PUC_COM_POW2(1), 0x10, 0x0018 },
                },
        },


the dmesg:

puc0 at pci0 dev 9 function 0 "Perle Speed8 LE" rev 0x00: ports: 4 com
com4 at puc0 port 0 apic 2 int 18: st16650, 32 byte fifo
com4: probed fifo depth: 16 bytes
com5 at puc0 port 1 apic 2 int 18: st16650, 32 byte fifo
com5: probed fifo depth: 16 bytes
com6 at puc0 port 2 apic 2 int 18: st16650, 32 byte fifo
com6: probed fifo depth: 16 bytes
com7 at puc0 port 3 apic 2 int 18: st16650, 32 byte fifo
com7: probed fifo depth: 16 bytes
puc1 at pci0 dev 9 function 1 "Perle Speed8 LE" rev 0x00: ports: 4 com
com8 at puc1 port 0 apic 2 int 18: st16650, 32 byte fifo
com9 at puc1 port 1 apic 2 int 18: st16650, 32 byte fifo
com10 at puc1 port 2 apic 2 int 18: st16650, 32 byte fifo
com11 at puc1 port 3 apic 2 int 18: st16650, 32 byte fifo


I will explore this more over Christmas break.

Thanks,
Jordon

Reply via email to