When seeing an error from the host controller, delay the soft reset by 100us.
This helps the hardware found in Rockchip RK3568 and RK3588 SoCs.
See PR kern/60311.
Needs pullup to netbsd-10 and -11.
Restore aprint_error_dev() for early errors. It's not perfect, but on
reflection better than removing it for when we run `dmesg` later.
(partially reverts r1.15)
arm: relax coherent DMA ordering barriers from DSB to DMB
Use DMB instead of DSB for the ARM coherent DMA ordering macros dma_*_*()
The previous definitions used DSB, which enforces completion semantics and
is heavier than needed for coherent device DMA ordering. DMB provides ordering
of memory operations without requiring full completion, making it the
appropriate barrier for these coherent-only CPU/device DMA paths.
Tested on Fusion VM, Orion O6, and Thunderx.
There is an approximate 1% performance improvement for the Fusion VM, but
less for Orion O6 and Thunderx.
pppoe(4): wait for incoming connection in STATE_STARTING on server
When the interface goes up, LCP is now explicitly opened to
start the lower (PPPoE) layer. This behavior is the same for
both active and passive connections.
To unify the implementation, remove the difference in LCP
handling between these connections.
Remove unused if_up() code since loopback detected interface remains down
Previously, the lower layer could still trigger an if_up() even after
if_down(). However, now that if_down() completely stops the interface,
this subsequent if_up() is no longer called.
Reset LCP by triggering Close and Open events sequentially
Previously, LCP waited for a Down event after Close, and
triggered the Open event upon receiving it. However, simply triggering
the Close and Open events sequentially is sufficient to reset all
layer states.
NOTE:
To restart the connection after a keepalive timeout or
a loopback is detected, disable the PP_LOOPBACK_IFDOWN
and/or PP_KEEPALIVE_IFDOWN options.