Search Linux Wireless

Re: [PATCH 2/4] ath5k: always extend rx timestamp with tsf

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

 



On Jan 18, 2008 7:50 AM, Bruno Randolf <bruno@xxxxxxxxxxxxx> wrote:
> always extend the rx timestamp with the local TSF, since this information is
> also needed for proper IBSS merging. this is done in the tasklet for now, maybe
> has to be moved to the interrupt handler like in madwifi.
>
> drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
>
> Signed-off-by: Bruno Randolf <bruno@xxxxxxxxxxxxx>
> ---
>
>  drivers/net/wireless/ath5k/base.c |   17 ++++++++++++-----
>  1 files changed, 12 insertions(+), 5 deletions(-)
>
>
> diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
> index 6bbee64..bb1745f 100644
> --- a/drivers/net/wireless/ath5k/base.c
> +++ b/drivers/net/wireless/ath5k/base.c
> @@ -1725,11 +1725,18 @@ accept:
>                         skb_pull(skb, pad);
>                 }
>
> -               if (sc->opmode == IEEE80211_IF_TYPE_MNTR)
> -                       rxs.mactime = ath5k_extend_tsf(sc->ah,
> -                                       ds->ds_rxstat.rs_tstamp);
> -               else
> -                       rxs.mactime = ds->ds_rxstat.rs_tstamp;
> +               /*
> +                * always extend the mac timestamp, since this information is
> +                * also needed for proper IBSS merging.
> +                *
> +                * XXX: it might be too late to do it here, since rs_tstamp is
> +                * 15bit only. that means TSF extension has to be done within
> +                * 32.768usec = 32ms. it might be necessary to move this to the
> +                * interrupt handler, like it is done in madwifi.
> +                */

I'm trying to understand this a bit more and am confused. The TSF
timer is based on 1MHz clock so it has a resolution of 1 microsecond
(us). For 15 bits that would mean 32768 us so don't you mean it should
be done within 32.768 ms instead of usec (or us)?

> +               rxs.mactime = ath5k_extend_tsf(sc->ah, ds->ds_rxstat.rs_tstamp);
> +               rxs.flag |= RX_FLAG_TSFT;
> +
>                 rxs.freq = sc->curchan->freq;
>                 rxs.channel = sc->curchan->chan;
>                 rxs.phymode = sc->curmode;
>
>

Right now we only use mactime and even RX_FLAG_TSFT within mac80211 in
rx.c on ieee80211_rx_monitor() for IEEE80211_RADIOTAP_TSFT so right
now these changes would seem to do nothing. Should we be using this
for something else -- if so what is it?

  Luis
-
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