On Fri, Mar 22, 2019 at 1:50 PM Johannes Berg <[email protected]> wrote:
>
> On Fri, 2019-03-22 at 21:46 +0100, Johannes Berg wrote:
> >
> > In effect, an existing
> >
> >       u32 freq;
> >
> > would become
> >
> >       u32 freq, freq_fractional;
> >
> > and we'd just treat the two as a 32.32 fixed point integer.
>
> Maybe easier would be to say
>
>         u32 freq;
>         u16 freq_partial_khz;
>
> and basically say
>
>         freq_khz = freq * 1000 + freq_partial_khz;
>
> Same reasoning and similar logic, but no need to do any sort of fixed
> point conversions.

I guess it's a tradeoff between leaving MHz-only drivers alone and
wrapping existing assignments and comparisons in maybe a macro to
extract the final KHz value. The current set of changes is about 150
lines in net/mac80211/ and net/wireless/ [1] with drivers/ being about
the same.

Adding the KHz part to center_freq, center_freq1, and rx_status->freq
may be fewer overall changes in mac80211 and cfg80211, and should be
none for existing drivers.

I'll give this a shot at some point when it comes time to rebase on
upstream wireless-testing.

[1] https://paste.debian.net/1074289/

Reply via email to