]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/ethtool.h
perf_counter tools: Create new chain_for_each_child() iterator
[mv-sheeva.git] / include / linux / ethtool.h
index 131b127b70f8a1fb07ffa0e2a4aaba2166f12f78..9b660bd2e2b37db4a955d02e02929db4531b7ded 100644 (file)
@@ -26,11 +26,14 @@ struct ethtool_cmd {
        __u8    phy_address;
        __u8    transceiver;    /* Which transceiver to use */
        __u8    autoneg;        /* Enable or disable autonegotiation */
+       __u8    mdio_support;
        __u32   maxtxpkt;       /* Tx pkts before generating tx int */
        __u32   maxrxpkt;       /* Rx pkts before generating rx int */
        __u16   speed_hi;
-       __u16   reserved2;
-       __u32   reserved[3];
+       __u8    eth_tp_mdix;
+       __u8    reserved2;
+       __u32   lp_advertising; /* Features the link partner advertises */
+       __u32   reserved[2];
 };
 
 static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
@@ -563,6 +566,11 @@ struct ethtool_ops {
 #define SUPPORTED_Pause                        (1 << 13)
 #define SUPPORTED_Asym_Pause           (1 << 14)
 #define SUPPORTED_2500baseX_Full       (1 << 15)
+#define SUPPORTED_Backplane            (1 << 16)
+#define SUPPORTED_1000baseKX_Full      (1 << 17)
+#define SUPPORTED_10000baseKX4_Full    (1 << 18)
+#define SUPPORTED_10000baseKR_Full     (1 << 19)
+#define SUPPORTED_10000baseR_FEC       (1 << 20)
 
 /* Indicates what features are advertised by the interface. */
 #define ADVERTISED_10baseT_Half                (1 << 0)
@@ -581,6 +589,11 @@ struct ethtool_ops {
 #define ADVERTISED_Pause               (1 << 13)
 #define ADVERTISED_Asym_Pause          (1 << 14)
 #define ADVERTISED_2500baseX_Full      (1 << 15)
+#define ADVERTISED_Backplane           (1 << 16)
+#define ADVERTISED_1000baseKX_Full     (1 << 17)
+#define ADVERTISED_10000baseKX4_Full   (1 << 18)
+#define ADVERTISED_10000baseKR_Full    (1 << 19)
+#define ADVERTISED_10000baseR_FEC      (1 << 20)
 
 /* The following are all involved in forcing a particular link
  * mode for the device for setting things.  When getting the
@@ -605,6 +618,7 @@ struct ethtool_ops {
 #define PORT_MII               0x02
 #define PORT_FIBRE             0x03
 #define PORT_BNC               0x04
+#define PORT_OTHER             0xff
 
 /* Which transceiver to use. */
 #define XCVR_INTERNAL          0x00
@@ -619,6 +633,11 @@ struct ethtool_ops {
 #define AUTONEG_DISABLE                0x00
 #define AUTONEG_ENABLE         0x01
 
+/* Mode MDI or MDI-X */
+#define ETH_TP_MDI_INVALID     0x00
+#define ETH_TP_MDI             0x01
+#define ETH_TP_MDI_X           0x02
+
 /* Wake-On-Lan options. */
 #define WAKE_PHY               (1 << 0)
 #define WAKE_UCAST             (1 << 1)