|
@@ -24,7 +24,10 @@ struct ethtool_cmd {
|
|
|
__u32 cmd;
|
|
|
__u32 supported; /* Features this interface supports */
|
|
|
__u32 advertising; /* Features this interface advertises */
|
|
|
- __u16 speed; /* The forced speed, 10Mb, 100Mb, gigabit */
|
|
|
+ __u16 speed; /* The forced speed (lower bits) in
|
|
|
+ * Mbps. Please use
|
|
|
+ * ethtool_cmd_speed()/_set() to
|
|
|
+ * access it */
|
|
|
__u8 duplex; /* Duplex, half or full */
|
|
|
__u8 port; /* Which connector port */
|
|
|
__u8 phy_address;
|
|
@@ -33,7 +36,10 @@ struct ethtool_cmd {
|
|
|
__u8 mdio_support;
|
|
|
__u32 maxtxpkt; /* Tx pkts before generating tx int */
|
|
|
__u32 maxrxpkt; /* Rx pkts before generating rx int */
|
|
|
- __u16 speed_hi;
|
|
|
+ __u16 speed_hi; /* The forced speed (upper
|
|
|
+ * bits) in Mbps. Please use
|
|
|
+ * ethtool_cmd_speed()/_set() to
|
|
|
+ * access it */
|
|
|
__u8 eth_tp_mdix;
|
|
|
__u8 reserved2;
|
|
|
__u32 lp_advertising; /* Features the link partner advertises */
|
|
@@ -41,14 +47,14 @@ struct ethtool_cmd {
|
|
|
};
|
|
|
|
|
|
static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
|
|
|
- __u32 speed)
|
|
|
+ __u32 speed)
|
|
|
{
|
|
|
|
|
|
ep->speed = (__u16)speed;
|
|
|
ep->speed_hi = (__u16)(speed >> 16);
|
|
|
}
|
|
|
|
|
|
-static inline __u32 ethtool_cmd_speed(struct ethtool_cmd *ep)
|
|
|
+static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
|
|
|
{
|
|
|
return (ep->speed_hi << 16) | ep->speed;
|
|
|
}
|