On Sun, Apr 28, 2024 at 01:46:22PM +0200, BESSOT Jean-Michel wrote:
> Hello
> 
> qwx does not work after the last snapshot.
> 
> There is an error message in dmesg that I send.
> 
> If you need more information feel free to ask.
> 
> bye

> qwx0: could not allocate DP SRNG DMA memory

Does this error persist or is it only happening occasionally?
Does it persist during repeated ifconfig qwx0 down/up cycles?
Does it persist after rebooting?

It looks like your machine ran out of sufficient non-fragmented
memory below 4GB, which was evidently still available while the
system was booting since the firmware version was displayed,
meaning the affected code path ran successfully at least once.

The qwx driver is doing a lot of DMA allocations during 'ifconfig qwx0 up'
because the code inherited from Linux behaves this way and I didn't have
the guts to change that during the initial porting effort as it would have
made things even more complicated during this early phase of development.

Generally, OpenBSD drivers reserve DMA memory during early boot (autoconf)
and keep it around to avoid such errors in case the system runs out of
sufficient usable fresh DMA memory later.
So this issue could probably be avoided by refactoring things such that
DMA memory is only allocated once and not freed when the interface goes
down.

The rest of the error messages are most likely just fallout from the
above allocation error.

> qwx_dp_pdev_reo_setup: failed to setup reo_dst_ring
> qwx_core_start: failed to initialize reo destination rings: 12
> qwx0: failed to start core: 12
> qwx0: tx credits timeout
> qwx0: failed to send WMI_PDEV_SET_PARAM cmd
> qwx0: failed to enable dynamic bw for pdev 0: 35

Reply via email to