CFT: nfe(4) MSI/MSIX support

Vlad GALU dudu at dudu.ro
Fri May 11 10:29:38 UTC 2007


On 5/11/07, Pyun YongHyeon <pyunyh at gmail.com> wrote:
> On Wed, May 09, 2007 at 12:40:05PM +0900, To freebsd-current at FreeBSD.org wrote:
>  > Dear all,
>  >
>  > I've received a patch from Shigeaki Tagashira. The patch enables
>  > MSI/MSIX capability on nVidia network adapters. I've slightly modified
>  > the patch and merged it into existing overhauled nfe(4).
>  > I guess the nfe(4) now supports almost all hardware capabilities
>  > including MSI/MSIX, IP/TCP/UDP checksum offload, TCP segmentation
>  > offload and hardware assisted VLAN processing.
>  >
>  > Shigeaki Tagashira tested only MSI due to lack of hardwares so there
>  > might be bugs in MSIX support code. I don't have nVidia hardwares
>  > that supports MSI/MSIX so I need user's feedback to improve it. If
>  > you have one of nVidia network adapters that have MSI/MSIX capability
>  > please give it spin and let me know how it goes on your system.
>  >
>  > Overhauled nfe(4) can be found at the following URL.
>  > http://people.freebsd.org/~yongari/nfe/WIP/if_nfe.c
>  > http://people.freebsd.org/~yongari/nfe/WIP/if_nfereg.h
>  > http://people.freebsd.org/~yongari/nfe/WIP/if_nfevar.h
>  >
>
> I've fixed MSIX support with the help of jhb@ and Shigeaki Tagashira.
> Shigeaki Tagashira also tested MSI/MSIX on his hardware so it should
> now work without issues.
> Please let me know any strange things.


   I have an Asus M2N32WS mainboard with two embedded nfe(4)s. Here's
the output:
-- cut here --
nfe0: <NVIDIA nForce MCP55 Networking Adapter> port 0xb000-0xb007 mem
0xfe02a000-0xfe02afff,0xfe029000-0xfe0290ff,0xfe028000-0xfe02800f irq
23 at device 16.0 on pci0
nfe0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xfe02a000
nfe0: Reserved 0x100 bytes for rid 0x18 type 3 at 0xfe029000
nfe0: Reserved 0x10 bytes for rid 0x1c type 3 at 0xfe028000
nfe0: attempting to allocate 8 MSI-X vectors (8 supported)
msi: routing MSI-X IRQ 256 to vector 56
msi: routing MSI-X IRQ 257 to vector 57
msi: routing MSI-X IRQ 258 to vector 58
msi: routing MSI-X IRQ 259 to vector 59
msi: routing MSI-X IRQ 260 to vector 60
msi: routing MSI-X IRQ 261 to vector 61
msi: routing MSI-X IRQ 262 to vector 62
msi: routing MSI-X IRQ 263 to vector 63
nfe0: using IRQs 256-263 for MSI-X
nfe0: Using 8 MSIX messages
miibus0: <MII bus> on nfe0
e1000phy0: <Marvell 88E1116 Gigabit PHY> PHY 1 on miibus0
e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
nfe0: bpf attached
nfe0: Ethernet address: 00:18:f3:4d:0c:44
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe0: [MPSAFE]
nfe0: [FILTER]
nfe1: <NVIDIA nForce MCP55 Networking Adapter> port 0xac00-0xac07 mem
0xfe027000-0xfe027fff,0xfe026000-0xfe0260ff,0xfe025000-0xfe02500f irq
20 at device 17.0 on pci0
nfe1: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xfe027000
nfe1: Reserved 0x100 bytes for rid 0x18 type 3 at 0xfe026000
nfe1: Reserved 0x10 bytes for rid 0x1c type 3 at 0xfe025000
nfe1: attempting to allocate 8 MSI-X vectors (8 supported)
msi: routing MSI-X IRQ 264 to vector 64
msi: routing MSI-X IRQ 265 to vector 65
msi: routing MSI-X IRQ 266 to vector 66
msi: routing MSI-X IRQ 267 to vector 67
msi: routing MSI-X IRQ 268 to vector 68
msi: routing MSI-X IRQ 269 to vector 69
msi: routing MSI-X IRQ 270 to vector 70
msi: routing MSI-X IRQ 271 to vector 71
nfe1: using IRQs 264-271 for MSI-X
nfe1: Using 8 MSIX messages
miibus1: <MII bus> on nfe1
e1000phy1: <Marvell 88E1116 Gigabit PHY> PHY 1 on miibus1
e1000phy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX-FDX, auto
nfe1: bpf attached
nfe1: Ethernet address: 00:18:f3:4d:0d:01
nfe1: [MPSAFE]
nfe1: [FILTER]
nfe1: [MPSAFE]
nfe1: [FILTER]
nfe1: [MPSAFE]
nfe1: [FILTER]
nfe1: [MPSAFE]
nfe1: [FILTER]
nfe1: [MPSAFE]
nfe1: [FILTER]
nfe1: [MPSAFE]
nfe1: [FILTER]
nfe1: [MPSAFE]
nfe1: [FILTER]
nfe1: [MPSAFE]
nfe1: [FILTER]
-- and here --

   I applied the patch this morning and things have been running
smoothly ever since. Thanks! :)

> Thanks.
> --
> Regards,
> Pyun YongHyeon
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>


-- 
If it's there, and you can see it, it's real.
If it's not there, and you can see it, it's virtual.
If it's there, and you can't see it, it's transparent.
If it's not there, and you can't see it, you erased it.


More information about the freebsd-current mailing list