1. 07 4月, 2015 1 次提交
    • P
      net: dsa: fix filling routing table from OF description · 30303813
      Pavel Nakonechny 提交于
      According to description in 'include/net/dsa.h', in cascade switches
      configurations where there are more than one interconnected devices,
      'rtable' array in 'dsa_chip_data' structure is used to indicate which
      port on this switch should be used to send packets to that are destined
      for corresponding switch.
      
      However, dsa_of_setup_routing_table() fills 'rtable' with port numbers
      of the _target_ switch, but not current one.
      
      This commit removes redundant devicetree parsing and adds needed port
      number as a function argument. So dsa_of_setup_routing_table() now just
      looks for target switch number by parsing parent of 'link' device node.
      
      To remove possible misunderstandings with the way of determining target
      switch number, a corresponding comment was added to the source code and
      to the DSA device tree bindings documentation file.
      
      This was tested on a custom board with two Marvell 88E6095 switches with
      following corresponding routing tables: { -1, 10 } and { 8, -1 }.
      Signed-off-by: NPavel Nakonechny <pavel.nakonechny@skitlab.ru>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      30303813
  2. 18 2月, 2015 1 次提交
    • G
      net: dsa: Set valid phy interface type · 19334920
      Guenter Roeck 提交于
      If the phy interface mode is not found in devicetree, or if devicetree
      is not configured, of_get_phy_mode returns -ENODEV. The current code
      sets the phy interface mode to the return value from of_get_phy_mode
      without checking if it is valid.
      
      This invalid phy interface mode is passed as parameter to of_phy_connect
      or to phy_connect_direct. This sets the phy interface mode to the invalid
      value, which in turn causes problems for any code using phydev->interface.
      
      Fixes: b31f65fb ("net: dsa: slave: Fix autoneg for phys on switch MDIO bus")
      Fixes: 0d8bcdd3 ("net: dsa: allow for more complex PHY setups")
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      19334920
  3. 10 2月, 2015 1 次提交
  4. 08 2月, 2015 1 次提交
  5. 26 1月, 2015 1 次提交
    • V
      net: dsa: set slave MII bus PHY mask · 24df8986
      Vivien Didelot 提交于
      When registering a mdio bus, Linux assumes than every port has a PHY and tries
      to scan it. If a switch port has no PHY registered, DSA will fail to register
      the slave MII bus. To fix this, set the slave MII bus PHY mask to the switch
      PHYs mask.
      
      As an example, if we use a Marvell MV88E6352 (which is a 7-port switch with no
      registered PHYs for port 5 and port 6), with the following declared names:
      
      	static struct dsa_chip_data switch_cdata = {
      		[...]
      		.port_names[0] = "sw0",
      		.port_names[1] = "sw1",
      		.port_names[2] = "sw2",
      		.port_names[3] = "sw3",
      		.port_names[4] = "sw4",
      		.port_names[5] = "cpu",
      	};
      
      DSA will fail to create the switch instance. With the PHY mask set for the
      slave MII bus, only the PHY for ports 0-4 will be scanned and the instance will
      be successfully created.
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Tested-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24df8986
  6. 12 12月, 2014 2 次提交
  7. 17 11月, 2014 2 次提交
  8. 12 11月, 2014 1 次提交
  9. 07 11月, 2014 1 次提交
  10. 31 10月, 2014 4 次提交
  11. 29 10月, 2014 1 次提交
  12. 20 10月, 2014 2 次提交
  13. 18 10月, 2014 1 次提交
  14. 05 10月, 2014 1 次提交
    • F
      net: dsa: do not call phy_start_aneg · f7d6b96f
      Florian Fainelli 提交于
      Commit f7f1de51 ("net: dsa: start and stop the PHY state machine")
      add calls to phy_start() in dsa_slave_open() respectively phy_stop() in
      dsa_slave_close().
      
      We also call phy_start_aneg() in dsa_slave_create(), and this call is
      messing up with the PHY state machine, since we basically start the
      auto-negotiation, and later on restart it when calling phy_start().
      phy_start() does not currently handle the PHY_FORCING or PHY_AN states
      properly, but such a fix would be too invasive for this window.
      
      Fixes: f7f1de51 ("net: dsa: start and stop the PHY state machine")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7d6b96f
  15. 02 10月, 2014 1 次提交
  16. 29 9月, 2014 3 次提交
  17. 23 9月, 2014 2 次提交
  18. 20 9月, 2014 1 次提交
  19. 16 9月, 2014 3 次提交
  20. 14 9月, 2014 1 次提交
  21. 02 9月, 2014 1 次提交
  22. 28 8月, 2014 8 次提交