mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-20 02:43:38 +00:00
This series is based on * 2020-07-10 ipq6018-ilq-11-0_qca_oem-034672b0676c37b1f4519e5720e18e95fe6236ef Add support for * qsdk kernel/v4.4 * qsdk ethernet subsystem * v5.7 ath11k backport + QualComm staging patches (wlan_ap_1.0) * ath11k-firmware * hostapd/iw/... Feature support * full boot, system detection * sysupgrade to nand * HE support via latest hostapd * driver support for usb, crypto, hwmon, cpufreq, ... Missing * NSS/HW flow offloading - FW blob is not redistributable Using the qsdk v4.4 is an intermediate solution while the vanilla is being tested. Vanilla kernel is almost on feature par. Work has already started to upstream the ethernet and switch drivers. Once complete the target will be fully upstream. Signed-off-by: John Crispin <john@phrozen.org>
70 lines
2.8 KiB
Diff
70 lines
2.8 KiB
Diff
From 506035fe70cc4ecb2d9264bfc6376ee15e5e091e Mon Sep 17 00:00:00 2001
|
|
From: Anilkumar Kolli <akolli@codeaurora.org>
|
|
Date: Mon, 23 Mar 2020 15:02:10 +0530
|
|
Subject: [PATCH 160/164] ath11k: Fill appropriate QMI service instance id for
|
|
QCA6x90
|
|
|
|
QMI service instance id is used for qmi service lookup, QCA8074 and
|
|
QCA6x90 uses different instance id for service lookup.
|
|
Fill appropriate QMI service instance id for respective targets.
|
|
|
|
Signed-off-by: Govind Singh <govinds@codeaurora.org>
|
|
Signed-off-by: Anilkumar Kolli <akolli@codeaurora.org>
|
|
---
|
|
drivers/net/wireless/ath/ath11k/ahb.c | 1 +
|
|
drivers/net/wireless/ath/ath11k/pci.c | 1 +
|
|
drivers/net/wireless/ath/ath11k/qmi.c | 2 +-
|
|
drivers/net/wireless/ath/ath11k/qmi.h | 3 +++
|
|
4 files changed, 6 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/ahb.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/ahb.c
|
|
@@ -544,6 +544,7 @@ static void ath11k_ahb_init_qmi_ce_confi
|
|
cfg->tgt_ce = target_ce_config_wlan;
|
|
cfg->svc_to_ce_map_len = ARRAY_SIZE(target_service_to_ce_map_wlan);
|
|
cfg->svc_to_ce_map = target_service_to_ce_map_wlan;
|
|
+ ab->qmi.service_ins_id = ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_QCA8074;
|
|
}
|
|
|
|
static void ath11k_ahb_free_ext_irq(struct ath11k_base *ab)
|
|
--- a/drivers/net/wireless/ath/ath11k/pci.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/pci.c
|
|
@@ -342,6 +342,7 @@ static void ath11k_pci_init_qmi_ce_confi
|
|
|
|
cfg->svc_to_ce_map = target_service_to_ce_map_wlan;
|
|
cfg->svc_to_ce_map_len = sizeof(target_service_to_ce_map_wlan);
|
|
+ ab->qmi.service_ins_id = ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_QCA6x90;
|
|
}
|
|
|
|
static void ath11k_pci_ce_irq_enable(struct ath11k_base *ab, u16 ce_id)
|
|
--- a/drivers/net/wireless/ath/ath11k/qmi.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
|
|
@@ -3005,7 +3005,7 @@ int ath11k_qmi_init_service(struct ath11
|
|
|
|
ret = qmi_add_lookup(&ab->qmi.handle, ATH11K_QMI_WLFW_SERVICE_ID_V01,
|
|
ATH11K_QMI_WLFW_SERVICE_VERS_V01,
|
|
- ATH11K_QMI_WLFW_SERVICE_INS_ID_V01);
|
|
+ ab->qmi.service_ins_id);
|
|
if (ret < 0) {
|
|
ath11k_warn(ab, "failed to add qmi lookup\n");
|
|
return ret;
|
|
--- a/drivers/net/wireless/ath/ath11k/qmi.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/qmi.h
|
|
@@ -21,6 +21,8 @@
|
|
#define ATH11K_QMI_WLFW_SERVICE_ID_V01 0x45
|
|
#define ATH11K_QMI_WLFW_SERVICE_VERS_V01 0x01
|
|
#define ATH11K_QMI_WLFW_SERVICE_INS_ID_V01 0x02
|
|
+#define ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_QCA6x90 0x01
|
|
+#define ATH11K_QMI_WLFW_SERVICE_INS_ID_V01_QCA8074 0x02
|
|
#define ATH11K_QMI_WLANFW_MAX_TIMESTAMP_LEN_V01 32
|
|
#define ATH11K_QMI_RESP_LEN_MAX 8192
|
|
#define ATH11K_QMI_WLANFW_MAX_NUM_MEM_SEG_V01 32
|
|
@@ -127,6 +129,7 @@ struct ath11k_qmi {
|
|
struct target_info target;
|
|
wait_queue_head_t cold_boot_waitq;
|
|
struct m3_mem_region m3_mem;
|
|
+ unsigned int service_ins_id;
|
|
};
|
|
|
|
#define QMI_WLANFW_QDSS_TRACE_CONFIG_DOWNLOAD_REQ_MSG_V01_MAX_LEN 6167
|