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 */ | ||||
| 	__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 { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user