Commit 38bb045d authored by Constantin Baranov's avatar Constantin Baranov Committed by David S. Miller

niu: improve ethtool support for gigabit copper cards

Introduced support for link speed and duplex setting (ethtool -s),
link advertising parameters and autonegotiation (ethtool -r):
- struct niu_link_config: split advertising and autoneg
  fields into active and target values (similar to speed
  and duplex fields)
- mii_init_common(): rewrite function to actually apply
  requested niu_link_config parameters instead of providing
  default initialization
- link_status_1g(): move parsing of MII registers into
  new link_status_mii() function (link_status_1g_rgmii()
  could possibly use this new implementation too)
- introduce simple nway_reset method
- fix incorrect XMAC_CONFIG_MODE selection for 10Mbps case
Signed-off-by: default avatarConstantin Baranov <baranov@mercdev.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e0d8496a
This diff is collapsed.
...@@ -3131,16 +3131,19 @@ struct niu_ops { ...@@ -3131,16 +3131,19 @@ struct niu_ops {
}; };
struct niu_link_config { struct niu_link_config {
u32 supported;
/* Describes what we're trying to get. */ /* Describes what we're trying to get. */
u32 advertising; u32 advertising;
u32 supported;
u16 speed; u16 speed;
u8 duplex; u8 duplex;
u8 autoneg; u8 autoneg;
/* Describes what we actually have. */ /* Describes what we actually have. */
u32 active_advertising;
u16 active_speed; u16 active_speed;
u8 active_duplex; u8 active_duplex;
u8 active_autoneg;
#define SPEED_INVALID 0xffff #define SPEED_INVALID 0xffff
#define DUPLEX_INVALID 0xff #define DUPLEX_INVALID 0xff
#define AUTONEG_INVALID 0xff #define AUTONEG_INVALID 0xff
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment