linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 */

  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).