Search Linux Wireless

Re: [PATCH 5/7] ath5k: Move OFDM timings into a helper routine

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

 



On 11/01/2007 10:53 PM, Luis R. Rodriguez wrote:
> ** Resending after checkpatch.pl.. 
> 
> This move the OFDM timings on ath5k_hw_reset() onto a helper,
> ath5k_hw_write_ofdm_timings() to make code cleaner.
> 
> Changes to ath5k.h, hw.c
> Changes-licensed-under: ISC
> 
> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxx>
> ---
>  drivers/net/wireless/ath5k/hw.c |   83 ++++++++++++++++++++++++++-------------
>  1 files changed, 55 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath5k/hw.c b/drivers/net/wireless/ath5k/hw.c
> index 3f78d20..1b9c4f0 100644
> --- a/drivers/net/wireless/ath5k/hw.c
> +++ b/drivers/net/wireless/ath5k/hw.c
> @@ -458,6 +458,56 @@ void ath5k_hw_detach(struct ath5k_hw *ah)
>   */
>  
>  /**
> + * ath5k_hw_write_ofdm_timings - set OFDM timings on AR5212
> + *
> + * @ah: the &struct ath5k_hw
> + * @channel: the currently set channel upon reset
> + *
> + * Write the OFDM timings for the AR5212 upon reset. This is a helper for
> + * ath5k_hw_reset(). This seems to tune the PLL a specified frequency
> + * depending on the bandwidth of the channel.
> + *
> + */
> +static inline int ath5k_hw_write_ofdm_timings(struct ath5k_hw *ah,
> +	struct ieee80211_channel *channel)
> +{
> +	/* Get exponent and mantissa and set it */
> +	u32 coef_scaled, coef_exp, coef_man,
> +		ds_coef_exp, ds_coef_man, clock;
> +
> +	if (!(ah->ah_version == AR5K_AR5212) ||
> +		!(channel->val & CHANNEL_OFDM))
> +		BUG();

Note, that BUG can return (on configurations where !CONFIG_BUG). It is my fault
writing you it won't, sorry! Could you post a patch which will add return from
here and also from places where the BUG() is used in other places?

> +
> +	/* Seems there are two PLLs, one for baseband sampling and one
> +	 * for tuning. Tuning basebands are 40 MHz or 80MHz when in
> +	 * turbo. */
> +	clock = channel->val & CHANNEL_TURBO ? 80 : 40;
> +	coef_scaled = ((5 * (clock << 24)) / 2) /
> +	channel->freq;

thanks,
-- 
Jiri Slaby (jirislaby@xxxxxxxxx)
Faculty of Informatics, Masaryk University
-
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