Re: Re: [GIT PULL] bcm43xx: Update B6PHY initialization
From: Michael Buesch <hidden>
Date: 2006-02-01 13:55:34
On Wednesday 01 February 2006 10:51, Danny van Dyk wrote:
John, please
git pull rsync://pitr.amd64.dev.gentoo.org/kugelfang/wireless-2.6.git
which will provide this changeset:
Danny van Dyk:
[bcm43xx] Sync bcm43xx_phy_initb6() with specsDanny, _please_ make sure to apply patches to the softmac _and_ the dscape branch. Otherwise patches will get lost. It is very important to keep both branches in sync. I know that this is annoying work, but we must stick with it, until we have a usable 80211 stack in the kernel. I also know that 99% of the people are not interrested in the dscape branch, but it is important to keep it working. The only way to find weaknesses in d80211 is to maintain drivers which use it. Besides that, you can also request a pull from me. The git snapshots are generated from my tree, so this is the fastest way to get your changes into the snapshots. But that's entirely your decision.
quoted hunk
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_phy.cb/drivers/net/wireless/bcm43xx/bcm43xx_phy.c index f5e7a6a..d90f207 100644--- a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c@@ -947,7 +947,7 @@ static void bcm43xx_phy_initb6(struct bc bcm43xx_radio_write16(bcm, 0x0050, 0x0020); if ((bcm->current_core->radio->manufact == 0x17F) && (bcm->current_core->radio->version == 0x2050) && - (bcm->current_core->radio->revision == 2)) { + (bcm->current_core->radio->revision <= 2)) { bcm43xx_radio_write16(bcm, 0x0050, 0x0020); bcm43xx_radio_write16(bcm, 0x005A, 0x0070); bcm43xx_radio_write16(bcm, 0x005B, 0x007B);@@ -984,10 +984,15 @@ static void bcm43xx_phy_initb6(struct bc bcm43xx_write16(bcm, 0x03E4, 0x0009); if (phy->type == BCM43xx_PHYTYPE_B) { bcm43xx_write16(bcm, 0x03E6, 0x8140); - bcm43xx_phy_write(bcm, 0x0016, 0x5410); - bcm43xx_phy_write(bcm, 0x0017, 0xA820); - bcm43xx_phy_write(bcm, 0x0007, 0x0062); - TODO();//TODO: calibrate stuff. + bcm43xx_phy_write(bcm, 0x0016, 0x0410); + bcm43xx_phy_write(bcm, 0x0017, 0x0820); + bcm43xx_phy_write(bcm, 0x0062, 0x0007); + (void) bcm43xx_radio_calibrationvalue(bcm); + bcm43xx_phy_lo_b_measure(bcm); + if (bcm->sprom.boardflags & BCM43xx_BFL_RSSI) { + bcm43xx_calc_nrssi_slope(bcm); + bcm43xx_calc_nrssi_threshold(bcm); + } bcm43xx_phy_init_pctl(bcm); } else bcm43xx_write16(bcm, 0x03E6, 0x0);diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_radio.cb/drivers/net/wireless/bcm43xx/bcm43xx_radio.c index 5ce6ace..3901aa9 100644--- a/drivers/net/wireless/bcm43xx/bcm43xx_radio.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_radio.c@@ -1184,7 +1184,7 @@ int bcm43xx_radio_set_interference_mitig return 0; } -static u16 bcm43xx_radio_calibrationvalue(struct bcm43xx_private *bcm) +u16 bcm43xx_radio_calibrationvalue(struct bcm43xx_private *bcm) { u16 reg, index, ret;diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_radio.hb/drivers/net/wireless/bcm43xx/bcm43xx_radio.h index 89fe292..a5d2e10 100644--- a/drivers/net/wireless/bcm43xx/bcm43xx_radio.h +++ b/drivers/net/wireless/bcm43xx/bcm43xx_radio.h@@ -89,5 +89,6 @@ void bcm43xx_nrssi_hw_update(struct bcm4 void bcm43xx_nrssi_mem_update(struct bcm43xx_private *bcm); void bcm43xx_radio_set_tx_iq(struct bcm43xx_private *bcm); +u16 bcm43xx_radio_calibrationvalue(struct bcm43xx_private *bcm); #endif /* BCM43xx_RADIO_H_ */-- Danny van Dyk <kugelfang-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org> Gentoo/AMD64 Project, Gentoo Scientific Project
-- Greetings Michael.
Attachments
- (unnamed) [application/pgp-signature] 189 bytes