ipq40xx: mikrotik: provide BDF-s on demand
authorRobert Marko <robimarko@gmail.com>
Tue, 30 Nov 2021 09:27:50 +0000 (10:27 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 19 May 2022 09:07:02 +0000 (11:07 +0200)
Since we now can pass the API 1 BDF-s aka board.bin to the ath10k
driver per radio lets use that to provide the BDF-s for MikroTik devices.

This also resolves the performance issues that happen as MikroTik changes
the boards and ships them under the same revision but they actually ship
with and require a different BDF.

Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata

index c02b12dceb19283ed734b05fa8d489cabe0798f6..e0b4eed6f2b94481007de0a2d7e7fc090e51e0a6 100644 (file)
@@ -215,6 +215,29 @@ case "$FIRMWARE" in
                ;;
        esac
        ;;
+"ath10k/QCA4019/hw1.0/board-ahb-a000000.wifi.bin")
+       case "$board" in
+       mikrotik,cap-ac |\
+       mikrotik,hap-ac2 |\
+       mikrotik,hap-ac3)
+               wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
+               ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x2f20 0x2f20 ) || \
+               ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_0" 0x2f20 0x2f20 )
+               ;;
+       esac
+       ;;
+"ath10k/QCA4019/hw1.0/board-ahb-a800000.wifi.bin")
+       case "$board" in
+       mikrotik,cap-ac |\
+       mikrotik,hap-ac2 |\
+       mikrotik,hap-ac3 |\
+       mikrotik,sxtsq-5-ac)
+               wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
+               ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0xaf20 0x2f20 ) || \
+               ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_2" 0x2f20 0x2f20 )
+               ;;
+       esac
+       ;;
 *)
        exit 1
        ;;