lkml.org 
[lkml]   [2019]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH net-next v3] net: phy: broadcom: add 1000Base-X support for BCM54616S
    On Sun, 4 Aug 2019 at 17:52, Andrew Lunn <andrew@lunn.ch> wrote:
    >
    > > > The patchset looks better now. But is it ok, I wonder, to keep
    > > > PHY_BCM_FLAGS_MODE_1000BX in phydev->dev_flags, considering that
    > > > phy_attach_direct is overwriting it?
    > >
    >
    > > I checked ftgmac100 driver (used on my machine) and it calls
    > > phy_connect_direct which passes phydev->dev_flags when calling
    > > phy_attach_direct: that explains why the flag is not cleared in my
    > > case.
    >
    > Yes, that is the way it is intended to be used. The MAC driver can
    > pass flags to the PHY. It is a fragile API, since the MAC needs to
    > know what PHY is being used, since the flags are driver specific.
    >
    > One option would be to modify the assignment in phy_attach_direct() to
    > OR in the flags passed to it with flags which are already in
    > phydev->dev_flags.
    >
    > Andrew

    Even if that were the case (patching phy_attach_direct to apply a
    logical-or to dev_flags), it sounds fishy to me that the genphy code
    is unable to determine that this PHY is running in 1000Base-X mode.

    In my opinion it all boils down to this warning:

    "PHY advertising (0,00000200,000062c0) more modes than genphy
    supports, some modes not advertised".

    You see, the 0x200 in the above advertising mask corresponds exactly
    to this definition from ethtool.h:
    ETHTOOL_LINK_MODE_1000baseX_Full_BIT = 41,

    But it gets truncated and hence lost.

    Regards,
    -Vladimir

    \
     
     \ /
      Last update: 2019-08-04 18:01    [W:2.282 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site