summaryrefslogtreecommitdiff
path: root/sys/contrib/dev
Commit message (Collapse)AuthorAgeFilesLines
* Add the firmware blob required to use the sdma hardware in the imx6Ian Lepore2020-11-262-0/+147
| | | | | | | | | | | | processor, and its associated license text (which is similar to a bsd-3-clause, but with a prohibition against decompiling). Install a copy of the license in /usr/share/doc/legal/imx, to comply with the license terms that requires a copy of the license to be delivered along with the firmware. Obtained from: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/imx/sdma/sdma-imx6q.bin https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/LICENSE.sdma_firmware Notes: svn path=/head/; revision=368042
* MFV: r367652Jung-uk Kim2020-11-1319-99/+311
|\ | | | | | | | | | | | | Merge ACPICA 20201113. Notes: svn path=/head/; revision=367654
* | Add firmware modules for qat(4), take twoMark Johnston2020-11-0610-0/+0
| | | | | | | | | | | | | | | | | | | | | | My script to convert git commits to svn patch does not handle binary files correctly, and r367387 committed a set of empty files as a result. MFC with: r367387 Sponsored by: Rubicon Communications, LLC (Netgate) Notes: svn path=/head/; revision=367422
* | Add firmware modules for qat(4)Mark Johnston2020-11-0511-0/+11
| | | | | | | | | | | | | | | | MFC after: 3 days Sponsored by: Rubicon Communications, LLC (Netgate) Notes: svn path=/head/; revision=367387
* | MFV: r366539Jung-uk Kim2020-10-0933-108/+516
|\| | | | | | | | | | | | | Merge ACPICA 20200925. Notes: svn path=/head/; revision=366562
* | ys/contrib/dev/ath: remove unintentional double semicolonEd Maste2020-09-181-1/+1
| | | | | | | | | | | | | | Approved by: adrian Notes: svn path=/head/; revision=365888
* | ice_ddp: Fix 1.3.16.0 packageEric Joyner2020-09-101-0/+0
| | | | | | | | | | | | | | | | | | | | | | The version uploaded in the previous commit was far too small. This one should be the right size. MFC after: 1 day Sponsored by: Intel Corporation Notes: svn path=/head/; revision=365550
* | ice_ddp: Update package file to 1.3.16.0Eric Joyner2020-09-043-1/+2221
| | | | | | | | | | | | | | | | | | | | | | This package is intended to be used with ice(4) version 0.26.16. That update will happen in a forthcoming commit. MFC after: 3 days Sponsored by: Intel Corporation Notes: svn path=/head/; revision=365332
* | MFV: r363292Jung-uk Kim2020-07-1811-19/+80
|\| | | | | | | | | | | | | Merge ACPICA 20200717. Notes: svn path=/head/; revision=363300
* | MFV: r361597Jung-uk Kim2020-05-2811-18/+97
|\| | | | | | | | | | | | | Import ACPICA 20200528. Notes: svn path=/head/; revision=361600
* | ice(4): Introduce new driver for Intel E800 Ethernet controllersEric Joyner2020-05-263-0/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ice(4) driver is the driver for the Intel E8xx series Ethernet controllers; currently with codenames Columbiaville and Columbia Park. These new controllers support 100G speeds, as well as introducing more queues, better virtualization support, and more offload capabilities. Future work will enable virtual functions (like in ixl(4)) and the other functionality outlined above. For full functionality, the kernel should be compiled with "device ice_ddp" like in the amd64 NOTES file, and/or ice_ddp_load="YES" should be added to /boot/loader.conf so that the DDP package file included in this commit can be downloaded to the adapter. Otherwise, the adapter will fall back to a single queue mode with limited functionality. A man page for this driver will be forthcoming. MFC after: 1 month Relnotes: yes Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D21959 Notes: svn path=/head/; revision=361541
* | [ath] [ath_hal] Propagate the HAL_RESET_TYPE through to the chip reset; set ↵Adrian Chadd2020-05-253-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | it during ath_reset() Although I added the reset type field to ath_hal_reset() years ago, I never finished adding it both throughout the HALs and in if_ath.c. This will eventually deprecate the ath_hal force_full_reset option because it can be requested at the driver layer. So: * Teach ar5416ChipReset() and ar9300_chip_reset() about the HAL type * Use it in ar5416Reset() and ar9300_reset() when doing a full chip reset * Extend ath_reset() to include the HAL_RESET_TYPE parameter added in the above functions * Use HAL_RESET_NORMAL in most calls to ath_reset() * .. but use HAL_RESET_BBPANIC for the BB panics, and HAL_RESET_FORCE_COLD during fatal, beacon miss and other hardware related hangs. This should be a glorified no-op outside of actual hardware issues. I've tested things with ath_hal force_full_reset set to 1 for years now, so I know that feature and a full reset works (albeit much slower than a warm reset!) and it does unwedge hardware. The eventual aim is to use this for all the places where the driver detects a potential hang as well as if long calibration - ie, noise floor calibration - fails to complete. That's one of the big hardware related things that causes station mode operation to hang without easy recovery. Differential Revision: https://reviews.freebsd.org/D24981 Notes: svn path=/head/; revision=361486
* | [ath_hal_ar9300] Ensure AH_BYTE_ORDER is defined before used.Adrian Chadd2020-05-1210-0/+51
| | | | | | | | | | | | | | Same deal here - ensure endian bits are set here first! Notes: svn path=/head/; revision=360954
* | [ath_hal] [ath_hal_ar9300] Fix endian macros to work in and out of kernel tree.Adrian Chadd2020-05-122-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Yes, people shouldn't use bitfields in C for structure parsing. If someone ever wants a cleanup task then it'd be great to remove them from this vendor code and other places in the ar9285/ar9287 HALs. Alas, here we are. AH_BYTE_ORDER wasn't defined and neither were the two values it could be. So when compiling ath_ee_print_9300 it'd default to the big endian struct layout and get a WHOLE lot of stuff wrong. So: * move AH_BYTE_ORDER into ath_hal/ah.h where it can be used by everyone. * ensure that AH_BYTE_ORDER is actually defined before using it! This should work on both big and little endian platforms. Notes: svn path=/head/; revision=360953
* | [ar9300] Disable unconditionally reducing transmit power in the case of FCC.Adrian Chadd2020-05-112-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ok, yeah, the commit title is a bit misleading. This has to do with CDD (cyclic delay diversity) - how this and later wifi hardware transmits lower rates over more antennas. Eg, if you're transmitting legacy 11abg rates on 2 or 3 antennas, you COULD just send them all at the same time or you could delay each by tens/hundreds of nanoseconds to try and get some better diversity characteristics. However, this has a fun side effect - the antenna pattern is no longer a bunch of interacting dipoles, but are a bunch of interacting dipoles plus a bunch of changing phases. And it's frequency dependent - 50-200nS is not exactly the same fraction of a wavelength across all of 2GHz or 5GHz! Thus the power spectral density and maximum directional gain that you're effectively getting is not .. well, as flat as it once was. For more information, look up FCC/OET 13TR1003 in the FCC technical report database. It has pretty graphics and everything. Anyway, the problem lies thusly - the CDD code just subtracts another 3dB or 5dB for the lower rates based on transmit antenna configuration. However, it's not done based on operating configuration and it doesn't take into account how far from any regulatory limits the hardware is at. It also doesn't let us do things like transmit legacy rates and frames on a single antenna without losing up to 5dB when we absolutely don't need to in that case (there's no CDD used when one antenna is used!) This shows up as the hardware behaving even worse for longer distance links at 20MHz because, well, those are the exact rates losing a bunch more transmit power. * For lower power NICs (ie the majority of what is out there!) it's highly unlikely we're going to hit anywhere near the PSD limits. * It's doing it based on the existing limits from the CTL table (conformance testing limits) - this isn't the regulatory max! It's what the NIC is allowed to put out in each frequency and rate configuration! So things like band edges, power amplifier behaviour and maximum current draw apply here. Blindly subtracting 3 to 5dB from /this/ value is /very/ conservative.. * /and/ ath9k just plainly doesn't do any of this at all. So, for now disable it and get the TX power back, thus matching what ath9k in Linux is doing. If/once I get some more cycles I'll look at making it a bit more adaptive and really only kick in if we're a few dB away from hard regulatory limits. Tested: * AR9344 (2GHz + SoC, 2x2 configuration) - AP and STA modes * QCA9580 (5GHz 2x2 and 3x3 configurations) - AP and STA modes Notes: svn path=/head/; revision=360888
* | MFV: r360512Jung-uk Kim2020-05-0117-74/+307
|\| | | | | | | | | | | | | Merge ACPICA 20200430. Notes: svn path=/head/; revision=360517
* | Merge ACPICA 20200326.Jung-uk Kim2020-03-2738-85/+511
|\| | | | | | | Notes: svn path=/head/; revision=359346
* | MFV: r357927Jung-uk Kim2020-02-1532-205/+875
|\| | | | | | | | | | | | | Merge ACPICA 20200214. Notes: svn path=/head/; revision=357959
* | MFV: r356607Jung-uk Kim2020-01-10355-373/+503
|\| | | | | | | | | | | | | Import ACPICA 20200110. Notes: svn path=/head/; revision=356618
* | MFV: r355716Jung-uk Kim2019-12-1328-101/+401
|\| | | | | | | | | | | | | Merge ACPICA 20191213. Notes: svn path=/head/; revision=355739
* | Downgrade the firmware images imported in r354201.Mark Johnston2019-11-034-113379/+119038
| | | | | | | | | | | | | | | | | | | | | | | | Version 43 requires further modifications to iwm(4), and this was not caught in some initial testing. Version 34 works and is the version available on Intel's web site. MFC with: r354201 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=354276
* | Add firmware images for Intel 9000-series wifi chips.Mark Johnston2019-10-302-0/+113379
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is in preparation for adding the corresponding support to iwm(4). Version 46 is the latest but contains unrecognized TLVs, so use version 43 for now. Obtained from: linux-firmware MFC after: 1 month Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=354201
* | Merge ACPICA 20191018.Jung-uk Kim2019-10-19101-404/+1809
|\| | | | | | | Notes: svn path=/head/; revision=353764
* | athhal: disable unused function (big endian only)Bjoern A. Zeeb2019-08-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | Disable ar9300_swap_tx_desc() for the moment. It is an unused function only tried to compile on big endian systems. Found by: s390x buildkernel MFC after: 3 months Notes: svn path=/head/; revision=351327
* | MFV: r351091Jung-uk Kim2019-08-1527-341/+249
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the reported boot failures and revert r350510. Note this commit is effectively merging ACPICA 20190703 again and applying an upstream patch. https://github.com/acpica/acpica/commit/73f6372 Tested by: scottl Notes: svn path=/head/; revision=351095
* | Enable ACPICA mutex debugging in INVARIANTS case.Jung-uk Kim2019-08-151-0/+4
| | | | | | | | | | | | | | This lets us detect lock order reversal in ACPICA code to avoid deadlock. Notes: svn path=/head/; revision=351081
* | Revert r349863 (ACPICA 20190703).Jung-uk Kim2019-08-0127-247/+341
| | | | | | | | | | | | | | | | | | This commit caused boot failures on some systems. Requested by: scottl Notes: svn path=/head/; revision=350510
* | MFV: r349861Jung-uk Kim2019-07-0927-341/+247
|\| | | | | | | | | | | | | Import ACPICA 20190703. Notes: svn path=/head/; revision=349863
* | MFV: r347413Jung-uk Kim2019-05-0917-76/+375
|\| | | | | | | | | | | | | Import ACPICA 20190509. Notes: svn path=/head/; revision=347415
* | [ath] [ath_hal] [ath_hal_9300] Extend the start PCU receive to handle ↵Adrian Chadd2019-04-213-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | resetting ANI. One of the fun issues with scanning has been how the existing ANI values were programmed into the hardware when channels were changed. If you're on a really crappy channel and ANI has made you deaf then when you scan you continue to be deaf on all channels. This code passes in a flag to startpcureceive which in AR5416 and later is also used to enable ANI. This allows it to know if it's a normal operation or a scan operation. This fixes my situation at home where a temporary spot of a device going deaf due to interference starts scanning and .. can't hear anything until I restart. Now, this isn't the full fix - ideally: (a) all the ANI config and per-channel information would be migrated to the shared HAL stuff and enabled for all of the NICs; (b) when a station reassociates and some other error conditions (like missed beacons, NF calibration failures, etc) a knob to reset ANI parameters would likely help recovery. But hey, I'm committing bits of code again! woo! Tested: * AR9344 (2G), STA operation Notes: svn path=/head/; revision=346470
* | MFV: r345969Jung-uk Kim2019-04-0628-280/+986
|\| | | | | | | | | | | | | Import ACPICA 20190405. Notes: svn path=/head/; revision=345980
* | Merge ACPICA 20190329.Jung-uk Kim2019-03-2962-174/+268
|\| | | | | | | Notes: svn path=/head/; revision=345713
* | [ath_hal_ar9300] Add some comments around the AR9300 ANI code.Adrian Chadd2019-03-191-2/+28
| | | | | | | | | | | | | | | | I'm refamiliarising myself with the behaviour of the ANI code and I thought I'd drop some comments to remind myself. Notes: svn path=/head/; revision=345284
* | Remove radeonkmsfw firmware filesEd Maste2019-03-1497-32767/+0
| | | | | | | | | | | | | | | | | | | | | | | | The drivers were removed in r344299 so there is no need to keep the firmware files in the src tree. Reviewed by: imp, jhibbits, johalun Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19583 Notes: svn path=/head/; revision=345137
* | Remove npe microcodeEd Maste2019-03-142-547/+0
| | | | | | | | | | | | | | The driver was removed in r336436. Notes: svn path=/head/; revision=345131
* | [ath_hal_ar9300] Add the missing bits from the previous HAL commit.Adrian Chadd2019-03-062-5/+56
| | | | | | | | | | | | | | Noticed by: 75+ emails telling me I messed up. Notes: svn path=/head/; revision=344843
* | [ath_hal_ar9300] Add the extra ANI configuration fields for the AR93xx HAL.Adrian Chadd2019-03-041-4/+2
| | | | | | | | | | | | | | | | | | Tested: * Carambola2 (Ar9331), STA/AP modes Notes: svn path=/head/; revision=344750
* | MFV: r344447Jung-uk Kim2019-02-211-1/+1
|\| | | | | | | | | | | | | Fix missing comma in array declaration. Notes: svn path=/head/; revision=344448
* | MFV: r344395Jung-uk Kim2019-02-2082-539/+745
|\| | | | | | | | | | | | | Import ACPICA 20190215. Notes: svn path=/head/; revision=344398
* | Remove empty filesLi-Wen Hsu2019-02-123-0/+0
| | | | | | | | | | | | | | | | Approved by: markj (mentor) Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=344045
* | MFV: r342867Jung-uk Kim2019-01-09355-373/+470
|\| | | | | | | | | | | | | Merge ACPICA 20190108. Notes: svn path=/head/; revision=342869
* | rtwn_pci(4): add support for RTL8188EE chipset.Andriy Voskoboinyk2019-01-021-0/+506
| | | | | | | | | | | | | | | | | | | | | | | | | | Initially based on https://reviews.freebsd.org/D15692; later deduplicated and improved a bit (Tx reports, IQ calibration support). Submitted by: Farhan Khan <khanzf@gmail.com> MFC after: 4 days Relnotes: yes Differential Revision: https://reviews.freebsd.org/D15692 Notes: svn path=/head/; revision=342682
* | MFV: r342049Jung-uk Kim2018-12-1440-130/+352
|\| | | | | | | | | | | | | Merge ACPICA 20181213. Notes: svn path=/head/; revision=342056
* | MFV: r339981Jung-uk Kim2018-11-0226-108/+493
|\| | | | | | | | | | | | | Merge ACPICA 20181031. Notes: svn path=/head/; revision=340090
* | Update ACPICA to 20181003.Jung-uk Kim2018-10-0991-1785/+2294
|\| | | | | | | | | | | | | Approved by: re (gjb) Notes: svn path=/head/; revision=339262
* | Revert drm2 removal.Warner Losh2018-08-2497-0/+32767
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert r338177, r338176, r338175, r338174, r338172 After long consultations with re@, core members and mmacy, revert these changes. Followup changes will be made to mark them as deprecated and prent a message about where to find the up-to-date driver. Followup commits will be made to make this clear in the installer. Followup commits to reduce POLA in ways we're still exploring. It's anticipated that after the freeze, this will be removed in 13-current (with the residual of the drm2 code copied to sys/arm/dev/drm2 for the TEGRA port's use w/o the intel or radeon drivers). Due to the impending freeze, there was no formal core vote for this. I've been talking to different core members all day, as well as Matt Macey and Glen Barber. Nobody is completely happy, all are grudgingly going along with this. Work is in progress to mitigate the negative effects as much as possible. Requested by: re@ (gjb, rgrimes) Notes: svn path=/head/; revision=338285
* | r338172 follow - remove firmwaresMatt Macy2018-08-2297-32767/+0
| | | | | | | | Notes: svn path=/head/; revision=338176
* | Merge ACPICA 20180810.Jung-uk Kim2018-08-1320-39/+230
|\| | | | | | | Notes: svn path=/head/; revision=337713
* | MFV: r335802Jung-uk Kim2018-06-2919-126/+140
|\| | | | | | | | | | | | | Merge ACPICA 20180629. Notes: svn path=/head/; revision=335809
* | [ath_hal] Return failure if noise floor calibration fails.Adrian Chadd2018-06-083-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we fail noise floor calibration then we may end up with a deaf NIC which we can't recover without a full chip reset. Earlier chips seem to get less stuck in this condition versus AR9280/later and AR9300/later, but whilst here just fix up the AR5212 era chips to also return NF calibration failures. This HAL routine would only return failure if the channel was not configured. This is a no-op until the driver side code for doing resets and the HAL code for being told about the reset type (and then handling it!) is implemented. Tested: * AR9280, STA mode * AR2425, STA mode * AR9380, STA mode Notes: svn path=/head/; revision=334849