Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fffbdb8d authored by Govind Singh's avatar Govind Singh
Browse files

UPSTREAM: ath10k: add QMI message handshake for wcn3990 client



Add WCN3990 QMI client handshakes for Q6 integrated WLAN connectivity
subsystem. This layer is responsible for communicating qmi control
messages to wifi fw QMI service using QMI messaging protocol.

Qualcomm MSM Interface(QMI) is a messaging format used to communicate
between components running between remote processors with underlying
transport layer based on integrated chipset(shared memory) or
discrete chipset(PCI/USB/SDIO/UART).

Change-Id: Ib8f17733ce5012db70a6165ee503bf5f5d1dab82
Signed-off-by: default avatarGovind Singh <govinds@codeaurora.org>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: default avatarNiklas Cassel <niklas.cassel@linaro.org>
Reviewed-by: default avatarBrian Norris <briannorris@chromium.org>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Git-commit: ba94c753ccb471bafe8bd824b744fda6fee0001e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git


Signed-off-by: default avatarGovind Singh <govinds@codeaurora.org>
parent cf11f44a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ config ATH10K_SNOC
	tristate "Qualcomm ath10k SNOC support (EXPERIMENTAL)"
	depends on ATH10K
	depends on ARCH_QCOM || COMPILE_TEST
	select QCOM_QMI_HELPERS
	---help---
	  This module adds support for integrated WCN3990 chip connected
	  to system NOC(SNOC). Currently work in progress and will not
+3 −1
Original line number Diff line number Diff line
@@ -36,7 +36,9 @@ obj-$(CONFIG_ATH10K_USB) += ath10k_usb.o
ath10k_usb-y += usb.o

obj-$(CONFIG_ATH10K_SNOC) += ath10k_snoc.o
ath10k_snoc-y += snoc.o
ath10k_snoc-y += qmi.o \
		 qmi_wlfw_v01.o \
		 snoc.o

# for tracing framework to find trace.h
CFLAGS_trace.o := -I$(src)
+4 −2
Original line number Diff line number Diff line
@@ -881,7 +881,7 @@ static int ath10k_download_fw(struct ath10k *ar)
	return ret;
}

static void ath10k_core_free_board_files(struct ath10k *ar)
void ath10k_core_free_board_files(struct ath10k *ar)
{
	if (!IS_ERR(ar->normal_mode_fw.board))
		release_firmware(ar->normal_mode_fw.board);
@@ -896,6 +896,7 @@ static void ath10k_core_free_board_files(struct ath10k *ar)
	ar->normal_mode_fw.ext_board_data = NULL;
	ar->normal_mode_fw.ext_board_len = 0;
}
EXPORT_SYMBOL(ath10k_core_free_board_files);

static void ath10k_core_free_firmware_files(struct ath10k *ar)
{
@@ -1259,7 +1260,7 @@ static int ath10k_core_create_eboard_name(struct ath10k *ar, char *name,
	return -1;
}

static int ath10k_core_fetch_board_file(struct ath10k *ar, int bd_ie_type)
int ath10k_core_fetch_board_file(struct ath10k *ar, int bd_ie_type)
{
	char boardname[100], fallback_boardname[100];
	int ret;
@@ -1307,6 +1308,7 @@ static int ath10k_core_fetch_board_file(struct ath10k *ar, int bd_ie_type)
	ath10k_dbg(ar, ATH10K_DBG_BOOT, "using board api %d\n", ar->bd_api);
	return 0;
}
EXPORT_SYMBOL(ath10k_core_fetch_board_file);

static int ath10k_core_get_ext_board_id_from_otp(struct ath10k *ar)
{
+2 −0
Original line number Diff line number Diff line
@@ -1070,5 +1070,7 @@ void ath10k_core_stop(struct ath10k *ar);
int ath10k_core_register(struct ath10k *ar,
			 const struct ath10k_bus_params *bus_params);
void ath10k_core_unregister(struct ath10k *ar);
int ath10k_core_fetch_board_file(struct ath10k *ar, int bd_ie_type);
void ath10k_core_free_board_files(struct ath10k *ar);

#endif /* _CORE_H_ */
+1019 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading