Commit 6e0355af authored by Govind Singh's avatar Govind Singh Committed by Kalle Valo
Browse files

ath11k: add simple PCI client driver for QCA6390 chipset



QCA6390 is a PCI based 11ax chipset, split AHB into own kernel module
ath11k_ahb.ko and add ath11k_pci.ko for PCI devices.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2

Signed-off-by: default avatarGovind Singh <govinds@codeaurora.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1597309466-19688-5-git-send-email-kvalo@codeaurora.org
parent 34d5a3a8
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -12,6 +12,18 @@ config ATH11K

	  If you choose to build a module, it'll be called ath11k.

config ATH11K_AHB
	tristate "Atheros ath11k AHB support"
	depends on ATH11K
	help
	  This module adds support for AHB bus

config ATH11K_PCI
	tristate "Atheros ath11k PCI support"
	depends on ATH11K && PCI
	help
	  This module adds support for PCIE bus

config ATH11K_DEBUG
	bool "QCA ath11k debugging"
	depends on ATH11K
+6 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@ ath11k-y += core.o \
	    hal.o \
	    hal_tx.o \
	    hal_rx.o \
	    ahb.o \
	    wmi.o \
	    mac.o \
	    reg.o \
@@ -25,5 +24,11 @@ ath11k-$(CONFIG_ATH11K_TRACING) += trace.o
ath11k-$(CONFIG_THERMAL) += thermal.o
ath11k-$(CONFIG_ATH11K_SPECTRAL) += spectral.o

obj-$(CONFIG_ATH11K_AHB) += ath11k_ahb.o
ath11k_ahb-y += ahb.o

obj-$(CONFIG_ATH11K_PCI) += ath11k_pci.o
ath11k_pci-y += pci.o

# for tracing framework to find trace.h
CFLAGS_trace.o := -I$(src)
+1 −1
Original line number Diff line number Diff line
@@ -952,5 +952,5 @@ static void ath11k_ahb_exit(void)
}
module_exit(ath11k_ahb_exit);

MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11ax wireless chip");
MODULE_DESCRIPTION("Driver support for Qualcomm Technologies 802.11ax WLAN AHB devices");
MODULE_LICENSE("Dual BSD/GPL");
+2 −0
Original line number Diff line number Diff line
@@ -752,6 +752,7 @@ void ath11k_ce_free_pipes(struct ath11k_base *ab)
		}
	}
}
EXPORT_SYMBOL(ath11k_ce_free_pipes);

int ath11k_ce_alloc_pipes(struct ath11k_base *ab)
{
@@ -806,3 +807,4 @@ int ath11k_ce_get_attr_flags(int ce_id)

	return host_ce_config_wlan[ce_id].flags;
}
EXPORT_SYMBOL(ath11k_ce_get_attr_flags);
+7 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include "hif.h"

unsigned int ath11k_debug_mask;
EXPORT_SYMBOL(ath11k_debug_mask);
module_param_named(debug_mask, ath11k_debug_mask, uint, 0644);
MODULE_PARM_DESC(debug_mask, "Debugging mask");

@@ -788,11 +789,13 @@ void ath11k_core_deinit(struct ath11k_base *ab)
	ath11k_mac_destroy(ab);
	ath11k_core_soc_destroy(ab);
}
EXPORT_SYMBOL(ath11k_core_deinit);

void ath11k_core_free(struct ath11k_base *ab)
{
	kfree(ab);
}
EXPORT_SYMBOL(ath11k_core_free);

struct ath11k_base *ath11k_core_alloc(struct device *dev, size_t priv_size,
				      enum ath11k_bus bus)
@@ -825,3 +828,7 @@ struct ath11k_base *ath11k_core_alloc(struct device *dev, size_t priv_size,
	kfree(ab);
	return NULL;
}
EXPORT_SYMBOL(ath11k_core_alloc);

MODULE_DESCRIPTION("Core module for Qualcomm Atheros 802.11ax wireless LAN cards.");
MODULE_LICENSE("Dual BSD/GPL");
Loading