1. 07 Jan, 2020 10 commits
    • Shannon Nelson's avatar
      ionic: restrict received packets to mtu size · c37d6e3f
      Shannon Nelson authored
      Make sure the NIC drops packets that are larger than the
      specified MTU.
      
      The front end of the NIC will accept packets larger than MTU and
      will copy all the data it can to fill up the driver's posted
      buffers - if the buffers are not long enough the packet will
      then get dropped.  With the Rx SG buffers allocagted as full
      pages, we are currently setting up more space than MTU size
      available and end up receiving some packets that are larger
      than MTU, up to the size of buffers posted.  To be sure the
      NIC doesn't waste our time with oversized packets we need to
      lie a little in the SG descriptor about how long is the last
      SG element.
      
      At dealloc time, we know the allocation was a page, so the
      deallocation doesn't care about what length we put in the
      descriptor.
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c37d6e3f
    • Shannon Nelson's avatar
      ionic: add Rx dropped packet counter · 24cfa8c7
      Shannon Nelson authored
      Add a counter for packets dropped by the driver, typically
      for bad size or a receive error seen by the device.
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      24cfa8c7
    • Shannon Nelson's avatar
      ionic: drop use of subdevice tags · 3daca28f
      Shannon Nelson authored
      The subdevice concept is not being used in the driver, so
      drop the references to it.
      Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3daca28f
    • David S. Miller's avatar
      Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 5528e0d7
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      1GbE Intel Wired LAN Driver Updates 2020-01-06
      
      This series contains updates to igc to add basic support for
      timestamping.
      
      Vinicius adds basic support for timestamping and enables ptp4l/phc2sys
      to work with i225 devices.  Initially, adds the ability to read and
      adjust the PHC clock.  Patches 2 & 3 enable and retrieve hardware
      timestamps.  Patch 4 implements the ethtool ioctl that ptp4l uses to
      check what timestamping methods are supported.  Lastly, added support to
      do timestamping using the "Start of Packet" signal from the PHY, which
      is now supported in i225 devices.
      
      While i225 does support multiple PTP domains, with multiple timestamping
      registers, we currently only support one PTP domain and use only one of
      the timestamping registers for implementation purposes.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5528e0d7
    • David S. Miller's avatar
      Merge branch 'Unique-mv88e6xxx-IRQ-names' · 1b935183
      David S. Miller authored
      Andrew Lunn says:
      
      ====================
      Unique mv88e6xxx IRQ names
      
      There are a few boards which have multiple mv88e6xxx switches. With
      such boards, it can be hard to determine which interrupts belong to
      which switches. Make the interrupt names unique by including the
      device name in the interrupt name. For the SERDES interrupt, also
      include the port number. As a result of these patches ZII devel C
      looks like:
      
       50:          0  gpio-vf610  27 Level     mv88e6xxx-0.1:00
       54:          0  mv88e6xxx-g1   3 Edge      mv88e6xxx-0.1:00-g1-atu-prob
       56:          0  mv88e6xxx-g1   5 Edge      mv88e6xxx-0.1:00-g1-vtu-prob
       58:          0  mv88e6xxx-g1   7 Edge      mv88e6xxx-0.1:00-g2
       61:          0  mv88e6xxx-g2   1 Edge      !mdio-mux!mdio@1!switch@0!mdio:01
       62:          0  mv88e6xxx-g2   2 Edge      !mdio-mux!mdio@1!switch@0!mdio:02
       63:          0  mv88e6xxx-g2   3 Edge      !mdio-mux!mdio@1!switch@0!mdio:03
       64:          0  mv88e6xxx-g2   4 Edge      !mdio-mux!mdio@1!switch@0!mdio:04
       70:          0  mv88e6xxx-g2  10 Edge      mv88e6xxx-0.1:00-serdes-10
       75:          0  mv88e6xxx-g2  15 Edge      mv88e6xxx-0.1:00-watchdog
       76:          5  gpio-vf610  26 Level     mv88e6xxx-0.2:00
       80:          0  mv88e6xxx-g1   3 Edge      mv88e6xxx-0.2:00-g1-atu-prob
       82:          0  mv88e6xxx-g1   5 Edge      mv88e6xxx-0.2:00-g1-vtu-prob
       84:          4  mv88e6xxx-g1   7 Edge      mv88e6xxx-0.2:00-g2
       87:          2  mv88e6xxx-g2   1 Edge      !mdio-mux!mdio@2!switch@0!mdio:01
       88:          0  mv88e6xxx-g2   2 Edge      !mdio-mux!mdio@2!switch@0!mdio:02
       89:          0  mv88e6xxx-g2   3 Edge      !mdio-mux!mdio@2!switch@0!mdio:03
       90:          0  mv88e6xxx-g2   4 Edge      !mdio-mux!mdio@2!switch@0!mdio:04
       95:          3  mv88e6xxx-g2   9 Edge      mv88e6xxx-0.2:00-serdes-9
       96:          0  mv88e6xxx-g2  10 Edge      mv88e6xxx-0.2:00-serdes-10
      101:          0  mv88e6xxx-g2  15 Edge      mv88e6xxx-0.2:00-watchdog
      
      Interrupt names like !mdio-mux!mdio@2!switch@0!mdio:01 are created by
      phylib for the integrated PHYs. The mv88e6xxx driver does not
      determine these names.
      ====================
      Tested-by: default avatarChris Healy <cphealy@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1b935183
    • Andrew Lunn's avatar
      net: dsa: mv88e6xxx: Unique ATU and VTU IRQ names · 8ddf0b56
      Andrew Lunn authored
      Dynamically generate a unique interrupt name for the VTU and ATU,
      based on the device name.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8ddf0b56
    • Andrew Lunn's avatar
      net: dsa: mv88e6xxx: Unique g2 IRQ name · 06acd114
      Andrew Lunn authored
      Dynamically generate a unique g2 interrupt name, based on the
      device name.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      06acd114
    • Andrew Lunn's avatar
      net: dsa: mv88e6xxx: Unique watchdog IRQ name · 8b4db289
      Andrew Lunn authored
      Dynamically generate a unique watchdog interrupt name, based on the
      device name.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b4db289
    • Andrew Lunn's avatar
      net: dsa: mv88e6xxx: Unique SERDES interrupt names · e6f2f6b8
      Andrew Lunn authored
      Dynamically generate a unique SERDES interrupt name, based on the
      device name and the port the SERDES is for. For example:
      
       95:          3  mv88e6xxx-g2   9 Edge      mv88e6xxx-0.2:00-serdes-9
       96:          0  mv88e6xxx-g2  10 Edge      mv88e6xxx-0.2:00-serdes-10
      
      The 0.2:00 indicates the switch and -9 indicates port 9.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e6f2f6b8
    • Andrew Lunn's avatar
      net: dsa: mv88e6xxx: Unique IRQ name · 3095383a
      Andrew Lunn authored
      Dynamically generate a unique switch interrupt name, based on the
      device name.
      Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3095383a
  2. 06 Jan, 2020 30 commits