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

Bug#723177: linux-image-3.10-3-kirkwood: please build with CONFIG_MARVELL_PHY=m



On Sun, 2013-11-17 at 13:16 +0000, Ben Hutchings wrote:
> On Sun, 2013-11-17 at 10:43 +0000, Ian Campbell wrote:
> > On Sun, 2013-11-17 at 10:12 +0100, Michael Stapelberg wrote:
> > > Hi Lennert,
> > > 
> > > Lennert Buytenhek <buytenh@wantstofly.org> writes:
> > > > The problem here was that the Marvell PHY driver at some point supported
> > > > one or two specific Marvell ethernet PHY models, and people then started
> > > > blindly adding new PHY IDs to it without checking whether the already
> > > > supported PHYs and the PHYs for which support was being added had common
> > > > register layouts (and they didn't).
> > > >
> > > > The result is that on some of the very common Marvell PHYs that this
> > > > driver claims to support, the driver does sequences of register writes
> > > > that have entirely different effects than the intended ones, causing
> > > > various unintended side effects, including complete link failure, and
> > > > e.g. on the quad ethernet PHY on some of the mv78xx0 development
> > > > boards, having the Marvell PHY driver enabled causes link to flap on
> > > > the other three ports if you plug/unplug one of the ports because the
> > > > driver thinks it's a good idea to hard reset the whole chip under
> > > > these circumstances...
> > > >
> > > > What needs to be done is that someone with access to the relevant
> > > > Marvell datasheets fix the driver to behave according to which chip
> > > > it's being used on.  It's quite a bit of work to sort out this mess,
> > > > easily several tens of hours -- I started looking into it when I was
> > > > still at Marvell, but didn't get it done before leaving.
> > > Thanks for clarifying. This sounds like it would not be a wise choice to
> > > enable this option again :-(.
> > 
> > I'm in two minds about this.
> > 
> > The issues have been described in general terms but we don't have any
> > specifics for the platforms supported by Debian. Are any of those known
> > specifically to be broken?
> 
> Yes, the DB-78xx0-BP development boards.
> 
> The number of ports is the last-but-one digit in the PHY model number so
> we could remove everything with a 4 there.

Which is only 
include/linux/marvell_phy.h:#define MARVELL_PHY_ID_88E1116R             0x01410e40
I think. According to my grep at least...

> > Realistically I expect the only way this is going to get fixed in
> > practice is if we enable this option and deal with any resulting bug
> > reports either by fixing/disabling that phy driver or by forwarding
> > upstream.
> > 
> > A bunch of the phy ids seem to be duplicated in several phy drivers.
> [...]
> > Should we be disabling some seleciton of these, or do PHYID's not mean
> > what I think?
> 
> Most network drivers do not use phylib and the fact that they recognise
> and configure the same Marvell PHYs directly does not mean anything.

OK.
> 
> Ben.
> 


Reply to: