summaryrefslogtreecommitdiffstats
path: root/sys/contrib
Commit message (Collapse)AuthorAgeFilesLines
...
* [ath_hal] add support for QCA9565 for configuring the bluetooth antenna LNA ↵adrian2016-06-011-3/+34
| | | | | | | | | | | | | diversity. Notably, this also sets AR_BTCOEX_WL_LNADIV to FORCE_ON, so LNA diversity is always enabled and under control of the wifi chip. Tested: * QCA9565, STA + bluetooth mode Obtained from: Linux ath9k
* [ath_hal] Allow the BT antenna diversity option to be enabled for QCA9565.adrian2016-06-011-2/+4
| | | | Obtained from: Linux ath9k
* [ath_hal] add QCA9565 bluteooth antenna control.adrian2016-06-011-2/+30
| | | | | | | | | | | | This configures the LNA antenna diversity control, which should be on if wlan owns the LNA for bluetooth coexistence. Otherwise, make sure it's off. I think this is eventually intended to allow 1-antenna bluetooth + wifi setups for QCA9565, but I'm not sure where that's actually configured in ath9k. Obtained from: Linux ath9k
* [ath_hal] add extra debugging for MCI interrupts.adrian2016-06-011-0/+2
|
* [ath_hal] rename the MCI state info routine.adrian2016-05-311-1/+10
| | | | It's not /really/ "get state".
* [ath_hal] add QCA9565 and MCI related registers.adrian2016-05-311-0/+29
| | | | | | This is required for upcoming MCI fixes. Obtained from: Linux ath9k
* [ath_hal] migrate the bluetooth definitions out from ah.h / ↵adrian2016-05-311-357/+0
| | | | | | | | | | | ar9300_freebsd_inc.h. The eventual MCI driver side of things needs the MCI bits to live in the HAL API so we can get to them. Tested: * QCA9565, STA mode + bluetooth
* [ath] ensure the right methods / options get overridden for MCI bluetooth coexadrian2016-05-311-5/+5
| | | | | | | | | | | | | | | It turns out that the srev checks can't be done in the early attach in ar9300_freebsd.c, because the poweron and srev check hasn't yet happened. So: * Re-add the MCI overrides in attach * Add QCA9565 (Aphrodite) check for the LNA diversity stuff. Tested: * QCA9565, STA mode + bluetooth
* Merge ACPICA 20160527.jkim2016-05-2713-59/+112
| | | | Relnotes: yes
* Remove extraneous blank line.cy2016-05-201-1/+0
| | | | | MFC after: 1 month X-MFC with: r300259
* Enable the two ip_frag tuneables. The code is there but the twocy2016-05-202-1/+21
| | | | | | | | ip_frag tuneables aren't registered in the ipf_tuners linked list. This commmit enables the two existing ip_frag tuneables by registering them. MFC after: 1 month
* Make subsequent code reachable.cy2016-05-151-3/+6
| | | | | Reported by: Coverity CID 1354625 MFC after: 3 days
* 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
|\
* | Zero the newly allocated spinlock.jhibbits2016-04-241-1/+1
| | | | | | | | | | Not sure how this worked testing with DIAGNOSTIC set, but with it disabled this fails due to the spinlock being "initialized" with 0xdeadc0de.
* | Fix for printf() compile warning when fast_reg.length is 64-bit.hselasky2016-04-221-1/+1
| | | | | | | | | | | | | | | | Changing fast_reg.length to 64 bits is planned in the future. Krping uses 32-bit lengths internally. Sponsored by: Mellanox Technologies MFC after: 1 week
* | Use NULL instead of 0 for pointer comparison.cy2016-04-151-2/+2
| | | | | | | | MFC after: 4 weeks
* | Send krping output to the log instead of the tty, as is done upstream.np2016-04-143-72/+63
| | | | | | | | | | | | Reviewed by: hselasky@ Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D5931
* | Add fastreg support to krping (ported from upstream).np2016-04-121-36/+1027
| | | | | | | | | | | | Submitted by: Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D5777
* | Add DTrace probes for packets flagged as bad by ipfilter. All probescy2016-04-074-11/+62
| | | | | | | | | | | | | | | | for bad packets are named ipf_fi_bad_*. An example of its use might be: dtrace -n 'sdt:::ipf_fi_bad_* { stack(); }' Reviewed by: Darren Reed <darrenr@reed.wattle.id.au>
* | Make CloudABI's way of doing TLS more friendly to userspace emulators.ed2016-04-061-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're currently seeing how hard it would be to run CloudABI binaries on operating systems cannot be modified easily (Windows, Mac OS X). The idea is that we want to just run them without any sandboxing. Now that CloudABI executables are PIE, this is already a bit easier, but TLS is still problematic: - CloudABI executables want to write to the %fs, which typically requires extra system calls by the emulator every time it needs to switch between CloudABI's and its own TLS. - If CloudABI executables overwrite the %fs base unconditionally, it also becomes harder for the emulator to store a backup of the old value of %fs. To solve this, let's no longer overwrite %fs, but just %fs:0. As CloudABI's C library does not use a TCB, this space can now be used by an emulator to keep track of its internal state. The executable can now safely overwrite %fs:0, as long as it makes sure that the TCB is copied over to the new TLS area. Ensure that there is an initial TLS area set up when the process starts, only containing a bogus TCB. We don't really care about its contents on FreeBSD. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D5836
* | Sync in the latest CloudABI system call definitions.ed2016-03-313-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some time ago I made a change to merge together the memory scope definitions used by mmap (MAP_{PRIVATE,SHARED}) and lock objects (PTHREAD_PROCESS_{PRIVATE,SHARED}). Though that sounded pretty smart back then, it's backfiring. In the case of mmap it's used with other flags in a bitmask, but for locking it's an enumeration. As our plan is to automatically generate bindings for other languages, that looks a bit sloppy. Change all of the locking functions to use separate flags instead. Obtained from: https://github.com/NuxiNL/cloudabi
* | krping wasn't designed to take more than one client. Fail any connectnp2016-03-291-2/+7
| | | | | | | | | | | | | | | | requests if cb->state is not IDLE. Submitted by: Krishnamraju Eraparaju @ Chelsio Reviewed by: Steve Wise @ Open Grid Computing Sponsored by: Chelsio Communications
* | Replace the CloudABI system call table by a machine generated version.ed2016-03-245-731/+996
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The type definitions and constants that were used by COMPAT_CLOUDABI64 are a literal copy of some headers stored inside of CloudABI's C library, cloudlibc. What is annoying is that we can't make use of cloudlibc's system call list, as the format is completely different and doesn't provide enough information. It had to be synced in manually. We recently decided to solve this (and some other problems) by moving the ABI definitions into a separate file: https://github.com/NuxiNL/cloudabi/blob/master/cloudabi.txt This file is processed by a pile of Python scripts to generate the header files like before, documentation (markdown), but in our case more importantly: a FreeBSD system call table. This change discards the old files in sys/contrib/cloudabi and replaces them by the latest copies, which requires some minor changes here and there. Because cloudabi.txt also enforces consistent names of the system call arguments, we have to patch up a small number of system call implementations to use the new argument names. The new header files can also be included directly in FreeBSD kernel space without needing any includes/defines, so we can now remove cloudabi_syscalldefs.h and cloudabi64_syscalldefs.h. Patch up the sources to include the definitions directly from sys/contrib/cloudabi instead.
* | Fix crash in krping when run as a client due to NULL pointer access.hselasky2016-03-161-0/+1
| | | | | | | | | | | | | | | | Initialize pointer in question which is used only when fast registers mode is selected. Sponsored by: Mellanox Technologies MFC after: 1 week
* | Remove redundant NULL pointer comparison.cy2016-03-021-4/+0
| | | | | | | | | | Reported by: PVS-Studio (V595) in D5245 Differential Revision: D5245
* | Add support for the Freescale dTSEC DPAA-based ethernet controller.jhibbits2016-02-29107-0/+73567
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Freescale's QorIQ line includes a new ethernet controller, based on their Datapath Acceleration Architecture (DPAA). This uses a combination of a Frame manager, Buffer manager, and Queue manager to improve performance across all interfaces by being able to pass data directly between hardware acceleration interfaces. As part of this import, Freescale's Netcomm Software (ncsw) driver is imported. This was an attempt by Freescale to create an OS-agnostic sub-driver for managing the hardware, using shims to interface to the OS-specific APIs. This work was abandoned, and Freescale's primary work is in the Linux driver (dual BSD/GPL license). Hence, this was imported directly to sys/contrib, rather than going through the vendor area. Going forward, FreeBSD-specific changes may be made to the ncsw code, diverging from the upstream in potentially incompatible ways. An alternative could be to import the Linux driver itself, using the linuxKPI layer, as that would maintain parity with the vendor-maintained driver. However, the Linux driver has not been evaluated for reliability yet, and may have issues with the import, whereas the ncsw-based driver in this commit was completed by Semihalf 4 years ago, and is very stable. Other SoC modules based on DPAA, which could be added in the future: * Security and Encryption engine (SEC4.x, SEC5.x) * RAID engine Additional work to be done: * Implement polling mode * Test vlan support * Add support for the Pattern Matching Engine, which can do regular expression matching on packets. This driver has been tested on the P5020 QorIQ SoC. Others listed in the dtsec(4) manual page are expected to work as the same DPAA engine is included in all. Obtained from: Semihalf Relnotes: Yes Sponsored by: Alex Perez/Inertial Computing
* | Optimize ROL and ROR emulations and fix comments.jkim2016-02-181-19/+15
| |
* | Silence VPS-Studio errors (V646). These is no functional change.jkim2016-02-181-3/+3
| |
* | ARM: Use new ARMv6 naming conventions for cache and TLB functionsmmel2016-02-051-1/+4
| | | | | | | | | | | | in all but ARMv4 specific files. Expand ARMv6 compatibility stubs in cpu-v4.h. Use physical address in L2 cache functions if ARM_L2_PIPT is defined.
* | These files were getting sys/malloc.h and vm/uma.h with header pollutionglebius2016-02-012-0/+2
| | | | | | | | via sys/mbuf.h
* | Import Annapurna Labs Alpine HAL for networkingzbb2016-01-2626-0/+28017
| | | | | | | | | | | | | | | | | | | | | | Files required for the NIC driver Import from vendor-sys/alpine-hal/2.7 SVN rev.: 294828 HAL version: 2.7 Obtained from: Semihalf Sponsored by: Annapurna Labs
* | Fix order of last two arguments of mtx_initgonzo2016-01-141-1/+1
| | | | | | | | Spotted by: jmcneill@NetBSD.org
* | Convert ipfilter to the new routing KPI.melifaro2016-01-101-41/+30
| | | | | | | | Differential Revision: D4764
* | Have krping use IB_ACCESS_LOCAL_WRITE because it's required for remotenp2016-01-051-2/+5
| | | | | | | | | | | | write or remote atomic operations. Submitted by: Krishnamraju Eraparaju @ Chelsio
* | [rtwn] add rtwn firmware.adrian2015-12-313-0/+738
| | | | | | | | Submitted by: kevlo
* | Correct __FreeBSD__ check.cy2015-12-281-1/+1
| | | | | | | | MFC after: 3 days
* | Don't assume checksums will be calculated later when fastfoward iscy2015-12-201-2/+2
| | | | | | | | | | | | | | enabled (by default in r290383). PR: 72210 MFC after: 1 week
* | 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
* | Fix inconsistent use of malloc type for cdev private data.skra2015-11-231-3/+1
| | | | | | | | | | | | | | Remove M_VCHIQ malloc type, now not used anywhere. Reviewed by: gonzo Approved by: kib (mentor)
* | Fix slots DMA memory handling. It's similar to r290553.skra2015-11-101-3/+3
| | | | | | | | | | Discussed with: gonzo Approved by: kib (mentor)
* | 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.
OpenPOWER on IntegriCloud