mac80211: backport ath11k in linux kernel 6.1

This commit is contained in:
coolsnowwolf 2022-12-14 05:04:31 +08:00
parent 9185096ac0
commit ede1c194f6
5 changed files with 61 additions and 5 deletions

View File

@ -1356,11 +1356,11 @@ define KernelPackage/qrtr
SUBMENU:=$(NETWORK_SUPPORT_MENU)
TITLE:=Qualcomm IPC Router support
HIDDEN:=1
DEPENDS:=@(LINUX_5_15||LINUX_6_0)
DEPENDS:=@(LINUX_5_15||LINUX_6_0||LINUX_6_1)
KCONFIG:=CONFIG_QRTR
FILES:= \
$(LINUX_DIR)/net/qrtr/qrtr.ko \
$(LINUX_DIR)/net/qrtr/ns.ko
$(LINUX_DIR)/net/qrtr/ns.ko@lt6.0
AUTOLOAD:=$(call AutoProbe,qrtr)
endef

View File

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211
PKG_VERSION:=5.15.33-1
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.33/
PKG_HASH:=1b6b3bded4c81814ebebe2d194c2f8966d2399005b85ebb0557285b6e73f5422

View File

@ -376,7 +376,7 @@ define KernelPackage/ath11k-ahb
$(call KernelPackage/mac80211/Default)
TITLE:=Qualcomm 802.11ax AHB wireless chipset support
URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
DEPENDS+= @(TARGET_ipq60xx||TARGET_ipq807x) +kmod-ath11k +LINUX_5_15:kmod-qrtr-smd
DEPENDS+= @(TARGET_ipq60xx||TARGET_ipq807x) +kmod-ath11k +(LINUX_5_15||LINUX_6_1):kmod-qrtr-smd
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_ahb.ko
AUTOLOAD:=$(call AutoProbe,ath11k_ahb)
endef
@ -390,7 +390,7 @@ define KernelPackage/ath11k-pci
$(call KernelPackage/mac80211/Default)
TITLE:=Qualcomm 802.11ax PCI wireless chipset support
URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath11k
DEPENDS+= @PCI_SUPPORT +LINUX_5_15:kmod-qrtr-mhi +kmod-ath11k
DEPENDS+= @PCI_SUPPORT +(LINUX_5_15||LINUX_6_1):kmod-qrtr-mhi +kmod-ath11k
FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath11k/ath11k_pci.ko
AUTOLOAD:=$(call AutoProbe,ath11k_pci)
endef

View File

@ -0,0 +1,45 @@
--- a/drivers/net/wireless/ath/ath11k/pci.c
--- b/drivers/net/wireless/ath/ath11k/pci.c
@@ -427,7 +427,11 @@
pci_read_config_dword(pci_dev, pci_dev->msi_cap + PCI_MSI_ADDRESS_LO,
&ab->pci.msi.addr_lo);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
if (msi_desc->msi_attrib.is_64) {
+#else
+ if (msi_desc->pci.msi_attrib.is_64) {
+#endif
pci_read_config_dword(pci_dev, pci_dev->msi_cap + PCI_MSI_ADDRESS_HI,
&ab->pci.msi.addr_hi);
} else {
--- a/drivers/net/wireless/ath/ath11k/pcic.c
+++ b/drivers/net/wireless/ath/ath11k/pcic.c
@@ -548,8 +548,13 @@
irq_grp->ab = ab;
irq_grp->grp_id = i;
init_dummy_netdev(&irq_grp->napi_ndev);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
netif_napi_add(&irq_grp->napi_ndev, &irq_grp->napi,
ath11k_pcic_ext_grp_napi_poll, NAPI_POLL_WEIGHT);
+#else
+ netif_napi_add_weight(&irq_grp->napi_ndev, &irq_grp->napi,
+ ath11k_pcic_ext_grp_napi_poll, NAPI_POLL_WEIGHT);
+#endif
if (ab->hw_params.ring_mask->tx[i] ||
ab->hw_params.ring_mask->rx[i] ||
--- a/net/qrtr/qrtr.c
+++ b/net/qrtr/qrtr.c
@@ -1035,8 +1035,12 @@
return -EADDRNOTAVAIL;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6,1,0)
skb = skb_recv_datagram(sk, flags & ~MSG_DONTWAIT,
flags & MSG_DONTWAIT, &rc);
+#else
+ skb = skb_recv_datagram(sk, flags, &rc);
+#endif
if (!skb) {
release_sock(sk);
return rc;

View File

@ -0,0 +1,11 @@
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -92,7 +92,7 @@ config QCOM_PDR_HELPERS
select QCOM_QMI_HELPERS
config QCOM_QMI_HELPERS
- tristate
+ tristate "Qualcomm QMI Helpers"
depends on NET
config QCOM_RMTFS_MEM