aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/phy_n.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2015-11-18b43: move under broadcom vendor directoryKalle Valo1-6726/+0
Part of reorganising wireless drivers directory and Kconfig. Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2014-09-15b43: Implement PHY PLL resetRafał Miłecki1-1/+1
We should reset PLL after changing MAC frequency. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-08-25b43: N-PHY: support setting custom TX powerRafał Miłecki1-12/+72
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-08-25b43: N-PHY: add RF power tables for radio 0x2057 revs 9 & 14Rafał Miłecki1-3/+18
Don't write them as we don't have gains configured correctly yet. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-08-25b43: flush some writes on Broadcom MIPS SoCsRafał Miłecki1-3/+3
Access to PHY and radio registers is indirect on Broadcom hardware and it seems that addressing on some MIPS SoCs may require flushing. So far this problem was noticed on 0x4716 SoC only (marketing names: BCM4717, BCM4718). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-08-25b43: don't duplicate common PHY read/write opsRafał Miłecki1-16/+0
Most of the PHYs use the same way of accessing registers, so move that code to the shared place. An exception is G-PHY which sometimes access A-PHY regs and requires special handling. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-08-25b43: update flushing many writes performed in a rowRafał Miłecki1-0/+1
Flush radio writes as well and add some tiny optimizations (e.g. masksetting PHY reg involves reading it, so reset the counter). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-31b43: N-PHY: fix "Data bus error" while working in 5 GHzRafał Miłecki1-0/+3
When switching from one 5 GHz channel to another 5 GHz channel we need to make sure BPHY is still in a reset. However to access BPHY register we have to switch to 2 GHz mode for a moment. Otherwise this may result in "Data bus error" (noticed by Hauke with BCM43224 connected to the SoC). Reported-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-29b43: add support for BCM43131 chipset with N-PHY rev 17Rafał Miłecki1-1/+2
It contains radio 0x2057 rev 14 just like a BCM43217, so it doesn't require any magic. The main difference is that BCM4313 is 1x1:1. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-23b43: N-PHY: don't calculate values for TSSI if we can't transmitRafał Miłecki1-1/+2
This process requires sending some sample tone, so make sure we're allowed to transmit first. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-23b43: N-PHY: fix rev7+ typos at random placesRafał Miłecki1-9/+10
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-22b43: N-PHY: final fixes to rev7+ workaroundsRafał Miłecki1-13/+16
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-22b43: N-PHY: add rev7+ workarounds for radio revs 9 and 14Rafał Miłecki1-2/+77
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-22b43: N-PHY: allow applying separated workarounds per coreRafał Miłecki1-54/+71
Newer devices need different workarounds for cores 0 and 1. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-22b43: N-PHY: update generic rev7+ workaroundsRafał Miłecki1-41/+79
Add some missing ops and prepare for new devices support. This patch is a great stability improvement for BCM43217. Earlier Tenda W322E used to disconnect every 2 minutes (16 times over 30 minutes). With this fix I got it running for 4 hours (with iperf) without any disconnection. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-22b43: N-PHY: update digital filters setupRafał Miłecki1-7/+22
This fixes handling channel 14 and adds code for BCM43217. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-22b43: N-PHY: add helper for setting digital filtersRafał Miłecki1-17/+22
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-18b43: N-PHY: update spur avoidance to support newer devicesRafał Miłecki1-12/+31
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-18b43: use one shared function for setting MAC frequencyRafał Miłecki1-6/+1
By the way add few chipsets that were tracked with "wl" dumps. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-18b43: N-PHY: set band on every channel switchRafał Miłecki1-8/+8
Seems to be required by some hardware, wl does it every time. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-18b43: N-PHY: complete 0x2057 radio init calibrationRafał Miłecki1-9/+77
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-18b43: N-PHY: add tables for radio 0x2057 rev 14Rafał Miłecki1-2/+10
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-15b43: N-PHY: init and channel switching of radio 0x2057 rev 9Rafał Miłecki1-1/+46
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-15b43; N-PHY: write most of the missing code for revs 7+Rafał Miłecki1-38/+268
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-15b43: N-PHY: add placeholders for new devices supportRafał Miłecki1-54/+231
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-15b43: N-PHY: drop reg 0x1 access restriction on new PHY revsRafał Miłecki1-2/+2
Initialization of N-PHY radio revs 5 and 7 requires writing to 0x1. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-07b43: N-PHY: rework names & picking of TX gain tablesRafał Miłecki1-1/+11
This allows adding more revisions support, spotting lacking tables and unifies naming schema. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-01b43: N-PHY: complete generic support for 0x2057 radioRafał Miłecki1-8/+124
It doesn't include any device (radio revision) specific code yet, so it isn't really usable. As the commit says, it's just some generic code. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-07-01b43: N-PHY: fixes for radio 0x2057Rafał Miłecki1-11/+52
Enable initialization and update calibration code to fix: b43-phy0 ERROR: Radio 0x2057 rcal timeout b43-phy0 debug: Radio 0x2057 rccal timeout b43-phy0 debug: Radio 0x2057 rccal timeout b43-phy0 ERROR: Radio 0x2057 rcal timeout Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-06-25b43: N-PHY: update low-pass filter setupRafał Miłecki1-12/+19
Add support for external PA and clean code a bit. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-06-25b43: N-PHY: update code for sending sample toneRafał Miłecki1-19/+17
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-06-19b43: PHY: drop channel_type (we can get this info from chandef)Rafał Miłecki1-4/+7
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-06-19b43: PHY: drop is_40mhz (get width info from chandef)Rafał Miłecki1-27/+26
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-06-19b43: PHY: drop own channel_freq (get it from chandef when needed)Rafał Miłecki1-10/+14
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-05-29b43: N-PHY: optimize radio switching on/offRafał Miłecki1-2/+4
Broadcom's wl 6.30.223.141 has some optimizations for radios 0x205[67]. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-05-29b43: N-PHY: optimize init by doing some ops just onceRafał Miłecki1-9/+2
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-30b43: N-PHY: complete radio 0x2056 setupRafał Miłecki1-5/+27
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-22b43: N-PHY: enable forgotten write of hw power adjust tableRafał Miłecki1-2/+14
We've implemented table calculation, but forgot to enable writing it in power setup function. By the way document table layout. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-22b43: N-PHY: prepare for rev 7+ RSSI calibrationRafał Miłecki1-18/+54
Mostly just add place for future code Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-22b43: N-PHY: implement RF control INTC for revs 7+Rafał Miłecki1-0/+72
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-22b43: N-PHY: implement reading support for radio 0x2057Rafał Miłecki1-2/+5
Bit 0x200 has been noticed in the following log: radio_read(0x02ca) -> 0x0000 radio_write(0x00ca) <- 0x0080 Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-22b43: N-PHY: random updates and typo fixes all aroundRafał Miłecki1-9/+9
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-22b43: N-PHY: rev3+: complete workaroundsRafał Miłecki1-3/+84
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-04-09b43: Fix machine check error due to improper access of B43_MMIO_PSM_PHY_HDRRafał Miłecki1-7/+7
Register B43_MMIO_PSM_PHY_HDR is 16 bit one, so accessing it with 32b functions isn't safe. On my machine it causes delayed (!) CPU exception: Disabling lock debugging due to kernel taint mce: [Hardware Error]: CPU 0: Machine Check Exception: 4 Bank 4: b200000000070f0f mce: [Hardware Error]: TSC 164083803dc mce: [Hardware Error]: PROCESSOR 2:20fc2 TIME 1396650505 SOCKET 0 APIC 0 microcode 0 mce: [Hardware Error]: Run the above through 'mcelog --ascii' mce: [Hardware Error]: Machine check: Processor context corrupt Kernel panic - not syncing: Fatal machine check on current CPU Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff) Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> [2.6.35+] Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-10-18drivers: net: wireless: b43: Fix possible NULL ptr dereferenceFelipe Pena1-1/+2
On the ternary expression the 'e' variable could be NULL dereferenced, when b43_nphy_get_rf_ctl_over_rev7 function returns NULL. Signed-off-by: Felipe Pena <felipensp@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-04-23Merge branch 'master' of git://git.infradead.org/users/rafal/b43-nextJohn W. Linville1-300/+349
2013-04-23Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirelessJohn W. Linville1-1/+2
Conflicts: drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
2013-04-23b43: N-PHY: don't use deprecated b43_radio_foo16Rafał Miłecki1-59/+59
All radio ops are 16b (there is only 1 exception for reg 0x1), so we deprecated b43_radio_read16 and b43_radio_write16 long time ago. Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2013-04-23b43: N-PHY: move tables init function to tables fileRafał Miłecki1-12/+0
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2013-04-23b43: N-PHY: use defines for (re)storing VCM configRafał Miłecki1-5/+14
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>