[illumos-Developer] Improved support added for Marvell Gigabit Ethernet controllers

ken mays maybird1776 at yahoo.com
Wed Aug 11 07:28:01 PDT 2010


Thanks for the update. I had looked at the official Linux driver which seems to be the way to go to really fix some issues. I'd like to see the driver support as many Marvell ethernet devices as the BSD/Linux ones do in the end.

I noted the Rx vs. Tx issues with this chip mentioned in the code.

~ Ken



--- On Wed, 8/11/10, Garrett D'Amore <garrett at damore.org> wrote:

> From: Garrett D'Amore <garrett at damore.org>
> Subject: Re: [illumos-Developer] Improved support added for Marvell Gigabit Ethernet controllers
> To: "ken mays" <maybird1776 at yahoo.com>
> Cc: developer at lists.illumos.org
> Date: Wednesday, August 11, 2010, 8:58 AM
> Oh, I'm way past that point.
> :-)  (I do drivers for a living, so I had
> gotten to that point within just a few minutes of
> testing.)
> 
> I find that the chip frequently does not work -- the
> transmit side works
> fine, but the receive logic stalls or hangs.  I've
> made quite a lot of
> modifications, but I'm also finding that both FreeBSD and
> OpenBSD have
> the same problem, and those were the original
> upstream.  Recent builds
> of Linux seem to be free of the problem so I've been trying
> to do a
> careful analysis of the code and testing.
> 
> I *have* had points where the driver seemed to be working
> correctly, but
> that was only when paired with a specific 100 Mbps
> peer.  With my normal
> 1G switch, only Linux and Windows seem to work reliably.
> 
> There are quite a few different initializations that the
> Linux sky2
> driver does that are different from the yge driver. 
> Hopefully I'll have
> this all worked out soon enough.
> 
>     -- Garrett
> 
> On Wed, 2010-08-11 at 04:41 -0700, ken mays wrote:
> > Hi Garrett,
> > 
> > Here is my 'diff' of changes to the yge driver here to
> review.
> > 
> > Filed under  CR 6975987 as yge enhancement for
> Oracle.
> > 
> > Based on ON snv_147 (hg):
> > 
> > http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/pkg/manifests/driver-network-yge.mf
> >      42 driver name=yge perms="* 0666
> root sys" \
> > 
> >          alias=pciex1186,4001
> \
> >          alias=pciex1186,4b00
> \
> >          alias=pciex11ab,4354
> \
> >          alias=pciex11ab,4355
> \
> >          alias=pciex11ab,4360
> \
> >          alias=pciex11ab,4361
> \
> >          alias=pciex11ab,4362
> \
> >          alias=pciex11ab,4363
> \
> >          alias=pciex11ab,4364
> \
> >          alias=pciex11ab,4365
> \
> >          alias=pciex11ab,4366
> \
> >          alias=pciex11ab,4367
> \
> >          alias=pciex11ab,4368
> \
> >          alias=pciex11ab,4369
> \
> >          alias=pciex11ab,436a
> \
> >          alias=pciex11ab,436b
> \
> >          alias=pciex11ab,436c
> \
> >          alias=pciex11ab,436d
> \
> >          alias=pciex11ab,4370
> \
> >          alias=pciex11ab,4380
> \
> >          alias=pciex11ab,4381
> 
> >       file
> path=kernel/drv/$(ARCH64)/yge group=sys
> > 
> > 
> > http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/yge/yge.c
> > 
> >    1237        
> dev->d_hw_id > CHIP_ID_YUKON_UL_2) {
> >    1275    
>     dev->d_clock = 156;   
> /* 156 Mhz */
> > 
> > http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/yge/yge.h
> > 
> >    82 #define   
> DEVICEID_MRVL_4354    0X4354
> >   
>    #define   
> DEVICEID_MRVL_4355    0X4355
> >   
>    #define   
> DEVICEID_MRVL_4360    0x4360
> >   
>    #define   
> DEVICEID_MRVL_4361    0x4361
> >   
>    #define   
> DEVICEID_MRVL_4362    0x4362
> >   
>    #define   
> DEVICEID_MRVL_4363    0x4363
> >   
>    #define   
> DEVICEID_MRVL_4364    0x4364
> >   
>    #define   
> DEVICEID_MRVL_436A    0x436A
> >   
>    #define   
> DEVICEID_MRVL_436B    0x436B
> >   
>    #define   
> DEVICEID_MRVL_436C    0x436C
> >   
>    #define   
> DEVICEID_MRVL_436D    0x436D
> >   
>    #define   
> DEVICEID_MRVL_4370    0x4370
> >   
>    #define   
> DEVICEID_MRVL_4380    0x4380
> >   
>    #define   
> DEVICEID_MRVL_4381    0x4381
> > 
> > 
> > Hopefully it is easy to make these patch changes and
> then run a quick test.
> > 
> > ~ Ken Mays
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > --- On Tue, 8/10/10, Garrett D'Amore <garrett at damore.org>
> wrote:
> > 
> > > From: Garrett D'Amore <garrett at damore.org>
> > > Subject: Re: [illumos-Developer] Improved support
> added for Marvell Gigabit Ethernet controllers
> > > To: "ken mays" <maybird1776 at yahoo.com>
> > > Cc: developer at lists.illumos.org
> > > Date: Tuesday, August 10, 2010, 12:14 PM
> > > This is funny, because I've been
> > > working on the same thing in parallel.
> > > I'd made some progress, but was having trouble
> with
> > > certain
> > > initializations -- the device would work
> sometime, but not
> > > always. 
> > > 
> > > Can I see your diffs.  As I have a very
> immediate need
> > > for this, I can
> > > test your code, and if it works I *will*
> integrate into
> > > illumos
> > > immediately.
> > > 
> > >     - Garrett
> > > 
> > > 
> > > On Tue, 2010-08-10 at 09:01 -0700, ken mays
> wrote:
> > > > Hello,
> > > > 
> > > > I worked on adding or improve support to the
> yge
> > > device driver for the
> > > > following Marvell Yukon PCI Express
> Ethernet
> > > controllers:
> > > > 
> > > > Marvell Yukon II 88E8057
> > > > Marvell Yukon Optima 88E8059 w/ AVB
> > > > Marvell Yukon II 88E8062 dual port
> > > > 
> > > > The enhancements were added to ON snv_146
> > > consolidation for possible illumos-gate
> inclusion.
> > > > 
> > > > A bug report was also filed to Oracle for
> official
> > > enhancement review and support.
> > > > 
> > > > ~ Ken Mays
> > > > 
> > > > 
> > > > 
> > > >       
> > > > 
> > > >
> _______________________________________________
> > > > Developer mailing list
> > > > Developer at lists.illumos.org
> > > > http://lists.illumos.org/m/listinfo/developer
> > > 
> > > 
> > > 
> > 
> > 
> >       
> 
> 
> 


      



More information about the Developer mailing list