ethtool: Expand ethtool_cmd.speed to 32 bits
Introduce the speed_hi field to ethtool_cmd, using the reserved space, to expand the speed field to 2^32 Megabits/second. Making this field expansion now gives us plenty of time to fix up the user-space pieces that use SIOCETHTOOL before hardware faster than 64 Gb/s is available. Signed-off-by: Brandon Philips <bphilips@suse.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
4f63135eb2
commit
b11f8d8cc3
@ -27,9 +27,24 @@ struct ethtool_cmd {
|
|||||||
__u8 autoneg; /* Enable or disable autonegotiation */
|
__u8 autoneg; /* Enable or disable autonegotiation */
|
||||||
__u32 maxtxpkt; /* Tx pkts before generating tx int */
|
__u32 maxtxpkt; /* Tx pkts before generating tx int */
|
||||||
__u32 maxrxpkt; /* Rx pkts before generating rx 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
|
#define ETHTOOL_BUSINFO_LEN 32
|
||||||
/* these strings are set to whatever the driver author decides... */
|
/* these strings are set to whatever the driver author decides... */
|
||||||
struct ethtool_drvinfo {
|
struct ethtool_drvinfo {
|
||||||
|
Loading…
Reference in New Issue
Block a user