1. 29 10月, 2021 3 次提交
  2. 24 10月, 2021 1 次提交
    • F
      net: bcmgenet: Add support for 7712 16nm internal EPHY · 3cd92eae
      Florian Fainelli 提交于
      The 16nm internal EPHY that is present in 7712 is actually a 16nm
      Gigabit PHY which has been forced to operate in 10/100 mode. Its
      controls are therefore via the EXT_GPHY_CTRL registers and not via the
      EXT_EPHY_CTRL which are used for all GENETv5 adapters. Add a match on
      the 7712 compatible string to allow that differentiation to happen.
      
      On previous GENETv4 chips the EXT_CFG_IDDQ_GLOBAL_PWR bit was cleared by
      default, but this is not the case with this chip, so we need to make
      sure we clear it to power on the EPHY.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3cd92eae
  3. 19 10月, 2021 1 次提交
  4. 16 10月, 2021 2 次提交
  5. 15 10月, 2021 1 次提交
  6. 10 10月, 2021 1 次提交
  7. 09 10月, 2021 2 次提交
  8. 08 10月, 2021 1 次提交
  9. 07 10月, 2021 4 次提交
  10. 06 10月, 2021 1 次提交
  11. 05 10月, 2021 3 次提交
    • J
      ethernet: use eth_hw_addr_set() for dev->addr_len cases · a05e4c0a
      Jakub Kicinski 提交于
      Convert all Ethernet drivers from memcpy(... dev->addr_len)
      to eth_hw_addr_set():
      
        @@
        expression dev, np;
        @@
        - memcpy(dev->dev_addr, np, dev->addr_len)
        + eth_hw_addr_set(dev, np)
      
      In theory addr_len may not be ETH_ALEN, but we don't expect
      non-Ethernet devices to live under this directory, and only
      the following cases of setting addr_len exist:
       - cxgb4 for mgmt device,
      and the drivers which set it to ETH_ALEN: s2io, mlx4, vxge.
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a05e4c0a
    • R
      net: bgmac: support MDIO described in DT · 45c9d966
      Rafał Miłecki 提交于
      Check ethernet controller DT node for "mdio" subnode and use it with
      of_mdiobus_register() when present. That allows specifying MDIO and its
      PHY devices in a standard DT based way.
      
      This is required for BCM53573 SoC support. That family is sometimes
      called Northstar (by marketing?) but is quite different from it. It uses
      different CPU(s) and many different hw blocks.
      
      One of shared blocks in BCM53573 is Ethernet controller. Switch however
      is not SRAB accessible (as it Northstar) but is MDIO attached.
      Signed-off-by: NRafał Miłecki <rafal@milecki.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45c9d966
    • R
      net: bgmac: improve handling PHY · b5375509
      Rafał Miłecki 提交于
      1. Use info from DT if available
      
      It allows describing for example a fixed link. It's more accurate than
      just guessing there may be one (depending on a chipset).
      
      2. Verify PHY ID before trying to connect PHY
      
      PHY addr 0x1e (30) is special in Broadcom routers and means a switch
      connected as MDIO devices instead of a real PHY. Don't try connecting to
      it.
      Signed-off-by: NRafał Miłecki <rafal@milecki.pl>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b5375509
  12. 02 10月, 2021 2 次提交
  13. 27 9月, 2021 7 次提交
  14. 24 9月, 2021 2 次提交
  15. 22 9月, 2021 1 次提交
  16. 21 9月, 2021 1 次提交
  17. 20 9月, 2021 1 次提交
    • M
      bnxt_en: Fix TX timeout when TX ring size is set to the smallest · 5bed8b07
      Michael Chan 提交于
      The smallest TX ring size we support must fit a TX SKB with MAX_SKB_FRAGS
      + 1.  Because the first TX BD for a packet is always a long TX BD, we
      need an extra TX BD to fit this packet.  Define BNXT_MIN_TX_DESC_CNT with
      this value to make this more clear.  The current code uses a minimum
      that is off by 1.  Fix it using this constant.
      
      The tx_wake_thresh to determine when to wake up the TX queue is half the
      ring size but we must have at least BNXT_MIN_TX_DESC_CNT for the next
      packet which may have maximum fragments.  So the comparison of the
      available TX BDs with tx_wake_thresh should be >= instead of > in the
      current code.  Otherwise, at the smallest ring size, we will never wake
      up the TX queue and will cause TX timeout.
      
      Fixes: c0c050c5 ("bnxt_en: New Broadcom ethernet driver.")
      Reviewed-by: NPavan Chebbi <pavan.chebbi@broadcom.com>
      Signed-off-by: NMichael Chan <michael.chan@broadocm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5bed8b07
  18. 19 9月, 2021 1 次提交
    • C
      net: bgmac-bcma: handle deferred probe error due to mac-address · 029497e6
      Christian Lamparter 提交于
      Due to the inclusion of nvmem handling into the mac-address getter
      function of_get_mac_address() by
      commit d01f449c ("of_net: add NVMEM support to of_get_mac_address")
      it is now possible to get a -EPROBE_DEFER return code. Which did cause
      bgmac to assign a random ethernet address.
      
      This exact issue happened on my Meraki MR32. The nvmem provider is
      an EEPROM (at24c64) which gets instantiated once the module
      driver is loaded... This happens once the filesystem becomes available.
      
      With this patch, bgmac_probe() will propagate the -EPROBE_DEFER error.
      Then the driver subsystem will reschedule the probe at a later time.
      
      Cc: Petr Štetiar <ynezz@true.cz>
      Cc: Michael Walle <michael@walle.cc>
      Fixes: d01f449c ("of_net: add NVMEM support to of_get_mac_address")
      Signed-off-by: NChristian Lamparter <chunkeey@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      029497e6
  19. 18 9月, 2021 1 次提交
    • F
      net: bcmgenet: Patch PHY interface for dedicated PHY driver · b972b54a
      Florian Fainelli 提交于
      When we are using a dedicated PHY driver (not the Generic PHY driver)
      chances are that it is going to configure RGMII delays and do that in a
      way that is incompatible with our incorrect interpretation of the
      phy_interface value.
      
      Add a quirk in order to reverse the PHY_INTERFACE_MODE_RGMII to the
      value of PHY_INTERFACE_MODE_RGMII_ID such that the MAC continues to be
      configured the way it used to be, but the PHY driver can account for
      adding delays. Conversely when PHY_INTERFACE_MODE_RGMII_TXID is
      specified, return PHY_INTERFACE_MODE_RGMII_RXID to the PHY since we will
      have enabled a TXC MAC delay (id_mode_dis=0, meaning there is a delay
      inserted).
      
      This is not considered a bug fix at this point since it only affects
      Broadcom STB platforms shipping with a Device Tree blob that is not
      updatable in the field (quite a few devices out there) and which was
      generated using the scripted Device Tree environment shipped with those
      platforms' SDK.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b972b54a
  20. 16 9月, 2021 1 次提交
  21. 15 9月, 2021 1 次提交
  22. 13 9月, 2021 2 次提交