1. 25 Feb, 2016 1 commit
  2. 23 Feb, 2016 1 commit
  3. 07 Dec, 2015 1 commit
  4. 23 Nov, 2015 1 commit
  5. 01 Nov, 2015 1 commit
  6. 22 Oct, 2015 2 commits
  7. 11 Oct, 2015 3 commits
  8. 18 Aug, 2015 1 commit
  9. 13 Aug, 2015 1 commit
  10. 11 Aug, 2015 2 commits
  11. 09 Aug, 2015 1 commit
  12. 29 Mar, 2015 1 commit
  13. 09 Mar, 2015 1 commit
    • Florian Fainelli's avatar
      net: dsa: utilize of_find_net_device_by_node · 769a0202
      Florian Fainelli authored
      Using of_find_device_by_node() restricts the search to platform_device that
      match the specified device_node pointer. This is not even remotely true for
      network devices backed by a pci_device for instance.
      of_find_net_device_by_node() allows us to do a more thorough lookup to find the
      struct net_device corresponding to a particular device_node pointer.
      For symetry with the non-OF code path, we hold the net_device pointer in
      dsa_probe() just like what dev_to_net_dev() does when we call this
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  14. 05 Mar, 2015 1 commit
  15. 25 Feb, 2015 2 commits
    • Guenter Roeck's avatar
      net: dsa: Introduce dsa_is_port_initialized · d79d2107
      Guenter Roeck authored
      To avoid race conditions when using the ds->ports[] array,
      we need to check if the accessed port has been initialized.
      Introduce and use helper function dsa_is_port_initialized
      for that purpose and use it where needed.
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Florian Fainelli's avatar
      net: dsa: integrate with SWITCHDEV for HW bridging · b73adef6
      Florian Fainelli authored
      In order to support bridging offloads in DSA switch drivers, select
      NET_SWITCHDEV to get access to the port_stp_update and parent_get_id
      NDOs that we are required to implement.
      To facilitate the integratation at the DSA driver level, we implement 3
      types of operations:
      - port_join_bridge
      - port_leave_bridge
      - port_stp_update
      DSA will resolve which switch ports that are currently bridge port
      members as some Switch hardware/drivers need to know about that to limit
      the register programming to just the relevant registers (especially for
      slow MDIO buses).
      We also take care of setting the correct STP state when slave network
      devices are brought up/down while being bridge members.
      Finally, when a port is leaving the bridge, we make sure we set in
      BR_STATE_FORWARDING state, otherwise the bridge layer would leave it
      disabled as a result of having left the bridge.
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  16. 30 Oct, 2014 3 commits
  17. 17 Oct, 2014 1 commit
  18. 28 Sep, 2014 2 commits
  19. 22 Sep, 2014 2 commits
  20. 19 Sep, 2014 1 commit
  21. 15 Sep, 2014 2 commits
    • Alexander Duyck's avatar
      dsa: Replace mii_bus with a generic host device · b4d2394d
      Alexander Duyck authored
      This change makes it so that instead of passing and storing a mii_bus we
      instead pass and store a host_dev.  From there we can test to determine the
      exact type of device, and can verify it is the correct device for our switch.
      So for example it would be possible to pass a device pointer from a pci_dev
      and instead of checking for a PHY ID we could check for a vendor and/or device
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • Alexander Duyck's avatar
      dsa: Split ops up, and avoid assigning tag_protocol and receive separately · 5075314e
      Alexander Duyck authored
      This change addresses several issues.
      First, it was possible to set tag_protocol without setting the ops pointer.
      To correct that I have reordered things so that rcv is now populated before
      we set tag_protocol.
      Second, it didn't make much sense to keep setting the device ops each time a
      new slave was registered.  So by moving the receive portion out into root
      switch initialization that issue should be addressed.
      Third, I wanted to avoid sending tags if the rcv pointer was not registered
      so I changed the tag check to verify if the rcv function pointer is set on
      the root tree.  If it is then we start sending DSA tagged frames.
      Finally I split the device ops pointer in the structures into two spots.  I
      placed the rcv function pointer in the root switch since this makes it
      easiest to access from there, and I placed the xmit function pointer in the
      slave for the same reason.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  22. 13 Sep, 2014 1 commit
  23. 27 Aug, 2014 8 commits