* [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch @ 2010-02-04 20:57 Rafał Miłecki 2010-02-05 3:24 ` Larry Finger 0 siblings, 1 reply; 9+ messages in thread From: Rafał Miłecki @ 2010-02-04 20:57 UTC (permalink / raw) To: Gábor Stefanik, linux-wireless, John W. Linville Cc: bcm43xx-dev, Rafał Miłecki [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 829 bytes --] --- Gábor: I think you missed specs here. Could you check whole routine just for sure, please? I don't understand whole radio and chanspec magic yet. --- drivers/net/wireless/b43/phy_lp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 185219e..61009ee 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, if (err) return err; lpphy_set_analog_filter(dev, new_channel); - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); } + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); lpphy->channel = new_channel; b43_write16(dev, B43_MMIO_CHANNEL, new_channel); -- 1.6.4.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-04 20:57 [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch Rafał Miłecki @ 2010-02-05 3:24 ` Larry Finger 2010-02-05 16:27 ` Gábor Stefanik 2010-02-05 16:41 ` Gábor Stefanik 0 siblings, 2 replies; 9+ messages in thread From: Larry Finger @ 2010-02-05 3:24 UTC (permalink / raw) To: Rafał Miłecki Cc: Gábor Stefanik, linux-wireless, John W. Linville, bcm43xx-dev On 02/04/2010 02:57 PM, Rafał Miłecki wrote: > --- > Gábor: I think you missed specs here. Could you check whole routine just for > sure, please? I don't understand whole radio and chanspec magic yet. > --- > drivers/net/wireless/b43/phy_lp.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c > index 185219e..61009ee 100644 > --- a/drivers/net/wireless/b43/phy_lp.c > +++ b/drivers/net/wireless/b43/phy_lp.c > @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, > if (err) > return err; > lpphy_set_analog_filter(dev, new_channel); > - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); > } > + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); > > lpphy->channel = new_channel; > b43_write16(dev, B43_MMIO_CHANNEL, new_channel); Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be outside the if statement. I changed the spec a little. It used to test "radio enabled", but I have found that is always true for our driver. Larry ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-05 3:24 ` Larry Finger @ 2010-02-05 16:27 ` Gábor Stefanik 2010-02-06 0:06 ` Larry Finger 2010-02-05 16:41 ` Gábor Stefanik 1 sibling, 1 reply; 9+ messages in thread From: Gábor Stefanik @ 2010-02-05 16:27 UTC (permalink / raw) To: Larry Finger Cc: Rafał Miłecki, linux-wireless, John W. Linville, bcm43xx-dev On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: > On 02/04/2010 02:57 PM, Rafał Miłecki wrote: >> --- >> Gábor: I think you missed specs here. Could you check whole routine just for >> sure, please? I don't understand whole radio and chanspec magic yet. >> --- >> drivers/net/wireless/b43/phy_lp.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c >> index 185219e..61009ee 100644 >> --- a/drivers/net/wireless/b43/phy_lp.c >> +++ b/drivers/net/wireless/b43/phy_lp.c >> @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, >> if (err) >> return err; >> lpphy_set_analog_filter(dev, new_channel); >> - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >> } >> + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >> >> lpphy->channel = new_channel; >> b43_write16(dev, B43_MMIO_CHANNEL, new_channel); > > Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be > outside the if statement. I changed the spec a little. It used to test "radio > enabled", but I have found that is always true for our driver. > > Larry > > Isn't set_analog_filter() rev0/1-specific? -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-05 16:27 ` Gábor Stefanik @ 2010-02-06 0:06 ` Larry Finger 2010-02-06 19:24 ` Gábor Stefanik 0 siblings, 1 reply; 9+ messages in thread From: Larry Finger @ 2010-02-06 0:06 UTC (permalink / raw) To: Gábor Stefanik Cc: Rafał Miłecki, linux-wireless, John W. Linville, bcm43xx-dev On 02/05/2010 10:27 AM, Gábor Stefanik wrote: > On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: >> On 02/04/2010 02:57 PM, Rafał Miłecki wrote: >>> --- >>> Gábor: I think you missed specs here. Could you check whole routine just for >>> sure, please? I don't understand whole radio and chanspec magic yet. >>> --- >>> drivers/net/wireless/b43/phy_lp.c | 2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c >>> index 185219e..61009ee 100644 >>> --- a/drivers/net/wireless/b43/phy_lp.c >>> +++ b/drivers/net/wireless/b43/phy_lp.c >>> @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, >>> if (err) >>> return err; >>> lpphy_set_analog_filter(dev, new_channel); >>> - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>> } >>> + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>> >>> lpphy->channel = new_channel; >>> b43_write16(dev, B43_MMIO_CHANNEL, new_channel); >> >> Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be >> outside the if statement. I changed the spec a little. It used to test "radio >> enabled", but I have found that is always true for our driver. >> >> Larry >> >> > > Isn't set_analog_filter() rev0/1-specific? The new routines are described in http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxFilterInit http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxDigFiltUcodeRev2 The revised routines are: http://bcm-v4.sipsolutions.net/802.11/PHY/LP/SetChanSpecLPPHY http://bcm-v4.sipsolutions.net/802.11/PHY/LP/PR41573 Larry ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-06 0:06 ` Larry Finger @ 2010-02-06 19:24 ` Gábor Stefanik 0 siblings, 0 replies; 9+ messages in thread From: Gábor Stefanik @ 2010-02-06 19:24 UTC (permalink / raw) To: Larry Finger Cc: Rafał Miłecki, linux-wireless, John W. Linville, bcm43xx-dev On Sat, Feb 6, 2010 at 1:06 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: > On 02/05/2010 10:27 AM, Gábor Stefanik wrote: >> On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: >>> On 02/04/2010 02:57 PM, Rafał Miłecki wrote: >>>> --- >>>> Gábor: I think you missed specs here. Could you check whole routine just for >>>> sure, please? I don't understand whole radio and chanspec magic yet. >>>> --- >>>> drivers/net/wireless/b43/phy_lp.c | 2 +- >>>> 1 files changed, 1 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c >>>> index 185219e..61009ee 100644 >>>> --- a/drivers/net/wireless/b43/phy_lp.c >>>> +++ b/drivers/net/wireless/b43/phy_lp.c >>>> @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, >>>> if (err) >>>> return err; >>>> lpphy_set_analog_filter(dev, new_channel); >>>> - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>>> } >>>> + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>>> >>>> lpphy->channel = new_channel; >>>> b43_write16(dev, B43_MMIO_CHANNEL, new_channel); >>> >>> Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be >>> outside the if statement. I changed the spec a little. It used to test "radio >>> enabled", but I have found that is always true for our driver. >>> >>> Larry >>> >>> >> >> Isn't set_analog_filter() rev0/1-specific? > > The new routines are described in > > http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxFilterInit > > http://bcm-v4.sipsolutions.net/802.11/PHY/LP/TxDigFiltUcodeRev2 > > The revised routines are: > > http://bcm-v4.sipsolutions.net/802.11/PHY/LP/SetChanSpecLPPHY > > http://bcm-v4.sipsolutions.net/802.11/PHY/LP/PR41573 > > Larry > > Note to implementors: Chanspec is broadcrap, please do NOT use in b43. Use a struct if you need the extra parameters contained in chanspec. -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-05 3:24 ` Larry Finger 2010-02-05 16:27 ` Gábor Stefanik @ 2010-02-05 16:41 ` Gábor Stefanik 2010-02-05 18:09 ` Larry Finger 1 sibling, 1 reply; 9+ messages in thread From: Gábor Stefanik @ 2010-02-05 16:41 UTC (permalink / raw) To: Larry Finger Cc: Rafał Miłecki, linux-wireless, John W. Linville, bcm43xx-dev On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: > On 02/04/2010 02:57 PM, Rafał Miłecki wrote: >> --- >> Gábor: I think you missed specs here. Could you check whole routine just for >> sure, please? I don't understand whole radio and chanspec magic yet. >> --- >> drivers/net/wireless/b43/phy_lp.c | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c >> index 185219e..61009ee 100644 >> --- a/drivers/net/wireless/b43/phy_lp.c >> +++ b/drivers/net/wireless/b43/phy_lp.c >> @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, >> if (err) >> return err; >> lpphy_set_analog_filter(dev, new_channel); >> - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >> } >> + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >> >> lpphy->channel = new_channel; >> b43_write16(dev, B43_MMIO_CHANNEL, new_channel); > > Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be > outside the if statement. I changed the spec a little. It used to test "radio > enabled", but I have found that is always true for our driver. > > Larry > > Isn't set_analog_filter() rev0/1-specific? -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-05 16:41 ` Gábor Stefanik @ 2010-02-05 18:09 ` Larry Finger 2010-02-05 18:46 ` Gábor Stefanik 0 siblings, 1 reply; 9+ messages in thread From: Larry Finger @ 2010-02-05 18:09 UTC (permalink / raw) To: Gábor Stefanik Cc: Rafał Miłecki, linux-wireless, John W. Linville, bcm43xx-dev On 02/05/2010 10:41 AM, Gábor Stefanik wrote: > On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: >> On 02/04/2010 02:57 PM, Rafał Miłecki wrote: >>> --- >>> Gábor: I think you missed specs here. Could you check whole routine just for >>> sure, please? I don't understand whole radio and chanspec magic yet. >>> --- >>> drivers/net/wireless/b43/phy_lp.c | 2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c >>> index 185219e..61009ee 100644 >>> --- a/drivers/net/wireless/b43/phy_lp.c >>> +++ b/drivers/net/wireless/b43/phy_lp.c >>> @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, >>> if (err) >>> return err; >>> lpphy_set_analog_filter(dev, new_channel); >>> - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>> } >>> + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>> >>> lpphy->channel = new_channel; >>> b43_write16(dev, B43_MMIO_CHANNEL, new_channel); >> >> Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be >> outside the if statement. I changed the spec a little. It used to test "radio >> enabled", but I have found that is always true for our driver. >> >> Larry >> >> > > Isn't set_analog_filter() rev0/1-specific? It was in the 4.174.64.19 driver that I RE'd when you wrote the LP PHY code. That as changed in 5.10.56.46, which I am now doing. It will take me a while to complete the new routine "LP PHY TX Filter Init" and a routine that it calls. Certainly, there is no hurry that these changes be made. Whenever you or Rafał have time. There is no guarantee that these changes will have any effect on the LP PHY operations. Hitting a moving target is not easy. Larry ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-05 18:09 ` Larry Finger @ 2010-02-05 18:46 ` Gábor Stefanik 2010-02-05 19:19 ` Larry Finger 0 siblings, 1 reply; 9+ messages in thread From: Gábor Stefanik @ 2010-02-05 18:46 UTC (permalink / raw) To: Larry Finger Cc: Rafał Miłecki, linux-wireless, John W. Linville, bcm43xx-dev On Fri, Feb 5, 2010 at 7:09 PM, Larry Finger <Larry.Finger@lwfinger.net> wrote: > On 02/05/2010 10:41 AM, Gábor Stefanik wrote: >> On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: >>> On 02/04/2010 02:57 PM, Rafał Miłecki wrote: >>>> --- >>>> Gábor: I think you missed specs here. Could you check whole routine just for >>>> sure, please? I don't understand whole radio and chanspec magic yet. >>>> --- >>>> drivers/net/wireless/b43/phy_lp.c | 2 +- >>>> 1 files changed, 1 insertions(+), 1 deletions(-) >>>> >>>> diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c >>>> index 185219e..61009ee 100644 >>>> --- a/drivers/net/wireless/b43/phy_lp.c >>>> +++ b/drivers/net/wireless/b43/phy_lp.c >>>> @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, >>>> if (err) >>>> return err; >>>> lpphy_set_analog_filter(dev, new_channel); >>>> - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>>> } >>>> + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>>> >>>> lpphy->channel = new_channel; >>>> b43_write16(dev, B43_MMIO_CHANNEL, new_channel); >>> >>> Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be >>> outside the if statement. I changed the spec a little. It used to test "radio >>> enabled", but I have found that is always true for our driver. >>> >>> Larry >>> >>> >> >> Isn't set_analog_filter() rev0/1-specific? > > It was in the 4.174.64.19 driver that I RE'd when you wrote the LP PHY code. > That as changed in 5.10.56.46, which I am now doing. It will take me a while to > complete the new routine "LP PHY TX Filter Init" and a routine that it calls. > > Certainly, there is no hurry that these changes be made. Whenever you or Rafał > have time. There is no guarantee that these changes will have any effect on the > LP PHY operations. Hitting a moving target is not easy. > > Larry > Just out of curiosity, is 5.10.56.46 available anywhere (for firmware reasons)? -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch 2010-02-05 18:46 ` Gábor Stefanik @ 2010-02-05 19:19 ` Larry Finger 0 siblings, 0 replies; 9+ messages in thread From: Larry Finger @ 2010-02-05 19:19 UTC (permalink / raw) To: Gábor Stefanik Cc: Rafał Miłecki, linux-wireless, John W. Linville, bcm43xx-dev On 02/05/2010 12:46 PM, Gábor Stefanik wrote: > On Fri, Feb 5, 2010 at 7:09 PM, Larry Finger <Larry.Finger@lwfinger.net> wrote: >> On 02/05/2010 10:41 AM, Gábor Stefanik wrote: >>> On Fri, Feb 5, 2010 at 4:24 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote: >>>> On 02/04/2010 02:57 PM, Rafał Miłecki wrote: >>>>> --- >>>>> Gábor: I think you missed specs here. Could you check whole routine just for >>>>> sure, please? I don't understand whole radio and chanspec magic yet. >>>>> --- >>>>> drivers/net/wireless/b43/phy_lp.c | 2 +- >>>>> 1 files changed, 1 insertions(+), 1 deletions(-) >>>>> >>>>> diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c >>>>> index 185219e..61009ee 100644 >>>>> --- a/drivers/net/wireless/b43/phy_lp.c >>>>> +++ b/drivers/net/wireless/b43/phy_lp.c >>>>> @@ -2655,8 +2655,8 @@ static int b43_lpphy_op_switch_channel(struct b43_wldev *dev, >>>>> if (err) >>>>> return err; >>>>> lpphy_set_analog_filter(dev, new_channel); >>>>> - lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>>>> } >>>>> + lpphy_adjust_gain_table(dev, channel2freq_lp(new_channel)); >>>>> >>>>> lpphy->channel = new_channel; >>>>> b43_write16(dev, B43_MMIO_CHANNEL, new_channel); >>>> >>>> Both the lpphy_set_analog_filter() and lpphy_adjust_gain_table() calls should be >>>> outside the if statement. I changed the spec a little. It used to test "radio >>>> enabled", but I have found that is always true for our driver. >>>> >>>> Larry >>>> >>>> >>> >>> Isn't set_analog_filter() rev0/1-specific? >> >> It was in the 4.174.64.19 driver that I RE'd when you wrote the LP PHY code. >> That as changed in 5.10.56.46, which I am now doing. It will take me a while to >> complete the new routine "LP PHY TX Filter Init" and a routine that it calls. >> >> Certainly, there is no hurry that these changes be made. Whenever you or Rafał >> have time. There is no guarantee that these changes will have any effect on the >> LP PHY operations. Hitting a moving target is not easy. >> >> Larry >> > > Just out of curiosity, is 5.10.56.46 available anywhere (for firmware reasons)? I'm not sure what the driver version is, but a file with 508 ucode dated 6/26/09 is found at: http://www.linksysbycisco.com/gpl/wrt610n_v2.00.00.05_us.tar.gz The binaries are in directory wrt610n_v2.00.00.05_us/release/src/wl/linux/. I used Daniel Lenski's script names b43_fwcutter.py can extract the firmware from wl_apsta.o. Included are ucode_2w20 - Rev 20 802.11 cores have an SSLPN PHY. I'm still looking for a file with 5XX firmware that is not a huge download. This file contains everything needed to build the firmware for a WRT610N AP and is 356 MB. If anyone knows of a smaller file, please let me know. Larry ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-02-06 19:24 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-02-04 20:57 [RFC][PATCH] b43: LP-PHY: always adjust gain table on channel switch Rafał Miłecki 2010-02-05 3:24 ` Larry Finger 2010-02-05 16:27 ` Gábor Stefanik 2010-02-06 0:06 ` Larry Finger 2010-02-06 19:24 ` Gábor Stefanik 2010-02-05 16:41 ` Gábor Stefanik 2010-02-05 18:09 ` Larry Finger 2010-02-05 18:46 ` Gábor Stefanik 2010-02-05 19:19 ` Larry Finger
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).