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/1/07, Jiri Slaby <jirislaby@xxxxxxxxx> wrote:
> 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?

The only case where this will trigger is if someone in the driver
called this on hardware not supported so it is intended.

Do you want to BUG() and also return?

> > +
> > +     /* 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;

  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