Age | Commit message (Collapse) | Author |
|
ok kettenis@
|
|
ok miod@ kettenis@
|
|
amplifier codec found on Apple M1 Macs.
ok patrick@, ratchov@
|
|
The GEMs on the PolarFire Soc implement four Rx queues and four
Tx queues for prioritizing traffic. All the queues are in a pseudo
active state after reset. The driver uses only queues with index 0.
Disable the rest to avoid DMA errors.
Tested on a SiFive FU740 by jca@, Microchip PolarFire SoC and
Xilinx Zynq-7000 by me.
|
|
we have passed a modified version of the contents in the capabilities
register if we wanted to override what sdhc(4) would otherwise read.
Unfortunately there's a second capabilities register that we did not
yet take into consideration, which is why to disable DDR50 support we
created a quirk flag in the softc. The sdhc(4) ACPI nodes have a way
to mask and set bits in both of the capabilities register, which is a
flexible approach to solving that issue and using that for our sdhc(4)
drivers even improves readability.
ok kettenis@
|
|
Tested on a PolarFire SoC.
|
|
new hardware support includes
Intel
ehl/Elkhart Lake (embedded)
jsl/Jasper Lake (atom)
rkl/Rocket Lake (desktop)
AMD
van gogh APU (gfx1033)
yellow carp / rembrandt APU (gfx1035?)
Ryzen 6000 APU
navy flounder / navi 22 (gfx1031)
RX 6700, RX 6700 XT, RX 6700M, RX 6800M, RX 6850M XT
dimgrey cavefish / navi 23 (gfx1032)
Pro W6600, Pro W6600M, RX 6600, RX 6600 XT, RX 6600M,
RX 6600S, RX 6650M, RX 6650M XT, RX 6700S, RX 6800S
beige goby / navi 24 (gfx1034)
RX 6500 XT, RX 6400, RX 6500M, RX 6300M
Thanks to the OpenBSD Foundation for sponsoring this work
niklas@ for helping with ttm and amdgpu and patrick@ for adapting
rockchip drm.
|
|
To fix Allwinner H6's UART problem, need to add dw-apb-uart special code.
ok kettenis@
|
|
ok kettenis@ patrick@
|
|
feedback and ok tb@ jmc@ ok ratchov@
|
|
Rework the tx path to use the consumer and producer positions to work out
the number of slots available, and to put packets on the ring until fewer
than DWXE_NTXSEGS slots are left, making dwxe_start() and dwxe_txeof()
work independently. While here, only write to DWXE_TX_CTL1 once
per call to dwxe_start() rather than once per packet.
Adjust the rx interrupt path to check the number of slots in use and
return slots once per interrupt.
Add interrupt and ifq barriers before taking the interface down.
With all of this done, we can mark dwxe(4) mpsafe.
tested on arm64 (a64 sopine) by mlarkin@ and armv7 (h2+) by me
ok dlg@
|
|
the number of slots available, and to put packets on the ring until fewer
than DWGE_NTXSEGS slots are left, making dwge_start() and dwge_txeof()
work independently. While here, only write to GMAC_TX_POLL_DEMAND once
per call to dwge_start() rather than once per packet.
Adjust the rx interrupt path to check the number of slots in use and
return slots once per interrupt.
Add interrupt and ifq barriers before taking the interface down.
With all of this done, we can mark dwge(4) mpsafe.
ok dlg@ patrick@
|
|
|
|
ok kettenis@
|
|
ok patrick@
|
|
bus_dmamap_load_raw(9). This fixes xhci(4) on the rpi4 with the
U-Boot from ports that is installed on the arm64 installation media.
ok mglocker@, patrick@
|
|
ok kettenis@
|
|
ok kettenis@
|
|
ok patrick@
|
|
a single I2C controller by using the pin muxing facilities of an SoC.
ok visa@
|
|
ok jsg@
|
|
This driver handles events triggered by GPIO keys such as lid status and
power button.
OK kettenis
|
|
|
|
The "label" property is obsolete and "function" should be used,
but devices like the Raspberry Pi 4b still use it.
Detect LEDs on such machines:
-gpioleds0 at mainbus0: no LEDs
+gpioleds0 at mainbus0: "led0", "led1"
OK patrick
|
|
OK patrick
|
|
Fixes panic seen on the Pinebook Pro.
|
|
we can access through the phy-handle. If there's no reference, keep doing
what we have been doing so far.
ok kettenis@
|
|
name "phys". To handle those, make sure that we look it up and in case it's
not there fall back to "fsl,usbphy".
ok kettenis@
|
|
member to allow us to specify a delay between assert the CS# signal and
starting the clock. And the transfer function gains a flags argument,
which can be used to specify a new SPI_KEEP_CS flag to keep CS# asserted
after the transfer. This allows us to do another transfer immediately
afterwards without de-asserting CS# which is necessary for sending
commands to the upcoming Apple M1 keyboard/touchpad driver.
ok patrick@
|
|
ok visa@ a long time ago, ok patrick@
|
|
that support Energy Efficient Ethernet when connected to a switch that
also supports Energy Effient Ethernet. For example on the odroid-hc4.
ok patrick@
|
|
firmware.
ok jsg@
|
|
implemented but have that call return NOT_SUPPORTED. Makes no sense,
but the SMCCC standard documents this and tells us to treat this as v1.0.
Change the code accordingly. Turn a few checks that should always be true
into KASSERTs to keep the control flow simple.
ok patrick@
|
|
Restrictions" document exists that discusses an errata #251 in section
"3.12 PCIe Completion Timeout" and suggests that setting the DIS_ORD_CHK
flag in the Debug Mux Control register is necessary as a workaround:
https://lore.kernel.org/linux-pci/20210624222621.4776-6-pali@kernel.org
This workaround is still being discussed by the Linux developers, but it
does fix an issue I am seeing with athn(4), where an external abort
happens under load. So apply this workaround since its potential side
effects seem to be significantly less severe than provoking an
external abort that hangs the machine.
ok patrick@
|
|
This driver provides support for battery chargers connected to GPIO pins,
such as those found on the Pinebook Pro.
OK kettenis
|
|
This driver provides support for LEDs connected to GPIO pins,
such as those found on the Pinebook Pro.
OK kettenis
|
|
Same approach as on Linux and NetBSD. This fixes bwfm(4) Wi-Fi on the
Raspberry Pi 3 Model B Plus.
help and ok kettenis@
|
|
to make the arm64 kernel link when compiled with -fno-inline.
ok kettenis@ mpi@
|
|
serial drivers.
ok patrick@
|
|
ok patrick@
|
|
so simply look up the first clock instead of looking for a specific one by
name. Allows rkpwm(4) to find the clock when using a recent device tree.
From Tomasz Bielecki
ok kettenis@
|
|
as boot interface when doing netboot. This makes auto install/upgrade work.
ok kettenis@ visa@
|
|
earlier. So far we haven't noticed this, as we had the assumption that
all clocks are enabled anyway. On the NanoPi R4S this does not seem to
be the case, so we need to bring the clock enable code closer to the
other bringup code.
ok kettenis@
|
|
some of those clocks to be enabled.
Noticed on the NanoPi R4S, where the Ethernet controller clocks were
surprisingly turned off.
ok kettenis@
|
|
ok kettenis@
|
|
ok kettenis@
|
|
|
|
|
|
network controller drivers. This also removes a variable modified by
both producer and consumer, making it a little bit more MP friendly.
Fixes a panic reported by Matthieu Estrade.
|
|
and produced index are equal. The RX refill operation did not refill
in that case, because it believed that this means there's nothing to
do. In that case no RX buffers were allocated, and the RX descriptor
ring went dry forever. Instead loop until we reach an empty freelist
entry.
|