From: Pavel Roskin <proski@gnu.org>
To: John Linville <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Subject: [PATCH 18/26] at76_usb: Avoid dealing with milliseconds when possible, use jiffies
Date: Sun, 30 Sep 2007 14:40:34 -0400 [thread overview]
Message-ID: <20070930184034.23921.13756.stgit@tt.roinet.com> (raw)
In-Reply-To: <20070930183409.23921.97762.stgit@tt.roinet.com>
Signed-off-by: Pavel Roskin <proski@gnu.org>
---
drivers/net/wireless/at76_usb.c | 36 +++++++++++++++++-------------------
drivers/net/wireless/at76_usb.h | 2 +-
2 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/drivers/net/wireless/at76_usb.c b/drivers/net/wireless/at76_usb.c
index fc1b331..1c181bb 100644
--- a/drivers/net/wireless/at76_usb.c
+++ b/drivers/net/wireless/at76_usb.c
@@ -335,16 +335,16 @@ static u8 at76_dfu_get_state(struct usb_device *udev, u8 *state)
return ret;
}
-static inline u32 at76_get_timeout(struct dfu_status *s)
+/* Convert timeout from the DFU status to jiffies */
+static inline unsigned long at76_get_timeout(struct dfu_status *s)
{
- u32 ret = (s->poll_timeout[2] << 16) | (s->poll_timeout[1] << 8) |
- (s->poll_timeout[0]);
-
- return ret;
+ return msecs_to_jiffies((s->poll_timeout[2] << 16)
+ | (s->poll_timeout[1] << 8)
+ | (s->poll_timeout[0]));
}
/* Load internal firmware from the buffer. If manifest_sync_timeout > 0, use
- * its value in msec in the MANIFEST_SYNC state. */
+ * its value in jiffies in the MANIFEST_SYNC state. */
static int at76_usbdfu_download(struct usb_device *udev, u8 *buf, u32 size,
int manifest_sync_timeout)
{
@@ -400,8 +400,7 @@ static int at76_usbdfu_download(struct usb_device *udev, u8 *buf, u32 size,
need_dfu_state = 1;
at76_dbg(DBG_DFU, "DFU: Resetting device");
- schedule_timeout_interruptible(msecs_to_jiffies
- (dfu_timeout));
+ schedule_timeout_interruptible(dfu_timeout);
break;
case STATE_DFU_DOWNLOAD_IDLE:
@@ -445,8 +444,7 @@ static int at76_usbdfu_download(struct usb_device *udev, u8 *buf, u32 size,
dfu_timeout = manifest_sync_timeout;
at76_dbg(DBG_DFU, "DFU: Waiting for manifest phase");
- schedule_timeout_interruptible(msecs_to_jiffies
- (dfu_timeout));
+ schedule_timeout_interruptible(dfu_timeout);
break;
case STATE_DFU_MANIFEST:
@@ -577,7 +575,7 @@ static void at76_ledtrig_tx_timerfunc(unsigned long data)
if (tx_lastactivity != tx_activity) {
tx_lastactivity = tx_activity;
led_trigger_event(ledtrig_tx, LED_FULL);
- mod_timer(&ledtrig_tx_timer, jiffies + msecs_to_jiffies(250));
+ mod_timer(&ledtrig_tx_timer, jiffies + HZ / 4);
} else
led_trigger_event(ledtrig_tx, LED_OFF);
}
@@ -586,7 +584,7 @@ static void at76_ledtrig_tx_activity(void)
{
tx_activity++;
if (!timer_pending(&ledtrig_tx_timer))
- mod_timer(&ledtrig_tx_timer, jiffies + msecs_to_jiffies(250));
+ mod_timer(&ledtrig_tx_timer, jiffies + HZ / 4);
}
/* Check if the given ssid is hidden */
@@ -3447,7 +3445,7 @@ static int at76_load_internal_fw(struct usb_device *udev, struct fwentry *fwe)
int need_remap = !at76_is_505a(fwe->board_type);
ret = at76_usbdfu_download(udev, fwe->intfw, fwe->intfw_size,
- need_remap ? 0 : 2000);
+ need_remap ? 0 : 2 * HZ);
if (ret < 0) {
printk(KERN_ERR DRIVER_NAME
@@ -4471,17 +4469,17 @@ static void at76_calc_qual(struct at76_priv *priv, struct at76_rx_buffer *buf,
if (at76_is_intersil(priv->board_type))
qual->qual = buf->link_quality;
else {
- unsigned long msec;
+ unsigned long elapsed;
/* Update qual at most once a second */
- msec = jiffies_to_msecs(jiffies) - priv->beacons_last_qual;
- if (msec < 1000)
+ elapsed = jiffies - priv->beacons_last_qual;
+ if (elapsed < 1 * HZ)
return;
qual->qual = qual->level * priv->beacons_received *
- priv->beacon_period / msec;
+ msecs_to_jiffies(priv->beacon_period) / elapsed;
- priv->beacons_last_qual = jiffies_to_msecs(jiffies);
+ priv->beacons_last_qual = jiffies;
priv->beacons_received = 0;
}
qual->qual = (qual->qual > 100) ? 100 : qual->qual;
@@ -5270,7 +5268,7 @@ static int at76_init_new_device(struct at76_priv *priv,
priv->txrate = TX_RATE_AUTO;
priv->preamble_type = PREAMBLE_TYPE_LONG;
priv->beacon_period = 100;
- priv->beacons_last_qual = jiffies_to_msecs(jiffies);
+ priv->beacons_last_qual = jiffies;
priv->auth_mode = WLAN_AUTH_OPEN;
priv->scan_min_time = DEF_SCAN_MIN_TIME;
priv->scan_max_time = DEF_SCAN_MAX_TIME;
diff --git a/drivers/net/wireless/at76_usb.h b/drivers/net/wireless/at76_usb.h
index 6c3b76b..b20be9d 100644
--- a/drivers/net/wireless/at76_usb.h
+++ b/drivers/net/wireless/at76_usb.h
@@ -551,7 +551,7 @@ struct at76_priv {
struct set_mib_buffer mib_buf; /* global buffer for set_mib calls */
/* beacon counting */
- int beacon_period; /* period of mgmt beacons */
+ int beacon_period; /* period of mgmt beacons, Kus */
int beacons_received;
unsigned long beacons_last_qual; /* time we restarted counting
beacons */
next prev parent reply other threads:[~2007-09-30 18:40 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-30 18:38 [PATCH 00/26] at76_usb: bring up to date Pavel Roskin
2007-09-30 18:38 ` [PATCH 01/26] at76_usb: Use USB_DEVICE_DATA to improve readability of the device table Pavel Roskin
2007-09-30 18:38 ` [PATCH 02/26] at76_usb: Fix some device names in " Pavel Roskin
2007-09-30 18:38 ` [PATCH 03/26] at76_usb: Avoid dubious use of '\0' Pavel Roskin
2007-09-30 18:39 ` [PATCH 04/26] at76_usb: Don't clean priv->mib_buf, just clean data explicitly if needed Pavel Roskin
2007-09-30 18:39 ` [PATCH 05/26] at76_usb: No need to reserve 72 bytes in set_mib_buffer - we only need 6 Pavel Roskin
2007-09-30 18:39 ` [PATCH 06/26] at76_usb: Fix turning radio off Pavel Roskin
2007-09-30 18:39 ` [PATCH 07/26] at76_usb: Integrate at76_set_monitor_mode() into at76_dwork_restart() Pavel Roskin
2007-09-30 18:39 ` [PATCH 08/26] at76_usb: Eliminate err(), it's USB specific Pavel Roskin
2007-09-30 18:39 ` [PATCH 09/26] at76_usb: Remove commented out code for multicast support Pavel Roskin
2007-09-30 18:39 ` [PATCH 10/26] at76_usb: Rename tlv to ie for readability Pavel Roskin
2007-09-30 18:39 ` [PATCH 11/26] at76_usb: Stop worrying about line termination in ethtool info Pavel Roskin
2007-09-30 18:39 ` [PATCH 12/26] at76_usb: Use string precision to avoid line termination Pavel Roskin
2007-09-30 18:40 ` [PATCH 13/26] at76_usb: Eliminate variables used only in at76_dbg() Pavel Roskin
2007-09-30 18:40 ` [PATCH 14/26] at76_usb: Make it clear that management frames are sent at 1Mbps Pavel Roskin
2007-09-30 18:40 ` [PATCH 15/26] at76_usb: Clean reserved tx area for mgmt frames like it's done for data Pavel Roskin
2007-09-30 18:40 ` [PATCH 16/26] at76_usb: Remove unneeded memset() calls Pavel Roskin
2007-09-30 18:40 ` [PATCH 17/26] at76_usb: Move some parts from at76_usb.h to at76_usb.c Pavel Roskin
2007-09-30 18:40 ` Pavel Roskin [this message]
2007-09-30 18:40 ` [PATCH 19/26] at76_usb: Add ID for Corega Wireless LAN USB-11 mini and mini2 Pavel Roskin
2007-09-30 18:40 ` [PATCH 20/26] at76_usb: Revert to network device names starting with "wlan" Pavel Roskin
2007-09-30 18:40 ` [PATCH 21/26] at76_usb: Remove incorrect firmware version check Pavel Roskin
2007-09-30 18:40 ` [PATCH 22/26] at76_usb: Use dev_printk() where possible Pavel Roskin
2007-09-30 18:41 ` [PATCH 23/26] at76_usb: Be more verbose on startup Pavel Roskin
2007-09-30 18:41 ` [PATCH 24/26] at76_usb: Use ETH_P_802_2 in monitor mode Pavel Roskin
2007-09-30 18:41 ` [PATCH 25/26] at76_usb: Bump version to 0.17 Pavel Roskin
2007-09-30 18:41 ` [PATCH 26/26] at76_usb: Add ID for at76c503a based CNETUSB611 Pavel Roskin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070930184034.23921.13756.stgit@tt.roinet.com \
--to=proski@gnu.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).