1. 07 4月, 2017 1 次提交
  2. 05 4月, 2017 1 次提交
  3. 09 3月, 2017 1 次提交
    • C
      net: ibm: emac: fix regression caused by emac_dt_phy_probe() · b793f081
      Christian Lamparter 提交于
      Julian Margetson reported a panic on his SAM460EX with Kernel 4.11-rc1:
      | Unable to handle kernel paging request for data at address 0x00000014
      | Oops: Kernel access of bad area, sig: 11 [#1]
      | PREEMPT
      | Canyonlands
      | Modules linked in:
      | CPU: 0 PID: 1 Comm: swapper Not tainted [...]
      | task: ea838000 task.stack: ea836000
      | NIP: c0599f5c LR: c0599dd8 CTR: 00000000
      | REGS: ea837c80 TRAP: 0300   Not tainted [...]
      | MSR: 00029000 <CE,EE,ME>
      |  CR: 24371242  XER: 20000000
      | DEAR: 00000014 ESR: 00000000
      | GPR00: c0599ce8 ea837d30 ea838000 c0e52dcc c0d56ffb [...]
      | NIP [c0599f5c] emac_probe+0xfb4/0x1304
      | LR [c0599dd8] emac_probe+0xe30/0x1304
      | Call Trace:
      | [ea837d30] [c0599ce8] emac_probe+0xd40/0x1304 (unreliable)
      | [ea837d80] [c0533504] platform_drv_probe+0x48/0x90
      | [ea837da0] [c0531c14] driver_probe_device+0x15c/0x2c4
      | [ea837dd0] [c0531e04] __driver_attach+0x88/0xb0
      | ---[ end trace ... ]---
      
      The problem is caused by emac_dt_phy_probe() returing success (0)
      for existing device-trees configurations that do not specify a
      "phy-handle" property. This caused the code to skip the existing
      phy probe and setup. Which led to essential phy related
      data-structures being uninitialized.
      
      This patch also removes the unused variable in emac_dt_phy_connect().
      
      Fixes: a577ca6b ("net: emac: add support for device-tree based PHY discovery and setup")
      Reported-by: NJulian Margetson <runaway@candw.ms>
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b793f081
  4. 23 2月, 2017 1 次提交
    • C
      net: emac: add support for device-tree based PHY discovery and setup · a577ca6b
      Christian Lamparter 提交于
      This patch adds glue-code that allows the EMAC driver to interface
      with the existing dt-supported PHYs in drivers/net/phy.
      
      Because currently, the emac driver maintains a small library of
      supported phys for in a private phy.c file located in the drivers
      directory.
      
      The support is limited to mostly single ethernet transceiver like the:
      CIS8201, BCM5248, ET1011C, Marvell 88E1111 and 88E1112, AR8035.
      
      However, routers like the Netgear WNDR4700 and Cisco Meraki MX60(W)
      have a 5-port switch (AR8327N) attached to the EMAC. The switch chip
      is supported by the qca8k mdio driver, which uses the generic phy
      library. Another reason is that PHYLIB also supports the BCM54610,
      which was used for the Western Digital My Book Live.
      
      This will now also make EMAC select PHYLIB.
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a577ca6b
  5. 10 1月, 2017 1 次提交
  6. 25 12月, 2016 1 次提交
  7. 18 10月, 2016 1 次提交
  8. 13 10月, 2016 1 次提交
    • J
      net: deprecate eth_change_mtu, remove usage · a52ad514
      Jarod Wilson 提交于
      With centralized MTU checking, there's nothing productive done by
      eth_change_mtu that isn't already done in dev_set_mtu, so mark it as
      deprecated and remove all usage of it in the kernel. All callers have been
      audited for calls to alloc_etherdev* or ether_setup directly, which means
      they all have a valid dev->min_mtu and dev->max_mtu. Now eth_change_mtu
      prints out a netdev_warn about being deprecated, for the benefit of
      out-of-tree drivers that might be utilizing it.
      
      Of note, dvb_net.c actually had dev->mtu = 4096, while using
      eth_change_mtu, meaning that if you ever tried changing it's mtu, you
      couldn't set it above 1500 anymore. It's now getting dev->max_mtu also set
      to 4096 to remedy that.
      
      v2: fix up lantiq_etop, missed breakage due to drive not compiling on x86
      
      CC: netdev@vger.kernel.org
      Signed-off-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a52ad514
  9. 16 9月, 2016 2 次提交
  10. 13 9月, 2016 1 次提交
  11. 05 5月, 2016 1 次提交
  12. 16 10月, 2015 1 次提交
  13. 12 6月, 2015 1 次提交
  14. 26 5月, 2015 1 次提交
  15. 18 3月, 2015 1 次提交
  16. 17 3月, 2015 1 次提交
  17. 05 2月, 2015 1 次提交
  18. 22 11月, 2014 1 次提交
  19. 20 10月, 2014 1 次提交
  20. 14 5月, 2014 1 次提交
  21. 10 10月, 2013 1 次提交
  22. 03 10月, 2013 1 次提交
  23. 04 9月, 2013 1 次提交
  24. 22 8月, 2013 1 次提交
  25. 12 5月, 2013 1 次提交
    • P
      emac: Fix EMAC soft reset on 460EX/GT · 23fbb5a8
      Petri Gynther 提交于
      Fix EMAC soft reset on 460EX/GT to select the right PHY clock source
      before and after the soft reset.
      
      EMAC with PHY should use the clock from PHY during soft reset.
      EMAC without PHY should use the internal clock during soft reset.
      
      PPC460EX/GT Embedded Processor Advanced User's Manual
      section 28.10.1 Mode Register 0 (EMACx_MR0) states:
      Note: The PHY must provide a TX Clk in order to perform a soft reset
      of the EMAC. If none is present, select the internal clock
      (SDR0_ETH_CFG[EMACx_PHY_CLK] = 1).
      After a soft reset, select the external clock.
      
      Without the fix, 460EX/GT-based boards with RGMII PHYs attached to
      EMACs experience EMAC interrupt storm and system watchdog reset when
      issuing "ifconfig eth0 down" + "ifconfig eth0 up" a few times.
      The system enters endless loop of serving emac_irq() with EMACx_ISR
      register stuck at value 0x10000000 (Rx parity error).
      
      With the fix, the above issue is no longer observed.
      Signed-off-by: NPetri Gynther <pgynther@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      23fbb5a8
  26. 07 1月, 2013 1 次提交
  27. 08 12月, 2012 1 次提交
  28. 04 12月, 2012 1 次提交
  29. 07 3月, 2012 1 次提交
  30. 01 2月, 2012 1 次提交
  31. 31 1月, 2012 1 次提交
  32. 18 11月, 2011 1 次提交
  33. 19 10月, 2011 1 次提交
  34. 11 10月, 2011 1 次提交
  35. 19 8月, 2011 1 次提交
    • T
      net: fix IBM EMAC driver after rename. · 3b3bceef
      Tony Breeds 提交于
      In commit 9aa32835 (ehea/ibm*: Move the
      IBM drivers) the IBM_NEW_EMAC* were renames to IBM_EMAC*
      
      The conversion was incomplete so that even if the driver was added to
      the .config it wasn't built, but there were no errors).  In this commit
      we also update the various defconfigs that use EMAC to use the new
      Kconfig symbol, and explicitly add the NET_VENDOR_IBM guard.
      
      We do not explicitly select the Kconfig dependencies, as this would force
      EMAC on.  Doing it in the defconfig allows more flexibility.
      
      Tested on a canyondlands board.
      Signed-off-by: NTony Breeds <tony@bakeyournoodle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b3bceef
  36. 18 8月, 2011 1 次提交
  37. 11 8月, 2011 1 次提交
    • J
      ehea/ibm*: Move the IBM drivers · 9aa32835
      Jeff Kirsher 提交于
      Move the IBM drivers into drivers/net/ethernet/ibm/ and make the
      necessary Kconfig and Makefile changes.
      
      - Renamed ibm_new_emac to emac
      - Cleaned up Makefile and Kconfig options which referred to
        IBM_NEW_EMAC to IBM_EMAC
      - ibmlana driver is a National Semiconductor SONIC driver so
        it was not moved
      
      CC: Christoph Raisch <raisch@de.ibm.com>
      CC: Santiago Leon <santil@linux.vnet.ibm.com>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: David Gibson <dwg@au1.ibm.com>
      CC: Kyle Lucke <klucke@us.ibm.com>
      CC: Michael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      9aa32835
  38. 27 7月, 2011 1 次提交
  39. 10 6月, 2011 1 次提交