Search Linux Wireless

Re: [PATCH 33/40] wl12xx: track freed packets in FW by AC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2011-08-09 at 12:13 +0300, Eliad Peller wrote: 
> From: Arik Nemtsov <arik@xxxxxxxxxx>
> 
> Track the number of freed packets in each AC when receiving an interrupt
> from the FW. This paves the way for tracking allocated packets per AC.
> 
> Signed-off-by: Arik Nemtsov <arik@xxxxxxxxxx>
> Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx>
> ---
>  drivers/net/wireless/wl12xx/main.c   |   16 +++++++++++++++-
>  drivers/net/wireless/wl12xx/tx.c     |    2 ++
>  drivers/net/wireless/wl12xx/wl12xx.h |    8 ++++++--
>  3 files changed, 23 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
> index b223c27..3bfd772 100644
> --- a/drivers/net/wireless/wl12xx/main.c
> +++ b/drivers/net/wireless/wl12xx/main.c
> @@ -810,22 +810,32 @@ static void wl1271_irq_update_links_status(struct wl1271 *wl,
>  static void wl1271_fw_status(struct wl1271 *wl,
>  			     struct wl1271_fw_status *status)
>  {
>  	struct timespec ts;
>  	u32 old_tx_blk_count = wl->tx_blocks_available;
>  	int avail, freed_blocks;
> +	int i;
>  
>  	wl1271_raw_read(wl, FW_STATUS_ADDR, status, sizeof(*status), false);
>  
>  	wl1271_debug(DEBUG_IRQ, "intr: 0x%x (fw_rx_counter = %d, "
>  		     "drv_rx_counter = %d, tx_results_counter = %d)",
>  		     status->intr,
>  		     status->fw_rx_counter,
>  		     status->drv_rx_counter,
>  		     status->tx_results_counter);
>  
> +	for (i = 0; i < NUM_TX_QUEUES; i++) {
> +		/* prevent wrap-around in freed-packets counter */
> +		wl->tx_allocated_pkts -=
> +				(status->tx_released_pkts[i] -
> +				wl->tx_pkts_freed[i] + 256) % 256;

Isn't the "+ 256" useless here, since you'll mod the result anyway? 


-- 
Cheers,
Luca.

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux