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

Commit eab04917 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "icnss: Switch to new QMI framework" into msm-4.14

parents 544fb021 6e575578
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -361,6 +361,16 @@ config ICNSS_DEBUG
	  hardware register access and enabling BUG_ON for certain cases to aid
	  the debugging.

config ICNSS_QMI
       bool "ICNSS QMI support"
       depends on ICNSS
       ---help---
        Say 'Y' here to enable ICNSS QMI support. ICNSS driver will use
	QMI framework to communicate with WLAN FW. It will send coldboot
	handshake messages to WLAN FW, which includes hardware capabilities
	and configurations. It also send WLAN on/off control message to FW
	over QMI channel.

config QCOM_EUD
	tristate "QTI Embedded USB Debugger (EUD)"
	depends on ARCH_QCOM
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ obj-$(CONFIG_QCOM_MEMORY_DUMP_V2) += memory_dump_v2.o
obj-$(CONFIG_QCOM_WATCHDOG_V2) += watchdog_v2.o
obj-$(CONFIG_QPNP_PBS) += qpnp-pbs.o
obj-$(CONFIG_ICNSS) += icnss.o
obj-$(CONFIG_ICNSS_QMI) += icnss_qmi.o wlan_firmware_service_v01.o
obj-$(CONFIG_MSM_SPSS_UTILS) += spss_utils.o
obj-$(CONFIG_MSM_SERVICE_NOTIFIER) += service-notifier.o
obj-$(CONFIG_MSM_SERVICE_LOCATOR) += service-locator.o
+3 −2
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@
#include <linux/uaccess.h>
#include <linux/etherdevice.h>
#include <linux/of_gpio.h>
#include <linux/soc/qcom/qmi.h>
#include <soc/qcom/memory_dump.h>
#include <soc/qcom/icnss.h>
#include <soc/qcom/secure_buffer.h>
@@ -689,7 +690,7 @@ static int icnss_driver_event_server_arrive(void *data)
	set_bit(ICNSS_WLFW_EXISTS, &penv->state);
	clear_bit(ICNSS_FW_DOWN, &penv->state);

	ret = icnss_connect_to_fw_server(penv);
	ret = icnss_connect_to_fw_server(penv, data);
	if (ret)
		goto fail;

@@ -749,7 +750,7 @@ static int icnss_driver_event_server_arrive(void *data)

static int icnss_driver_event_server_exit(void *data)
{
	if (!penv || !penv->wlfw_clnt)
	if (!penv)
		return -ENODEV;

	icnss_pr_info("WLAN FW Service Disconnected: 0x%lx\n", penv->state);
+6 −1
Original line number Diff line number Diff line
@@ -114,6 +114,11 @@ enum icnss_driver_event_type {
	ICNSS_DRIVER_EVENT_MAX,
};

struct icnss_event_server_arrive_data {
	unsigned int node;
	unsigned int port;
};

struct icnss_event_pd_service_down_data {
	bool crashed;
	bool fw_rejuvenate;
@@ -295,7 +300,7 @@ struct icnss_priv {
	size_t smmu_iova_len;
	dma_addr_t smmu_iova_ipa_start;
	size_t smmu_iova_ipa_len;
	struct qmi_handle *wlfw_clnt;
	struct qmi_handle qmi;
	struct list_head event_list;
	spinlock_t event_lock;
	struct work_struct event_work;
+649 −525

File changed.

Preview size limit exceeded, changes collapsed.

Loading