22 Sep, 2019

1 commit

  • According to the DP83865 datasheet "the 10 Mbps HDX loopback can be
    disabled in the expanded memory register 0x1C0.1". The driver erroneously
    used bit 0 instead of bit 1.

    Fixes: 4621bf129856 ("phy: Add file missed in previous commit.")
    Signed-off-by: Peter Mamonov
    Reviewed-by: Andrew Lunn
    Signed-off-by: Jakub Kicinski

    Peter Mamonov
     

16 Apr, 2019

1 commit

  • Recently genphy_read_abilities() has been added that dynamically detects
    clause 22 PHY abilities. I *think* this detection should work with all
    supported PHY's, at least for the ones with basic features sets, i.e.
    PHY_BASIC_FEATURES and PHY_GBIT_FEATURES. So let's remove setting these
    features explicitly and rely on phylib feature detection.

    I don't have access to most of these PHY's, therefore I'd appreciate
    regression testing.

    v2:
    - make the feature constant a comment so that readers know which
    features are supported by the respective PHY

    Signed-off-by: Heiner Kallweit
    Tested-by: Andrew Lunn
    Signed-off-by: David S. Miller

    Heiner Kallweit
     

23 Jan, 2019

1 commit


12 Nov, 2018

1 commit


02 Dec, 2017

1 commit


11 Dec, 2016

1 commit

  • Instead of having individual PHY drivers set the SUPPORTED_Pause and
    SUPPORTED_Asym_Pause flags, phylib itself should set those flags,
    unless there is a hardware erratum or other special case. During
    autonegotiation, the PHYs will determine whether to enable pause
    frame support.

    Pause frames are a feature that is supported by the MAC. It is the MAC
    that generates the frames and that processes them. The PHY can only be
    configured to allow them to pass through.

    This commit also effectively reverts the recently applied c7a61319
    ("net: phy: dp83848: Support ethernet pause frames").

    So the new process is:

    1) Unless the PHY driver overrides it, phylib sets the SUPPORTED_Pause
    and SUPPORTED_AsymPause bits in phydev->supported. This indicates that
    the PHY supports pause frames.

    2) The MAC driver checks phydev->supported before it calls phy_start().
    If (SUPPORTED_Pause | SUPPORTED_AsymPause) is set, then the MAC driver
    sets those bits in phydev->advertising, if it wants to enable pause
    frame support.

    3) When the link state changes, the MAC driver checks phydev->pause and
    phydev->asym_pause, If the bits are set, then it enables the corresponding
    features in the MAC. The algorithm is:

    if (phydev->pause)
    The MAC should be programmed to receive and honor
    pause frames it receives, i.e. enable receive flow control.

    if (phydev->pause != phydev->asym_pause)
    The MAC should be programmed to transmit pause
    frames when needed, i.e. enable transmit flow control.

    Signed-off-by: Timur Tabi
    Signed-off-by: David S. Miller

    Timur Tabi
     

08 Jan, 2016

1 commit


13 Nov, 2014

1 commit


12 Jun, 2012

1 commit

  • Use a more current logging style.

    Add pr_fmt and missing newlines.
    Remove embedded prefixes.
    Neaten phy_print_status to avoid using KERN_CONT.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

27 Aug, 2011

1 commit

  • According to the DP83865 datasheet we need to clear
    the interrupt status bit by writing a 1 to the
    corresponding bit in INT_CLEAR (2:0 are reserved).

    Proposed and tested by Thorsten.

    Signed-off-by: Thorsten Schubert
    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

05 Oct, 2010

1 commit

  • MODULE_DEVICE_TABLE only expands to something if it's compiled
    for a module. So when building-in support for the phys, the
    mdio_device_id tables are unused. Marking them with __maybe_unused
    fixes the following warnings:

    drivers/net/phy/bcm63xx.c:134: warning: 'bcm63xx_tbl' defined but not used
    drivers/net/phy/broadcom.c:933: warning: 'broadcom_tbl' defined but not used
    drivers/net/phy/cicada.c:162: warning: 'cicada_tbl' defined but not used
    drivers/net/phy/davicom.c:222: warning: 'davicom_tbl' defined but not used
    drivers/net/phy/et1011c.c:114: warning: 'et1011c_tbl' defined but not used
    drivers/net/phy/icplus.c:137: warning: 'icplus_tbl' defined but not used
    drivers/net/phy/lxt.c:226: warning: 'lxt_tbl' defined but not used
    drivers/net/phy/marvell.c:724: warning: 'marvell_tbl' defined but not used
    drivers/net/phy/micrel.c:234: warning: 'micrel_tbl' defined but not used
    drivers/net/phy/national.c:154: warning: 'ns_tbl' defined but not used
    drivers/net/phy/qsemi.c:141: warning: 'qs6612_tbl' defined but not used
    drivers/net/phy/realtek.c:82: warning: 'realtek_tbl' defined but not used
    drivers/net/phy/smsc.c:257: warning: 'smsc_tbl' defined but not used
    drivers/net/phy/ste10Xp.c:135: warning: 'ste10Xp_tbl' defined but not used
    drivers/net/phy/vitesse.c:195: warning: 'vitesse_tbl' defined but not used

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: David S. Miller

    Uwe Kleine-König
     

14 May, 2010

1 commit

  • This patch removes from drivers/net/ all the unnecessary
    return; statements that precede the last closing brace of
    void functions.

    It does not remove the returns that are immediately
    preceded by a label as gcc doesn't like that.

    It also does not remove null void functions with return.

    Done via:
    $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \
    xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }'

    with some cleanups by hand.

    Compile tested x86 allmodconfig only.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

03 Apr, 2010

1 commit


29 Nov, 2008

1 commit