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

Commit 05a4d865 authored by Naman Padhiar's avatar Naman Padhiar Committed by Gerrit - the friendly Code Review server
Browse files

icnss2: Setup DMS QMI client for WLAN MAC address



WLAN MAC address can be provisioned using NV memory based setup.
DMS QMI server connection is required to retrieve this MAC address.
Thus setup DMS QMI client in icnss platform driver and send this
MAC address for WLAN FW before mission mode enable.
1. Move DMS QMI files to cnss_util from cnss2.
2. Read "use-nv-mac" property from DT node to decide whether
   reding MAC address from NV memory is mandatory or not.
   If mandatory wait for DMS QMI server to read MAC address.
   If not mandatory read MAC address if DMS server is available
   otherwise continue.

Change-Id: Iddc5a7180c9eea2a8a9507f08b1b383bc095f2bc
Signed-off-by: default avatarNaman Padhiar <npadhiar@codeaurora.org>
parent 14bc214f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -9,4 +9,4 @@ cnss2-y += debug.o
cnss2-y += pci.o
cnss2-y += power.o
cnss2-y += genl.o
cnss2-$(CONFIG_CNSS2_QMI) += qmi.o coexistence_service_v01.o ip_multimedia_subsystem_private_service_v01.o device_management_service_v01.o
cnss2-$(CONFIG_CNSS2_QMI) += qmi.o coexistence_service_v01.o ip_multimedia_subsystem_private_service_v01.o
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

obj-$(CONFIG_CNSS_UTILS) += cnss_utils.o
obj-$(CONFIG_CNSS_QMI_SVC) += wlan_firmware_service_v01.o
obj-$(CONFIG_CNSS_QMI_SVC) += wlan_firmware_service_v01.o device_management_service_v01.o
+7 −2
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2020, The Linux Foundation. All rights reserved. */
/* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */

#include <linux/soc/qcom/qmi.h>

#include <linux/module.h>
#include "device_management_service_v01.h"

struct qmi_elem_info dms_get_mac_address_req_msg_v01_ei[] = {
@@ -22,6 +22,7 @@ struct qmi_elem_info dms_get_mac_address_req_msg_v01_ei[] = {
		.tlv_type       = QMI_COMMON_TLV_TYPE,
	},
};
EXPORT_SYMBOL(dms_get_mac_address_req_msg_v01_ei);

struct qmi_elem_info dms_get_mac_address_resp_msg_v01_ei[] = {
	{
@@ -71,3 +72,7 @@ struct qmi_elem_info dms_get_mac_address_resp_msg_v01_ei[] = {
		.tlv_type       = QMI_COMMON_TLV_TYPE,
	},
};
EXPORT_SYMBOL(dms_get_mac_address_resp_msg_v01_ei);

MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("WLAN qmi service DMS");
+1 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only
 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
 */

#ifndef DEVICE_MANAGEMENT_SERVICE_V01_H
+3 −0
Original line number Diff line number Diff line
@@ -411,6 +411,9 @@ static int icnss_stats_show_state(struct seq_file *s, struct icnss_priv *priv)
			continue;
		case ICNSS_COLD_BOOT_CAL:
			seq_puts(s, "COLD BOOT CALIBRATION");
			continue;
		case ICNSS_QMI_DMS_CONNECTED:
			seq_puts(s, "DMS_CONNECTED");
		}

		seq_printf(s, "UNKNOWN-%d", i);
Loading