#
50107bc3 |
| 24-Mar-2024 |
patrick <patrick@openbsd.org> |
Implement resetting the PHY via a GPIO pin, like in fec(4). This helps enable the PHY on the Raspberry Pi 5.
ok kettenis@
|
#
dcec61dc |
| 15-Aug-2023 |
miod <miod@openbsd.org> |
Replace a bunch of (1 << 31) with (1U << 31)
|
#
caaad5e7 |
| 14-Aug-2022 |
jca <jca@openbsd.org> |
Unbreak, don't assume we always hold the NET_LOCK
After net/if.c:rev 1.661 ifioctl() doesn't take the net lock any more around SIOCGIFMEDIA and SIOCSIFMEDIA, which broke cad_ioctl(). The same was al
Unbreak, don't assume we always hold the NET_LOCK
After net/if.c:rev 1.661 ifioctl() doesn't take the net lock any more around SIOCGIFMEDIA and SIOCSIFMEDIA, which broke cad_ioctl(). The same was already true about SIOCGIFSFFPAGE. Only release/reacquire the net lock if warranted.
Input mvs@, ok miod@ mvs@ bluhm@
show more ...
|
#
9947cf1d |
| 08-Mar-2022 |
visa <visa@openbsd.org> |
Make cad(4) handle rxr ioctl.
|
#
dc7152bb |
| 07-Mar-2022 |
visa <visa@openbsd.org> |
Prevent deadlock in cad_down()
Introduce an rwlock to serialize cad(4) ioctl operations so that cad_down() can release NET_LOCK() temporarily when invoking barriers. This releasing prevents a possib
Prevent deadlock in cad_down()
Introduce an rwlock to serialize cad(4) ioctl operations so that cad_down() can release NET_LOCK() temporarily when invoking barriers. This releasing prevents a possible deadlock with the taskq barrier. The deadlock was pointed out by witness(4).
In addition, release NET_LOCK() when allocating memory in cad_up() to reduce the risk of ill effects.
show more ...
|
#
00f22677 |
| 27-Jan-2022 |
visa <visa@openbsd.org> |
cad(4): Disable unused priority queues
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. Th
cad(4): Disable unused priority queues
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.
show more ...
|
#
e20b624a |
| 29-Jul-2021 |
patrick <patrick@openbsd.org> |
Change driver class from DV_DULL to DV_IFNET, so that it can be recognized as boot interface when doing netboot. This makes auto install/upgrade work.
ok kettenis@ visa@
|
#
bd26bf05 |
| 27-Jun-2021 |
visa <visa@openbsd.org> |
Create DMA maps with 64-bit capability when appropriate.
OK kettenis@
|
#
d8cda1f5 |
| 27-Jun-2021 |
visa <visa@openbsd.org> |
Use config register to determine if 64-bit DMA is available.
Suggested by and OK kettenis@
|
#
bc7a8eb0 |
| 27-Jun-2021 |
jsg <jsg@openbsd.org> |
match on sifive,fu540-c000-gem
used by the hifive unmatched device tree in mainline linux and u-boot ok visa@
|
#
0aa35098 |
| 26-Jun-2021 |
visa <visa@openbsd.org> |
cad: Implement 64-bit DMA mode
This lets the driver utilize 64-bit DMA on hardware that supports it.
Currently, riscv64 does not constrain DMA-reachable memory to the 32-bit range. This caused memo
cad: Implement 64-bit DMA mode
This lets the driver utilize 64-bit DMA on hardware that supports it.
Currently, riscv64 does not constrain DMA-reachable memory to the 32-bit range. This caused memory errors with cad(4) on machines that have RAM above 4GB in the physical address space.
Prompted by Mickael Torres
OK kettenis@
show more ...
|
#
3b783122 |
| 25-Jun-2021 |
visa <visa@openbsd.org> |
Remove an unused struct.
|
#
afd483c3 |
| 13-Jun-2021 |
drahn <drahn@openbsd.org> |
Match sifive,fu740-c000-gem so that device is detected on Unmatched. pointed out by jsg@
|
#
cdbda811 |
| 28-May-2021 |
visa <visa@openbsd.org> |
Add cad(4), a driver for Cadence GEM.
This initial revision targets the Zynq-7000, where the GEM implements single transmit and receive queues with 32-bit DMA addresses. The driver uses receive chec
Add cad(4), a driver for Cadence GEM.
This initial revision targets the Zynq-7000, where the GEM implements single transmit and receive queues with 32-bit DMA addresses. The driver uses receive checksum offload, but transmit checksum offload is disabled because of a hardware quirk. Also, the hardware's receive path is prone to getting stuck if input cannot be handled quickly enough. The driver attempts to recover by restarting the receiver when no input has been seen for a while.
OK kettenis@
show more ...
|