* [PATCH 1/5] b43: N-PHY: fix infinite-loop-typo
@ 2010-10-22 15:43 Rafał Miłecki
2010-10-22 15:43 ` [PATCH 2/5] b43: N-PHY: fix 2055 radio init Rafał Miłecki
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Rafał Miłecki @ 2010-10-22 15:43 UTC (permalink / raw)
To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki
Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
drivers/net/wireless/b43/phy_n.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index dfec549..e0f2d12 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -2964,7 +2964,7 @@ static int b43_nphy_rev2_cal_rx_iq(struct b43_wldev *dev,
(2 - i));
}
- for (j = 0; i < 4; j++) {
+ for (j = 0; j < 4; j++) {
if (j < 3) {
cur_lna = lna[j];
cur_hpf1 = hpf1[j];
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/5] b43: N-PHY: fix 2055 radio init
2010-10-22 15:43 [PATCH 1/5] b43: N-PHY: fix infinite-loop-typo Rafał Miłecki
@ 2010-10-22 15:43 ` Rafał Miłecki
2010-10-22 15:43 ` [PATCH 3/5] b43: define known SPROM boardflags2 bits Rafał Miłecki
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Rafał Miłecki @ 2010-10-22 15:43 UTC (permalink / raw)
To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki
Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
drivers/net/wireless/b43/radio_2055.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/net/wireless/b43/radio_2055.c b/drivers/net/wireless/b43/radio_2055.c
index 1b53165..0d67715 100644
--- a/drivers/net/wireless/b43/radio_2055.c
+++ b/drivers/net/wireless/b43/radio_2055.c
@@ -244,7 +244,7 @@ static const struct b2055_inittab_entry b2055_inittab [] = {
[0xCB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[0xCC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[B2055_C1_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
- [0xCE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
+ [0xCE] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
[0xCF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[0xD0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[0xD1] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
@@ -256,7 +256,7 @@ static const struct b2055_inittab_entry b2055_inittab [] = {
[0xD7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[0xD8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[B2055_C2_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
- [0xDA] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
+ [0xDA] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, },
[0xDB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[0xDC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },
[0xDD] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, },
@@ -1299,7 +1299,7 @@ void b2055_upload_inittab(struct b43_wldev *dev,
bool ghz5, bool ignore_uploadflag)
{
const struct b2055_inittab_entry *e;
- unsigned int i;
+ unsigned int i, writes = 0;
u16 value;
for (i = 0; i < ARRAY_SIZE(b2055_inittab); i++) {
@@ -1312,6 +1312,8 @@ void b2055_upload_inittab(struct b43_wldev *dev,
else
value = e->ghz2;
b43_radio_write16(dev, i, value);
+ if (++writes % 4 == 0)
+ b43_read32(dev, B43_MMIO_MACCTL); /* flush */
}
}
}
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/5] b43: define known SPROM boardflags2 bits
2010-10-22 15:43 [PATCH 1/5] b43: N-PHY: fix infinite-loop-typo Rafał Miłecki
2010-10-22 15:43 ` [PATCH 2/5] b43: N-PHY: fix 2055 radio init Rafał Miłecki
@ 2010-10-22 15:43 ` Rafał Miłecki
2010-10-22 19:41 ` Gábor Stefanik
2010-10-22 15:43 ` [PATCH 4/5] b43: N-PHY: determine usage of radio regulatory workaround correctly Rafał Miłecki
2010-10-22 15:43 ` [PATCH 5/5] b43: N-PHY: improve 2055 radio initialization Rafał Miłecki
3 siblings, 1 reply; 8+ messages in thread
From: Rafał Miłecki @ 2010-10-22 15:43 UTC (permalink / raw)
To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki
Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
drivers/net/wireless/b43/b43.h | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
index 72821c4..9aad2ca 100644
--- a/drivers/net/wireless/b43/b43.h
+++ b/drivers/net/wireless/b43/b43.h
@@ -153,6 +153,19 @@
#define B43_BFH_FEM_BT 0x0040 /* has FEM and switch to share antenna
* with bluetooth */
+/* SPROM boardflags2_lo values */
+#define B43_BFL2_RXBB_INT_REG_DIS 0x0001 /* external RX BB regulator present */
+#define B43_BFL2_APLL_WAR 0x0002 /* alternative A-band PLL settings implemented */
+#define B43_BFL2_TXPWRCTRL_EN 0x0004 /* permits enabling TX Power Control */
+#define B43_BFL2_2X4_DIV 0x0008 /* 2x4 diversity switch */
+#define B43_BFL2_5G_PWRGAIN 0x0010 /* supports 5G band power gain */
+#define B43_BFL2_PCIEWAR_OVR 0x0020 /* overrides ASPM and Clkreq settings */
+#define B43_BFL2_CAESERS_BRD 0x0040 /* is Caesers board (unused) */
+#define B43_BFL2_BTC3WIRE 0x0080 /* used 3-wire bluetooth coexist */
+#define B43_BFL2_SKWRKFEM_BRD 0x0100 /* 4321mcm93 uses Skyworks FEM */
+#define B43_BFL2_SPUR_WAR 0x0200 /* has a workaround for clock-harmonic spurs */
+#define B43_BFL2_GPLL_WAR 0x0400 /* altenative G-band PLL settings implemented */
+
/* GPIO register offset, in both ChipCommon and PCI core. */
#define B43_GPIO_CONTROL 0x6c
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 4/5] b43: N-PHY: determine usage of radio regulatory workaround correctly
2010-10-22 15:43 [PATCH 1/5] b43: N-PHY: fix infinite-loop-typo Rafał Miłecki
2010-10-22 15:43 ` [PATCH 2/5] b43: N-PHY: fix 2055 radio init Rafał Miłecki
2010-10-22 15:43 ` [PATCH 3/5] b43: define known SPROM boardflags2 bits Rafał Miłecki
@ 2010-10-22 15:43 ` Rafał Miłecki
2010-10-22 15:43 ` [PATCH 5/5] b43: N-PHY: improve 2055 radio initialization Rafał Miłecki
3 siblings, 0 replies; 8+ messages in thread
From: Rafał Miłecki @ 2010-10-22 15:43 UTC (permalink / raw)
To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki
Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
drivers/net/wireless/b43/phy_n.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index e0f2d12..c22dbfb 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -191,7 +191,8 @@ static void b43_radio_init2055_post(struct b43_wldev *dev)
binfo->type != 0x46D ||
binfo->rev < 0x41);
else
- workaround = ((sprom->boardflags_hi & B43_BFH_NOPA) == 0);
+ workaround =
+ !(sprom->boardflags2_lo & B43_BFL2_RXBB_INT_REG_DIS);
b43_radio_mask(dev, B2055_MASTER1, 0xFFF3);
if (workaround) {
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/5] b43: N-PHY: improve 2055 radio initialization
2010-10-22 15:43 [PATCH 1/5] b43: N-PHY: fix infinite-loop-typo Rafał Miłecki
` (2 preceding siblings ...)
2010-10-22 15:43 ` [PATCH 4/5] b43: N-PHY: determine usage of radio regulatory workaround correctly Rafał Miłecki
@ 2010-10-22 15:43 ` Rafał Miłecki
3 siblings, 0 replies; 8+ messages in thread
From: Rafał Miłecki @ 2010-10-22 15:43 UTC (permalink / raw)
To: linux-wireless, John W. Linville; +Cc: b43-dev, Rafał Miłecki
1) Upload 5 GHz values when needed.
2) Do not upload all values on first init. Follow wl.
Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
---
drivers/net/wireless/b43/phy_n.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index c22dbfb..6facb8a 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -241,10 +241,13 @@ static void b43_radio_init2055_post(struct b43_wldev *dev)
static void b43_radio_init2055(struct b43_wldev *dev)
{
b43_radio_init2055_pre(dev);
- if (b43_status(dev) < B43_STAT_INITIALIZED)
- b2055_upload_inittab(dev, 0, 1);
- else
- b2055_upload_inittab(dev, 0/*FIXME on 5ghz band*/, 0);
+ if (b43_status(dev) < B43_STAT_INITIALIZED) {
+ /* Follow wl, not specs. Do not force uploading all regs */
+ b2055_upload_inittab(dev, 0, 0);
+ } else {
+ bool ghz5 = b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ;
+ b2055_upload_inittab(dev, ghz5, 0);
+ }
b43_radio_init2055_post(dev);
}
--
1.7.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/5] b43: define known SPROM boardflags2 bits
2010-10-22 15:43 ` [PATCH 3/5] b43: define known SPROM boardflags2 bits Rafał Miłecki
@ 2010-10-22 19:41 ` Gábor Stefanik
2010-10-22 20:08 ` Larry Finger
0 siblings, 1 reply; 8+ messages in thread
From: Gábor Stefanik @ 2010-10-22 19:41 UTC (permalink / raw)
To: b43-dev, Larry Finger; +Cc: linux-wireless, John W. Linville
2010/10/22 Rafa? Mi?ecki <zajec5@gmail.com>:
> Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
> ---
> ?drivers/net/wireless/b43/b43.h | ? 13 +++++++++++++
> ?1 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
> index 72821c4..9aad2ca 100644
> --- a/drivers/net/wireless/b43/b43.h
> +++ b/drivers/net/wireless/b43/b43.h
> @@ -153,6 +153,19 @@
> ?#define B43_BFH_FEM_BT ? ? ? ? ? ? ? ? 0x0040 ?/* has FEM and switch to share antenna
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? * with bluetooth */
>
> +/* SPROM boardflags2_lo values */
> +#define B43_BFL2_RXBB_INT_REG_DIS ? ? ?0x0001 ?/* external RX BB regulator present */
> +#define B43_BFL2_APLL_WAR ? ? ? ? ? ? ?0x0002 ?/* alternative A-band PLL settings implemented */
> +#define B43_BFL2_TXPWRCTRL_EN ? ? ? ? ?0x0004 ?/* permits enabling TX Power Control */
> +#define B43_BFL2_2X4_DIV ? ? ? ? ? ? ? 0x0008 ?/* 2x4 diversity switch */
> +#define B43_BFL2_5G_PWRGAIN ? ? ? ? ? ?0x0010 ?/* supports 5G band power gain */
> +#define B43_BFL2_PCIEWAR_OVR ? ? ? ? ? 0x0020 ?/* overrides ASPM and Clkreq settings */
> +#define B43_BFL2_CAESERS_BRD ? ? ? ? ? 0x0040 ?/* is Caesers board (unused) */
I'm almost sure this is a typo in the specs.
Larry?
> +#define B43_BFL2_BTC3WIRE ? ? ? ? ? ? ?0x0080 ?/* used 3-wire bluetooth coexist */
> +#define B43_BFL2_SKWRKFEM_BRD ? ? ? ? ?0x0100 ?/* 4321mcm93 uses Skyworks FEM */
> +#define B43_BFL2_SPUR_WAR ? ? ? ? ? ? ?0x0200 ?/* has a workaround for clock-harmonic spurs */
> +#define B43_BFL2_GPLL_WAR ? ? ? ? ? ? ?0x0400 ?/* altenative G-band PLL settings implemented */
> +
> ?/* GPIO register offset, in both ChipCommon and PCI core. */
> ?#define B43_GPIO_CONTROL ? ? ? ? ? ? ? 0x6c
>
> --
> 1.7.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>
--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/5] b43: define known SPROM boardflags2 bits
2010-10-22 19:41 ` Gábor Stefanik
@ 2010-10-22 20:08 ` Larry Finger
2010-10-22 20:42 ` Gábor Stefanik
0 siblings, 1 reply; 8+ messages in thread
From: Larry Finger @ 2010-10-22 20:08 UTC (permalink / raw)
To: Gábor Stefanik; +Cc: b43-dev, linux-wireless, John W. Linville
On 10/22/2010 02:41 PM, G?bor Stefanik wrote:
> 2010/10/22 Rafa? Mi?ecki <zajec5@gmail.com>:
>> Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
>> ---
>> drivers/net/wireless/b43/b43.h | 13 +++++++++++++
>> 1 files changed, 13 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
>> index 72821c4..9aad2ca 100644
>> --- a/drivers/net/wireless/b43/b43.h
>> +++ b/drivers/net/wireless/b43/b43.h
>> @@ -153,6 +153,19 @@
>> #define B43_BFH_FEM_BT 0x0040 /* has FEM and switch to share antenna
>> * with bluetooth */
>>
>> +/* SPROM boardflags2_lo values */
>> +#define B43_BFL2_RXBB_INT_REG_DIS 0x0001 /* external RX BB regulator present */
>> +#define B43_BFL2_APLL_WAR 0x0002 /* alternative A-band PLL settings implemented */
>> +#define B43_BFL2_TXPWRCTRL_EN 0x0004 /* permits enabling TX Power Control */
>> +#define B43_BFL2_2X4_DIV 0x0008 /* 2x4 diversity switch */
>> +#define B43_BFL2_5G_PWRGAIN 0x0010 /* supports 5G band power gain */
>> +#define B43_BFL2_PCIEWAR_OVR 0x0020 /* overrides ASPM and Clkreq settings */
>> +#define B43_BFL2_CAESERS_BRD 0x0040 /* is Caesers board (unused) */
>
> I'm almost sure this is a typo in the specs.
>
> Larry?
Nope - it is Cae..., not Cea.... Whatever name we use is just a placeholder as
that bit is never used.
Larry
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/5] b43: define known SPROM boardflags2 bits
2010-10-22 20:08 ` Larry Finger
@ 2010-10-22 20:42 ` Gábor Stefanik
0 siblings, 0 replies; 8+ messages in thread
From: Gábor Stefanik @ 2010-10-22 20:42 UTC (permalink / raw)
To: Larry Finger; +Cc: b43-dev, linux-wireless, John W. Linville
2010/10/22 Larry Finger <Larry.Finger@lwfinger.net>:
> On 10/22/2010 02:41 PM, G?bor Stefanik wrote:
>> 2010/10/22 Rafa? Mi?ecki <zajec5@gmail.com>:
>>> Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
>>> ---
>>> ?drivers/net/wireless/b43/b43.h | ? 13 +++++++++++++
>>> ?1 files changed, 13 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h
>>> index 72821c4..9aad2ca 100644
>>> --- a/drivers/net/wireless/b43/b43.h
>>> +++ b/drivers/net/wireless/b43/b43.h
>>> @@ -153,6 +153,19 @@
>>> ?#define B43_BFH_FEM_BT ? ? ? ? ? ? ? ? 0x0040 ?/* has FEM and switch to share antenna
>>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? * with bluetooth */
>>>
>>> +/* SPROM boardflags2_lo values */
>>> +#define B43_BFL2_RXBB_INT_REG_DIS ? ? ?0x0001 ?/* external RX BB regulator present */
>>> +#define B43_BFL2_APLL_WAR ? ? ? ? ? ? ?0x0002 ?/* alternative A-band PLL settings implemented */
>>> +#define B43_BFL2_TXPWRCTRL_EN ? ? ? ? ?0x0004 ?/* permits enabling TX Power Control */
>>> +#define B43_BFL2_2X4_DIV ? ? ? ? ? ? ? 0x0008 ?/* 2x4 diversity switch */
>>> +#define B43_BFL2_5G_PWRGAIN ? ? ? ? ? ?0x0010 ?/* supports 5G band power gain */
>>> +#define B43_BFL2_PCIEWAR_OVR ? ? ? ? ? 0x0020 ?/* overrides ASPM and Clkreq settings */
>>> +#define B43_BFL2_CAESERS_BRD ? ? ? ? ? 0x0040 ?/* is Caesers board (unused) */
>>
>> I'm almost sure this is a typo in the specs.
>>
>> Larry?
>
> Nope - it is Cae..., not Cea.... Whatever name we use is just a placeholder as
> that bit is never used.
No, I mean the "ser" part.
>
> Larry
>
>
--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2010-10-22 20:42 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-22 15:43 [PATCH 1/5] b43: N-PHY: fix infinite-loop-typo Rafał Miłecki
2010-10-22 15:43 ` [PATCH 2/5] b43: N-PHY: fix 2055 radio init Rafał Miłecki
2010-10-22 15:43 ` [PATCH 3/5] b43: define known SPROM boardflags2 bits Rafał Miłecki
2010-10-22 19:41 ` Gábor Stefanik
2010-10-22 20:08 ` Larry Finger
2010-10-22 20:42 ` Gábor Stefanik
2010-10-22 15:43 ` [PATCH 4/5] b43: N-PHY: determine usage of radio regulatory workaround correctly Rafał Miłecki
2010-10-22 15:43 ` [PATCH 5/5] b43: N-PHY: improve 2055 radio initialization Rafał Miłecki
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).