1. 18 4月, 2017 6 次提交
    • J
      net: mvneta: fix failed to suspend if WOL is enabled · 82960fff
      Jisheng Zhang 提交于
      Recently, suspend/resume and WOL support are added into mvneta driver.
      If we enable WOL, then we get some error as below on Marvell BG4CT
      platforms during suspend:
      
      [  184.149723] dpm_run_callback(): mdio_bus_suspend+0x0/0x50 returns -16
      [  184.149727] PM: Device f7b62004.mdio-mi:00 failed to suspend: error -16
      
      -16 means -EBUSY, phy_suspend() will return -EBUSY if it finds the
      device has WOL enabled.
      
      We fix this issue by properly setting the netdev's power.can_wakeup
      and power.wakeup, i.e
      
      1. in mvneta_mdio_probe(), call device_set_wakeup_capable() to set
      power.can_wakeup if the phy support WOL.
      
      2. in mvneta_ethtool_set_wol(), call device_set_wakeup_enable() to
      set power.wakeup if WOL has been successfully enabled in phy.
      Signed-off-by: NJisheng Zhang <jszhang@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      82960fff
    • R
      net: phy: simplify phy_supported_speeds() · 786df9c2
      Russell King 提交于
      Simplify the loop in phy_supported_speeds().
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      786df9c2
    • R
      net: phy: improve phylib correctness for non-autoneg settings · d0613037
      Russell King 提交于
      phylib has some undesirable behaviour when forcing a link mode through
      ethtool.  phylib uses this code:
      
      	idx = phy_find_valid(phy_find_setting(phydev->speed, phydev->duplex),
      			features);
      
      to find an index in the settings table.  phy_find_setting() starts at
      index 0, and scans upwards looking for an exact speed and duplex match.
      When it doesn't find it, it returns MAX_NUM_SETTINGS - 1, which is
      10baseT-Half duplex.
      
      phy_find_valid() then scans from the point (and effectively only checks
      one entry) before bailing out, returning MAX_NUM_SETTINGS - 1.
      
      phy_sanitize_settings() then sets ->speed to SPEED_10 and ->duplex to
      DUPLEX_HALF whether or not 10baseT-Half is supported or not.  This goes
      against all the comments against these functions, and 10baseT-Half may
      not even be supported by the hardware.
      
      Rework these functions, introducing a new method of scanning the table.
      There are two modes of lookup that phylib wants: exact, and inexact.
      
      - in exact mode, we return either an exact match or failure
      - in inexact mode, we return an exact match if it exists, a match at
        the highest speed that is not greater than the requested speed
        (ignoring duplex), or failing that, the lowest supported speed, or
        failure.
      
      The biggest difference is that we always check whether the entry is
      supported before further consideration, so all unsupported entries are
      not considered as candidates.
      
      This results in arguably saner behaviour, better matches the comments,
      and is probably what users would expect.
      
      This becomes important as ethernet speeds increase, PHYs exist which do
      not support the 10Mbit speeds, and half-duplex is likely to become
      obsolete - it's already not even an option on 10Gbit and faster links.
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d0613037
    • C
      qede: Add aRFS support · e4917d46
      Chopra, Manish 提交于
      This patch adds support for aRFS for TCP and UDP
      protocols with IPv4/IPv6.
      Signed-off-by: NManish Chopra <manish.chopra@cavium.com>
      Signed-off-by: NYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e4917d46
    • C
      qed: aRFS infrastructure support · d51e4af5
      Chopra, Manish 提交于
      This patch adds necessary APIs to interface with
      qede aRFS support in successive patch.
      
      It also reserves separate PTT entry for aRFS,
      [as being in fastpath flow] for hardware access instead of
      trying to acquire it at run time from the ptt pool.
      Signed-off-by: NManish Chopra <manish.chopra@cavium.com>
      Signed-off-by: NYuval Mintz <yuval.mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d51e4af5
    • M
      smsc95xx: Add comments to the registers definition · 53a759c8
      Martin Wetterwald 提交于
      This chip is used by a lot of embedded devices and also by the Raspberry
      Pi 1, 2 & 3 which were created to promote the study of computer
      sciences. Students wanting to learn kernel / network device driver
      programming through those devices can only rely on the Linux kernel
      driver source to make their own.
      
      This commit adds a lot of comments to the registers definition to expand
      the register names.
      
      Cc: Steve Glendinning <steve.glendinning@shawell.net>
      Cc: Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
      CC: David Miller <davem@davemloft.net>
      Signed-off-by: NMartin Wetterwald <martin@wetterwald.eu>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Acked-by: NSteve Glendinning <steve.glendinning@shawell.net>
      Acked-by: NWoojung Huh <Woojung.Huh@microchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      53a759c8
  2. 17 4月, 2017 17 次提交
  3. 14 4月, 2017 13 次提交
  4. 13 4月, 2017 4 次提交