aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/wimax
diff options
context:
space:
mode:
authorInaky Perez-Gonzalez <inaky@linux.intel.com>2009-02-28 18:42:50 -0500
committerDavid S. Miller <davem@davemloft.net>2009-03-02 06:10:25 -0500
commit8987691a4aa6622a1b58bb12c56abaf3d2098fad (patch)
tree92da0abdf6a29aa60ec5aff6250b1937d4c264d6 /include/linux/wimax
parent6a0f7ab8305cb60a43a6c4a548f57adab784e6cd (diff)
wimax/i2400m: allow control of the base-station idle mode timeout
For power saving reasons, WiMAX links can be put in idle mode while connected after a certain time of the link not being used for tx or rx. In this mode, the device pages the base-station regularly and when data is ready to be transmitted, the link is revived. This patch allows the user to control the time the device has to be idle before it decides to go to idle mode from a sysfs interace. It also updates the initialization code to acknowledge the module variable 'idle_mode_disabled' when the firmware is a newer version (upcoming 1.4 vs 2.6.29's v1.3). The method for setting the idle mode timeout in the older firmwares is much more limited and can be only done at initialization time. Thus, the sysfs file will return -ENOSYS on older ones. Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/wimax')
-rw-r--r--include/linux/wimax/i2400m.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/wimax/i2400m.h b/include/linux/wimax/i2400m.h
index 74198f5bb4dc..686eeb2b9704 100644
--- a/include/linux/wimax/i2400m.h
+++ b/include/linux/wimax/i2400m.h
@@ -381,6 +381,7 @@ enum i2400m_tlv {
381 I2400M_TLV_RF_STATUS = 163, 381 I2400M_TLV_RF_STATUS = 163,
382 I2400M_TLV_DEVICE_RESET_TYPE = 132, 382 I2400M_TLV_DEVICE_RESET_TYPE = 132,
383 I2400M_TLV_CONFIG_IDLE_PARAMETERS = 601, 383 I2400M_TLV_CONFIG_IDLE_PARAMETERS = 601,
384 I2400M_TLV_CONFIG_IDLE_TIMEOUT = 611,
384}; 385};
385 386
386 387
@@ -509,4 +510,13 @@ struct i2400m_tlv_media_status {
509 __le32 media_status; 510 __le32 media_status;
510} __attribute__((packed)); 511} __attribute__((packed));
511 512
513
514/* New in v1.4 */
515struct i2400m_tlv_config_idle_timeout {
516 struct i2400m_tlv_hdr hdr;
517 __le32 timeout; /* 100 to 300000 ms [5min], 100 increments
518 * 0 disabled */
519} __attribute__((packed));
520
521
512#endif /* #ifndef __LINUX__WIMAX__I2400M_H__ */ 522#endif /* #ifndef __LINUX__WIMAX__I2400M_H__ */