summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev
Commit message (Collapse)AuthorAgeFilesLines
* Revert AccessWidth/BitOffset support for AcpiHwWrite() and AcpiHwRead() forjkim2016-04-301-195/+30
| | | | | | | | | | | | | | | now. The following upstream commits are reverted from hwregs.c: https://github.com/acpica/acpica/commit/96ece05 https://github.com/acpica/acpica/commit/3d8583a https://github.com/acpica/acpica/commit/48eea5e https://github.com/acpica/acpica/commit/0a212c3 https://github.com/acpica/acpica/commit/41f6aef https://github.com/acpica/acpica/commit/26434b9 https://github.com/acpica/acpica/commit/c23034a https://github.com/acpica/acpica/commit/c49a751 Note this commit will be reverted when the upstream fixes the code properly.
* Fix build without ACPI_DEBUG.jkim2016-04-271-0/+1
|
* Merge ACPICA 20160422.jkim2016-04-27334-12777/+19023
|\
* | [rtwn] add rtwn firmware.adrian2015-12-313-0/+738
| | | | | | | | Submitted by: kevlo
* | Add initial ar9300 HAL support for the spectral scan mode.adrian2015-12-023-9/+29
| |
* | Adjust a comment; we now support these embedded boards!adrian2015-12-011-1/+1
| |
* | Fix the buildngie2015-11-301-0/+2
| | | | | | | | | | | | ichan is only used if AH_DEBUG_ALQ if defined Pointyhat to: adrian
* | fix ht/40 configuration for ar9331 (hornet).adrian2015-11-301-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The synth programming here requires the real centre frequency, which for HT20 channels is the normal channel, but HT40 is /not/ the primary channel. Everything else was using 'freq', which is the correct centre frequency, but the hornet config was using 'ichan' to do the lookup which was also the primary channel. So, modify the HAL call that does the mapping to take a frequency in MHz and return the channel number. Tested: * Carambola 2, AR9331, tested both HT/20 and HT/40 operation.
* | add missing initvals.adrian2015-11-291-0/+1420
| | | | | | | | Sorry y'all.
* | Add initial support for the QCA953x SoC (honeybee) wifi.adrian2015-11-298-41/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a 2x2 2GHz 802.11n part. It works enough at the moment to bring up, scan and associate. I haven't started using this as a day to day AP. The specifics: * add honeybee initvals * add in changes; a mix from the QCA HAL and ath9k; * fix a bug in AR_SREV_AR9580_10_OR_LATER(), which is only used for one capability check and we don't even implement it - so it's a big no-op. Shady things: * ath9k has the "platform data" define the 25/40MHz clock. This HAL .. doesn't. Honeybee gets hard-coded to 25MHz which it likely shouldn't be. I'll have to go and identify/fix those. Tested: * Qualcomm Atheros AP143 reference design board. Obtained from: Qualcomm Atheros; Linux ath9k
* | u32 -> uint32_t.adrian2015-11-291-3/+3
| |
* | [ath_hal] add AR9461 (jupiter) 2.1 support.adrian2015-11-294-9/+1583
| | | | | | | | Obtained from: Linux ath9k
* | ath(4): begin fleshing out a "reset type" extension to force cold/warn resets.adrian2015-11-094-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now the only way to force a cold reset is: * The HAL itself detects it's needed, or * The sysctl, setting all resets to be cold. Trouble is, cold resets take quite a bit longer than warm resets. However, there are situations where a cold reset would be nice. Specifically, after a stuck beacon, BB/MAC hang, stuck calibration results, etc. The vendor HAL has a separate method to set the reset reason (which is how HAL_RESET_BBPANIC gets set) which informs the HAL during the reset path why it occured. This is almost but not quite the same; I may eventually unify both approaches in the future. This commit just extends HAL_RESET_TYPE to include both status (eg BBPANIC) and type (eg do COLD.) None of the HAL code uses it yet though; that'll come later. It also is a big no-op in each HAL - I need to go teach each of the HALs about cold/warm reset through this path.
* | Flip on fast frames support for AR5416 and AR9300 series NICs.adrian2015-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was off because the net80211 aggregation code was using the same state pointers for both fast frames and ampdu tx support which led to some pretty unfortunate panic-y behaviour. Now that net80211 doesn't panic, let's flip this back on. It doesn't (yet) do the horrific sounding thing of A-MPDU aggregates of fast frames; that'll come next. It's a pre-requisite to supporting AMSDU + AMPDU anyway, which actually speeds things up quite considerably (think packing lots of little ACK frames into a single AMSDU.) Tested: * QCA955x SoC, AP mode * AR5416, STA mode * AR9170, STA mode (with local fast frame patches)
* | Add an initial driver for the AR9170 series draft-11n hardware fromadrian2015-09-263-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Atheros. Thanks to OpenBSD for providing a driver based on the original Atheros open source driver circa 2008. This uses the early, pre-carl9170 atheros provided firmware. It only supports 11bg at the moment. I've not tested it with 11a (and so the TX rate control logic may be slightly wrong!) so if you do have the dual-band version of this hardware please do let me know. Tested: * AR9170, TP-Link WN821N 2GHz. TODO: * Hook this up to a non-module build.
* | Fix compilation error on gcc-5.2.0 - it now warns on non-paranthen'edadrian2015-08-301-2/+2
| | | | | | | | | | | | | | | | logical negation when used in this fashion. Tested: * compile only
* | Merge ACPICA 20150818.jkim2015-08-2669-658/+1038
| |
* | Import OpenBSD's iwm WiFi driver for Intel 3160/7260/7265.rpaulo2015-08-084-0/+45566
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are still several bugs, but I've been using it for a while now. Thanks to all the testers and to Adrian for his help with this driver. This driver isn't connected to the build yet, but it will be soon. There's no MFC planned because the driver isn't very stable yet. Reviewed by: adrian Obtained from: https://github.com/rpaulo/iwm Tested by: adrian, gjb, dumbbell (others that I forgot). Relnotes: yes
* | Add a missing method - ath_hal_settsf64().adrian2015-08-051-0/+13
| | | | | | | | This is required for TDMA slave mode.
* | Add TXOP enforce support to the AR9300 HAL.adrian2015-08-051-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | This is required for (more) correct TDMA support. Without it, the code tries to calculate the required guard interval based on the current rate, and since this is an 11n NIC and people try using 11n, it calls ath_hal_computetxtime() on an 11n rate which then panics. This doesn't fix TDMA slave mode on AR9300 - it just makes it have one less bug. Reported by: Berislav Purgar <bpurgar@gmail.com>
* | Merge ACPICA 20150717.jkim2015-07-2286-1295/+2897
|\ \ | |/
* | Quieten the scorpion SoC/WMAC reset path. Stuff the non-error stuffadrian2015-07-041-3/+3
| | | | | | | | under HALDEBUG().
* | Merge ACPICA 20150619.jkim2015-06-18146-782/+1645
|\ \ | |/
* | MFV: r283965jkim2015-06-032-47/+73
| | | | | | | | | | | | - Update GUIDs for new NFIT tables. - Fix ill-formed GUID strings for NFIT tables. - Fix a possible fault when performing a UUID search.
* | Add support for the tuning cap for Hornet/AR9331 boards.adrian2015-05-231-1/+9
| | | | | | | | | | | | | | | | | | | | | | This dramatically improves RX sensitivity and behaviour on the AR9331 hardware I have, including the Carambola 2. Tested: * AR9331, Carambola 2 board Submitted by: Zilvinas Valinskas <zilvinas.valinskas@gmail.com>
* | Merge ACPICA 20150515.jkim2015-05-1854-391/+3759
|\ \ | |/
* | Merge ACPICA 20150410.jkim2015-04-1178-1118/+1488
| |
* | Expose the ANI state / statistics using the public ANI function, rather thanadrian2015-04-013-4/+29
| | | | | | | | | | | | | | the ar9300_* definitions. .. which of course don't match, and athstats was reading garbage ANI data.
* | Add initial support for the HAL channel survey support to the AR9300 HAL.adrian2015-03-294-6/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is used by the 'athsurvey' command to print out channel survey statistics - % busy times transmit, receive and airtime. It's as buggy and incomplete as the rest of the HAL survey support - notably, tying into the ANI code to read channel stats and occasionally getting garbage counters isn't very nice. It also doesn't (yet!) get channel survey information during a scan. But it's good enough for basic air-time debugging, which is why I'm committing it in this state. Tested: * AR9380, STA mode
* | Quieten some of the log spam from AR9300 sysctl tree walk and chip setup/resetadrian2015-03-211-2/+31
| | | | | | | | | | | | | | | | | | | | | | path. * For now there's no exposed control over classic / LNA antenna diversity, so just stub them out. Adding this will take quite a bit of time. * Add a function to fetch the CTS timeout. PR: kern/198558
* | Merge ACPICA 20141107 and 20150204.jkim2015-02-18315-984/+4265
|\ \ | |/
* | Add initial support to the AR9300 HAL to support FreeBSD's intmit API.adrian2015-02-151-0/+50
| | | | | | | | | | | | | | | | | | | | | | I don't like having it in this function; I may migrate it to ar9300_freebsd.c at some point to keep the HAL code pollution down. This allows ANI to be disabled via a sysctl. Tested: * AR9331, STA/TDMA modes
* | Add ath_hal_setbeacontimers() to the AR9300 HAL.adrian2015-02-152-2/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a custom FreeBSD HAL method that is used by the TDMA code to program the beacon timers directly without any guesswork/assumptions by the HAL. This brings up basic TDMA master/slave support on the AR9380 HAL, however there are other issues preventing it from being stable. (I'm seeing beacon interval instability, which may be due to busy 2GHz air, but also may be due to some HAL configuration issues with regards to ANI, or hardware timer programming, etc.) Tested: * AR9331 (Carambola2), STA, AP, adhoc and TDMA master mode.
* | Comment out a double declaration of this particular function name.adrian2015-02-141-0/+2
| | | | | | | | | | | | It trips up gcc builds. Pointy-hat-from: jenkins, kib
* | Quieten a clang warning.adrian2015-02-141-1/+1
| |
* | Remove the reserved pin 11 from the HAL check.adrian2015-02-141-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | The QCA9565 can have RFKILL on GPIO Pin 11, and thus we need to configure it up correctly or the NIC may not function. I'm not sure why the AR9382 can't use GPIO 8 / GPIO 11 ; it's likely hooked up to some external LNA or filter. The real solution is to make it only block pin 8 / pin 11 for AR9382, but the AR9382 probes like an AR9380. Sigh. Submitted by: Anthony Jenkins <scoobi_doo@yahoo.com>
* | Update the AR9300 HAL to the latest public available HAL from QCA.adrian2015-02-1415-55/+682
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've been sitting on this for a year or so now; I've finally tested it on enough devices to be reasonably sure it won't cause too much drama. But, if you see issues, please email me. Tested (all STA mode): PCIe: * AR9380 * AR9390 * AR9580 * AR9462 * AR9485 SoC: * QCA9550 * AR9331 * AR9342
* | Add preliminary support for the Ralink RT5390 and RT5392 chipsets.kevlo2015-02-112-443/+443
| | | | | | | | Committed over the D-Link DWA-525 rev A2 on amd64 with WPA.
* | Add x2APIC support. Enable it by default if CPU is capable. Thekib2015-02-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hw.x2apic_enable tunable allows disabling it from the loader prompt. To closely repeat effects of the uncached memory ops when accessing registers in the xAPIC mode, the x2APIC writes to MSRs are preceeded by mfence, except for the EOI notifications. This is probably too strict, only ICR writes to send IPI require serialization to ensure that other CPUs see the previous actions when IPI is delivered. This may be changed later. In vmm justreturn IPI handler, call doreti_iret instead of doing iretd inline, to handle corner conditions. Note that the patch only switches LAPICs into x2APIC mode. It does not enables FreeBSD to support > 255 CPUs, which requires parsing x2APIC MADT entries and doing interrupts remapping, but is the required step on the way. Reviewed by: neel Tested by: pho (real hardware), neel (on bhyve) Discussed with: jhb, grehan Sponsored by: The FreeBSD Foundation MFC after: 2 months
* | Fix a number of -Wcast-qual warnings in ath's ar9300_attach.c, by makingdim2015-02-071-2/+2
| | | | | | | | | | | | | | | | | | the ia_array field of struct ar9300_ini_array const, and removing the const-dropping casts. No functional change. Reviewed by: adrian MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D1725
* | Oops - use the correct argument order for ar9300_set_beacon().adrian2015-01-181-2/+2
| | | | | | | | (It's only an issue in AP/adhoc modes. But, still. Grr.)
* | Correct the descriptor length for AR9462/AR9565 and set the final fieldadrian2015-01-172-4/+10
| | | | | | | | | | | | | | | | | | | | to zero - TX drops are otherwise reported. Tested: * AR9462 (WB222), STA mode Obtained from: Linux ath9k
* | Skip the OFDM weak signal threshold detection programming foradrian2015-01-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | AR9462/AR9565. This and some upcoming changes to the HAL for these chips should address some of the signal sensitivity reported by users. Tested: * AR9462 (WB222), STA mode Obtained from: Linux ath9k
* | Override the bt enable/disable methods for AR9462 (jupiter) andadrian2015-01-171-0/+5
| | | | | | | | | | | | | | | | | | AR9565 (Aphrodite.) These need to use the MCI routines, not the legacy 2-wire / 3-wire bluetooth coexistence methods. Tested: * AR9462 (WB222); STA mode
* | Tie in the MCI bluetooth coexistence functions into the HAL.adrian2015-01-161-0/+7
| | | | | | | | | | | | Tested: * AR9462 (WB222)
* | Glue to suck in the QCA9550 HAL support if AH_SUPPORT_QCA9550 is defined.adrian2015-01-061-1/+3
| |
* | Use the same 6000 series g2{a,b} firmware versions when embedding thesemarius2014-12-272-15961/+0
| | | | | | | | | | | | | | images into the kernel as currently included into iwn6000g2{a,b}fw.ko and delete the old files, missed in r254199 and r259135 respectively. MFC after: 3 days
* | Add missing headers needed by write().kevlo2014-11-251-4/+8
| |
* | Repair build of tools/ath/athalq and define missing value len.sbruno2014-10-131-0/+1
| | | | | | | | Reviewed by: adrian
* | Merge ACPICA 20140926.jkim2014-10-02313-6897/+18434
|\ \ | |/
OpenPOWER on IntegriCloud