Avoid removing an item in iommu_gas_free_region only to reinsert it,
by avoiding removing an entry that is either first_place or
last_place.
Reviewed by: kib
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D36597
Laptop Legion Lenovo 5 15MH05 (Intel)
Patch to fix the sound on this machine.
It requires sending the speaker and the headphone jack to the same nid.
PR: 265632
Approved by: emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D36511
As all ISA sound card drivers have been removed sndbuf_dma no longer
serves any purpose.
Reviewed by: mav
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D34671
My Adafruit PCF8523 RTC on either RPi2B or RPi3B+ failed to work around
80 ~ 90 % of boot-ups, by printing the following log lines.
nxprtc0: <NXP PCF8523 RTC> at addr 0xd0 on iicbus0
nxprtc0: cannot set up timer
Warning: no time-of-day clock registered, system time will not be set accurately
This is due to pcf8523_start_timer(sc) returned non-zero in
nxprtc_start() due to a register read failure of PCF8523_R_TMR_A_FREQ or
PCF8523_R_TMR_CLKOUT or a failure to program a new value.
The pause_sbt("nxpbat") sleep was too short and caused the register
access failures.
PR: 266093
This is a simple RTC present in the PMIC, supporting 1s precision.
This is the PMIC on SiFive's HiFive Unmatched.
Reviewed by: mhorne, imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D36200
This is an MFD with regulators, an RTC and a watchdog, among other
things. This adds the necessary infrastructure for specific children to
be added.
Note that the PMIC can also be attached via SPI, not just I2C, and so
the interface is abstracted. No SPI implementation is added, however.
This is the PMIC on SiFive's HiFive Unmatched.
Reviewed by: manu, mhorne
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D36199
Fix headphone (12th gen Intel laptops) and mic jack (both 11th and
12th gen) switching.
PR: 262579
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D36354
Fix compilation warning/errors - in this instance we do need the register
IO.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D36535
* remove dead code
* mark enabled as unused, happens if debugging isn't enabled
* log the enabled state if debugging is enabled
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D36533
hw.cxgbe.cong_drop=2 will generate backpressure *and* drop frames for
queues that are congested.
MFC after: 2 weeks
Sponsored by: Chelsio Communications
usbhid(4) vs other USB HID drivers precedence is determined by
hw.usb.usbhid.enable loader tunable and HID quirk subsystem rather
than by device_probe() return value. Raise priority high enough to
always give usbhid(4) a possible chance to attach.
Fixes usbhid(4) attachment on USB device hotplug.
Reported by: Ivan Quitschal <tezeka_AT_hotmail_DOT_com>
MFC after: 1 week
It was observed that on RockPro64 hardware, the dwc interface is unable
to receive packets after being assigned a new MAC address. The fix is
simply to call mii_mediachg() before touching any device registers in
dwc_init_locked(). This is consistent with what the OpenBSD driver does.
PR: 263820
MFC after: 1 week
The register map is fairly similar, with one difference in the local
sensor temperature register width.
Both devices support reading two sensors - "local" and "remote".
While here add support for the latter one.
The ADT7461 doesn't update the temperature correctly, unless a write
transaction is done before every read.
Do just that as a workaround for this issue.
Tested on LS1046ARDB.
Reviewed by: manu
Obtained from: Semihalf
Differential Revision: https://reviews.freebsd.org/D36464
Use the correct page size macro when checking if an address is with
the EFI runtime map. This would previously work correctly when the
page size is 4k. With a larger page size it may incorrectly detect
memory as within the map when it's not.
Reported by: imp
Sponsored by: Innovate UK
Add DLink DWA-182 rev D1 and generic Realtek RTW8821CU entry found on
a Tenda U10 USB WLAN Stick, AC 650 Mbps (and possibly more devices).
The latter first presents itself as a CD device with Windows drivers
(useless on FreeBSD) first so add a quirk for that we get the wireless
device right away.
MFC after: 2 weeks
While here sort some other Realtek entries by DeviceID.
This is based off the Linux file sound/hda/intel-dsp-config.c.
Reviewed by: imp (src)
Tested on: HP Spectre x360 16-f0023dx
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D36476
With addition of clkgen devices to the Armada38x we no longer
need to rely on get_tclk() to get the device frequency.
Leave it as a fallback, just in case.
Reviewed by: manu
Obtained from: Semihalf
Differential Revision: https://reviews.freebsd.org/D36465
With the addition of clkgen devices to the Armada38x, there is
no longer any need to use the get_tclk() hack.
Reviewed by: manu
Obtained from: Semihalf
Differential Revision: https://reviews.freebsd.org/D36456
It is stored in the clock-frequency property.
In case of failure, fallback to the harcoded value stored in the
compat data.
Also, while here improve style.
Tested on LS1046ARDB and x86 PC.
Reviewed by: mw
Obtained from: Semihalf
Differential Revision: https://reviews.freebsd.org/D36326
LacSymCb_CallbacksRegister declared with a (void) argument list but was
defined with (). With Clang 15 this produced a warning.
MFC after: 3 days
Sponsored by: The FreeBSD Foundation