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: Masanobu SAITOH <msaitoh%execsw.org@localhost>
To: gnats-bugs%NetBSD.org@localhost, kern-bug-people%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost, clare%csel.org@localhost
Cc: msaitoh%execsw.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 18:21:33 +0900
Hi, all.
On 2017/11/28 16:45, clare%csel.org@localhost wrote:
> The following reply was made to PR kern/52767; it has been noted by GNATS.
>
> From: clare%csel.org@localhost
> To: gnats-bugs%NetBSD.org@localhost
> Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
> netbsd-bugs%netbsd.org@localhost
> Subject: Re: kern/52767: The wm driver cannot receive traffic on i82583V
> (rev. 0x00)
> Date: Tue, 28 Nov 2017 16:43:07 +0900
>
> > > Does it work on Linux?
> > >
> > > I'd also check the NVM. That OUI isn't valid.
> >
> > Fedora Linux live DVD runs on the machine looks okay.
> > Linux localhost-live 4.11.8-300.fc26.x86_64 #1 SMP Thu Jun 29 20:09:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
> >
> > Windows 10 is also okay.
> > FreeBSD or pfSense is not tested yet.
>
> FreeBSD em driver works on the machine.
> The problem may be in the wm driver...
>
> pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
> pci1: <ACPI PCI bus> on pcib1
> em0: <Intel(R) PRO/1000 Network Connection 7.6.1-k> port 0xe000-0xe01f mem 0xf7d00000-0xf7d1ffff,0xf7d20000-0xf7d23fff irq 16 at device 0.0 on pci1
> em0: Using an MSI interrupt
> em0: Ethernet address: 0c:e8:5c:**:**:**
> em0: netmap queues/slots: TX 1/1024, RX 1/1024
>
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 */
-------------------------
--
-----------------------------------------------
SAITOH Masanobu (msaitoh%execsw.org@localhost
msaitoh%netbsd.org@localhost)
Home |
Main Index |
Thread Index |
Old Index