Search Linux Wireless

ath9k legacy vs MSI interrupt issue on imx8mm soc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greetings,

I'm running into an issue regarding ath9k interrupts on imx8mm SoC's.
I'm using the latest kernel source (master) but have recreated this
all the way back to 5.15.

I find on boards with an IMX8MM (ie imx8mm-venice-gw320x-0x
device-tree) ath9k will not trigger any legacy interrupts.
# dmesg | grep ath
[    2.468657] ath9k 0000:04:00.0: enabling device (0000 -> 0002)
[    2.474702] ath: phy0: WB335 2-ANT card detected
[    2.479341] ath: phy0: Set BT/WLAN RX diversity capability
[    2.493720] ath: phy0: Enable LNA combining
[    2.499099] ath: EEPROM regdomain: 0x6a
[    2.499106] ath: EEPROM indicates we should expect a direct regpair map
[    2.499114] ath: Country alpha2 being used: 00
[    2.499119] ath: Regpair used: 0x6a
[    8.167876] ath9k 0000:04:00.0 wlp4s0: renamed from wlan0
# wpa_supplicant -i wlp4s0 -c wpa_supplicant.conf -B
Successfully initialized wpa_supplicant
# [  143.368897] wlp4s0: authenticate with 04:f0:21:59:3c:f8
[  143.374230] wlp4s0: 80 MHz not supported, disabling VHT
[  143.391982] wlp4s0: send auth to 04:f0:21:59:3c:f8 (try 1/3)
[  144.831653] wlp4s0: send auth to 04:f0:21:59:3c:f8 (try 2/3)
[  145.823657] wlp4s0: send auth to 04:f0:21:59:3c:f8 (try 3/3)
[  146.815655] wlp4s0: authentication with 04:f0:21:59:3c:f8 timed out
[  147.896946] wlp4s0: authenticate with 04:f0:21:59:3c:f8
[  147.902290] wlp4s0: 80 MHz not supported, disabling VHT
....
# grep ath /proc/interrupts
205:          0          0          0          0     GICv3 157 Level     ath9k
^^^ no interrupts

I've read that some SoC miniPCIe controllers don't support legacy
interrupts so I try again adding 'ath9k.use_msi=1' to bootargs:
root@jammy-venice:~# dmesg | grep ath
[    4.314829] systemd[1]: Reached target Path Units.
[    7.707747] usbcore: registered new interface driver ath3k
[    7.792173] ath9k 0000:03:00.0: enabling device (0000 -> 0002)
[    7.792471] ath9k 0000:03:00.0: Using MSI
[    7.796661] ath: phy0: WB335 2-ANT card detected
[    7.796674] ath: phy0: Set BT/WLAN RX diversity capability
[    7.804722] ath: phy0: Enable LNA combining
[    7.805995] ath: EEPROM regdomain: 0x6a
[    7.806008] ath: EEPROM indicates we should expect a direct regpair map
[    7.806015] ath: Country alpha2 being used: 00
[    7.806019] ath: Regpair used: 0x6a
[    8.493786] ath: phy0: __ath9k_hw_enable_interrupts: _msi_reg = 0x6A0C9C8
[    8.501691] ath: phy0: __ath9k_hw_enable_interrupts: _msi_reg = 0x6A0C9C8
[    8.515139] ath: phy0: __ath9k_hw_enable_interrupts: _msi_reg = 0x6A0C9C8
[    8.632850] ath: phy0: __ath9k_hw_enable_interrupts: _msi_reg = 0x6A0C9C8
[    8.646438] ath: phy0: __ath9k_hw_enable_interrupts: _msi_reg = 0x6A0C9C8
[    8.716020] ath: phy0: __ath9k_hw_enable_interrupts: _msi_reg = 0xEA0C9C8
[    8.787447] ath: phy0: __ath9k_hw_enable_interrupts: _msi_reg = 0xEA0C9C8
...
root@jammy-venice:~# grep ath /proc/interrupts
239:          0          0          0          0   PCI-MSI 1572864
Edge      ath9k
^^^ now the driver is having trouble with MSI interrupts and the
device doesn't work

Strangely when I use the same radio and kernel on an IMX6Q board (ie
imx6q-gw54xx) (which has the same PCI MAC but different PHY than the
IMX8MM) I find that I 'must' use legacy interrupts and trying to use
MSI interrupts results in the above behavior.

Note that the boards I'm using have a PCI switch and I'm wondering if
that is causing the issue.

Additionally I can say that ath10k cards work fine on the same imx8mm
board with MSI interrupts.

It seems that Daniel may have been running into something similar back
when commit 7368160f0ab0 ("ath9k: add MSI support") was merged
[1][2][3]

Does anyone have any advice here about what can be going on?

Best Regards,

Tim
[1] https://patchwork.kernel.org/project/linux-wireless/patch/20171011101806.6295-1-rhu@xxxxxxxxxxxxxxxx/
[2] https://marc.info/?l=linux-pci&m=150238260826803&w=2
[3] https://marc.info/?l=linux-pci&m=150831581725596&w=2



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux