On 8/4/07, Michael Buesch <[EMAIL PROTECTED]> wrote:
> So any suggestions on how to fix this?
> The problem is that I'm not sure why we calibrate the LO by these strange
> tables. Maybe we can fix this by dropping the tables and simply
> calibrate it for every possible attenuation.
> These tables have some relation to the hardware power control.
> So maybe we don't need to adjust the LO from the txpower routines
> at all, when using hwpctl? (Only on demand of the power vector).
I certainly can't claim to understand how the LO calibration is
supposed to work. I'm especially having a hard time understanding how
these LO tables (lo->with_padmix and lo->no_padmix) get built.
With that in mind, why can't we just make the table large enough for
an RFATT of 11?
It seems to work for me on a 4306....
Gmail-mangled patch follows (just to show what I'm talking about)
diff --git a/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_lo.h
b/drivers/net/wireless/bcm43xx-mac80211/b
index 377bda4..1d89fdd 100644
--- a/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_lo.h
+++ b/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_lo.h
@@ -26,7 +26,7 @@ struct bcm43xx_loctl {
* Use bcm43xx_get_lo_g_ctl() to retrieve a value from the lists.
*/
struct bcm43xx_txpower_lo_control {
-#define BCM43xx_NR_BB 9
+#define BCM43xx_NR_BB 12
#define BCM43xx_NR_RF 16
/* LO Control values, with PAD Mixer */
struct bcm43xx_loctl with_padmix[ BCM43xx_NR_BB ][ BCM43xx_NR_RF ];
diff --git a/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
b/drivers/net/wireless/bcm43xx-mac80211/
index 4db7c5c..8f35d33 100644
--- a/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
+++ b/drivers/net/wireless/bcm43xx-mac80211/bcm43xx_phy.c
@@ -181,12 +181,15 @@ static void generate_bbatt_list(struct bcm43xx_wldev *dev,
{ .att = 6, },
{ .att = 7, },
{ .att = 8, },
+ { .att = 9, },
+ { .att = 10, },
+ { .att = 11, },
};
list->list = bbatt_0;
list->len = ARRAY_SIZE(bbatt_0);
list->min_val = 0;
- list->max_val = 8;
+ list->max_val = 11;
}
static void bcm43xx_shm_clear_tssi(struct bcm43xx_wldev *dev)
--
Will Dyson
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev