NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/52767: The wm driver cannot receive traffic on i82583V (rev. 0x00)



The following reply was made to PR kern/52767; it has been noted by GNATS.

From: clare%csel.org@localhost
To: Masanobu SAITOH <msaitoh%execsw.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost, kern-bug-people%netbsd.org@localhost,
 gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost, Hisashi T Fujinaka
 <htodd%twofifty.com@localhost>
Subject: Re: kern/52767: The wm driver cannot receive traffic on i82583V
 (rev. 0x00)
Date: Tue, 28 Nov 2017 20:45:51 +0900

 On Tue, 28 Nov 2017 18:21:33 +0900
 Masanobu SAITOH <msaitoh%execsw.org@localhost> wrote:
 
 > My 82583V machine has an MSI-X cap:
 > 
 > >   Capability register at 0xc8
 > >     type: 0x01 (Power Management)
 > >   Capability register at 0xd0
 > >     type: 0x05 (MSI)
 > >   Capability register at 0xe0
 > >     type: 0x10 (PCI Express)
 > >   Capability register at 0xa0
 > >     type: 0x11 (MSI-X)
 > (snip)
 > >   MSI-X Capability Register
 > >     Message Control register: 0x0000
 > >       Table Size: 1
 > >       Function Mask: off
 > >       MSI-X Enable: off
 > >     Table offset register: 0x00000003
 > >       Table offset: 0x00000000
 > >       BIR: 0x3
 > >     Pending bit array register: 0x00002003
 > >       Pending bit array offset: 0x00002000
 > >       BIR: 0x3
 > 
 > but the document doesn't say anything about MSI-X.
 > The description in the document says 0xa0 is reserved.
 > 
 > > Address Item			Next Pointer
 > > 0xC8-CF PCI power management	0xD0
 > > 0xD0-DF MSI			0xE0
 > > 0xA0-AB Reserved		0x00   <======= this!
 > > 0xE0-F3 PCIe Capabilities	0xA0
 > 
 > And more, neither linux nor FreeBSD don't use MSI-X.
 > 
 > Could you test the following patch?
 > 
 > -------------------------
 > Index: if_wm.c
 > ===================================================================
 > RCS file: /cvsroot/src/sys/dev/pci/if_wm.c,v
 > retrieving revision 1.544
 > diff -u -p -r1.544 if_wm.c
 > --- if_wm.c	22 Nov 2017 02:36:52 -0000	1.544
 > +++ if_wm.c	28 Nov 2017 09:19:54 -0000
 > @@ -1853,7 +1853,13 @@ wm_attach(device_t parent, device_t self
 >   
 >   	/* Allocation settings */
 >   	max_type = PCI_INTR_TYPE_MSIX;
 > -	counts[PCI_INTR_TYPE_MSIX] = sc->sc_nqueues + 1;
 > +	/*
 > +	 * 82583 has a MSI-X capability in the PCI configuration space but
 > +	 * it doesn't support it. At least the document doesn't say anything
 > +	 * about MSI-X.
 > +	 */
 > +	counts[PCI_INTR_TYPE_MSIX]
 > +	    = (sc->sc_type == WM_T_82583) ? 0 : sc->sc_nqueues + 1;
 >   	counts[PCI_INTR_TYPE_MSI] = 1;
 >   	counts[PCI_INTR_TYPE_INTX] = 1;
 >   	/* overridden by disable flags */
 > -------------------------
 
 The patch seems to be solve the problem of the wm driver
 on i82583V.  Thank you.
 
 ppb0: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x1 @ 5.0GT/s
 ppb0: link is x1 @ 2.5GT/s
 pci1 at ppb0 bus 1
 pci1: i/o space, memory space enabled, rd/line, wr/inv ok
 wm0 at pci1 dev 0 function 0: Intel i82583V (rev. 0x00)
 wm0: interrupting at msi2 vec 0
 wm0: PCI-Express bus
 wm0: 512 words (8 address bits) SPI EEPROM, version 1.10.0, Image Unique ID ffffffff
 wm0: Ethernet address 0c:e8:5c:**:**:**
 wm0: 0x2a4440<SPI,IOH_VALID,PCIE,ASF_FIRM,AMT,WOL>
 makphy0 at wm0 phy 1: Marvell 88E1149 Gigabit PHY, rev. 1
 makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
 
 
 -- 
 Shinichi Doyashiki <clare%csel.org@localhost>
 


Home | Main Index | Thread Index | Old Index