|
@@ -27,9 +27,24 @@ struct ethtool_cmd {
|
|
|
__u8 autoneg; /* Enable or disable autonegotiation */
|
|
|
__u32 maxtxpkt; /* Tx pkts before generating tx int */
|
|
|
__u32 maxrxpkt; /* Rx pkts before generating rx int */
|
|
|
- __u32 reserved[4];
|
|
|
+ __u16 speed_hi;
|
|
|
+ __u16 reserved2;
|
|
|
+ __u32 reserved[3];
|
|
|
};
|
|
|
|
|
|
+static inline void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
|
|
|
+ __u32 speed)
|
|
|
+{
|
|
|
+
|
|
|
+ ep->speed = (__u16)speed;
|
|
|
+ ep->speed_hi = (__u16)(speed >> 16);
|
|
|
+}
|
|
|
+
|
|
|
+static inline __u32 ethtool_cmd_speed(struct ethtool_cmd *ep)
|
|
|
+{
|
|
|
+ return (ep->speed_hi << 16) | ep->speed;
|
|
|
+}
|
|
|
+
|
|
|
#define ETHTOOL_BUSINFO_LEN 32
|
|
|
/* these strings are set to whatever the driver author decides... */
|
|
|
struct ethtool_drvinfo {
|