2022-01-18 02:32:04

by fckath

[permalink] [raw]
Subject: ath11k and the 32 MSI problem

Hello world;
 
I've got a bunch of M.2 Type A/E Wifi 6e cards from Emwicon (WMX7205) and Sparklan (WNFQ-268AXI(BT)) wirth Qualcomm WCN6856 chips.
 
I'd like to use them on DFI AL553 3.5" SBCs with ATOM E3940 processor (https://www.dfi.com/de/product/index/1409), but I was hit by the error message "failed to get 32 MSI vectors, only -28 available". Ok, it seems that the Atom E3900 does not support VT-d. I managed to get these card working on standard PCs with i7 and i5 with active VT-d. However, when disabling VT-d in the BIOS I get the same behaviour as on the Atom boards.

I tried the single MSI patch on https://wireless.wiki.kernel.org/en/users/drivers/ath11k but failed to apply these patches to an 5.15.0 kernel from Debian backports.

Are there
- patches for 5.15 or 5.16?
- patched drivers for 5.15 or 5.16?
- information where to find a matching driver source on which the patches will apply?

Best Regards

Frank-Christian Kruegel

 


2022-01-18 02:33:05

by Kalle Valo

[permalink] [raw]
Subject: Re: ath11k and the 32 MSI problem

(adding ath11k list)

[email protected] writes:

> Hello world;
>  
> I've got a bunch of M.2 Type A/E Wifi 6e cards from Emwicon (WMX7205)
> and Sparklan (WNFQ-268AXI(BT)) wirth Qualcomm WCN6856 chips.
>  
> I'd like to use them on DFI AL553 3.5" SBCs with ATOM E3940 processor
> (https://www.dfi.com/de/product/index/1409), but I was hit by the
> error message "failed to get 32 MSI vectors, only -28 available". Ok,
> it seems that the Atom E3900 does not support VT-d. I managed to get
> these card working on standard PCs with i7 and i5 with active VT-d.
> However, when disabling VT-d in the BIOS I get the same behaviour as
> on the Atom boards.
>
> I tried the single MSI patch on
> https://wireless.wiki.kernel.org/en/users/drivers/ath11k but failed to
> apply these patches to an 5.15.0 kernel from Debian backports.
>
> Are there
> - patches for 5.15 or 5.16?
> - patched drivers for 5.15 or 5.16?
> - information where to find a matching driver source on which the patches will apply?

The support for one MSI vectors will be in v5.17-rc1, which should be
released next Sunday. The feature is already on Linus' tree.

IIRC you need these commits, in case you want to backport them:

e94b07493da3 ath11k: Set IRQ affinity to CPU0 in case of one MSI vector
915a081ff307 ath11k: do not restore ASPM in case of single MSI vector
ac6e73483f7b ath11k: add support one MSI vector
c41a6700b276 ath11k: refactor multiple MSI vector implementation
4ab4693f327a ath11k: use ATH11K_PCI_IRQ_DP_OFFSET for DP IRQ
01279bcd01d9 ath11k: add CE and ext IRQ flag to indicate irq_handler
87b4072d7ef8 ath11k: get msi_data again after request_irq is called
081e2d6476e3 ath11k: add hw_param for wakeup_mhi

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches