From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752731AbdKGFUu (ORCPT ); Tue, 7 Nov 2017 00:20:50 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:55798 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752691AbdKGFUs (ORCPT ); Tue, 7 Nov 2017 00:20:48 -0500 X-Google-Smtp-Source: ABhQp+R9ul+Z+Z2/gdImh27ZDL7M7W2rrsOhdK1oO/wYrcwj/dV+jgrvazR8kKDzUKydrpLuHIOteA== From: Bjorn Andersson To: Andy Gross , Ohad Ben-Cohen , Bjorn Andersson Cc: Arun Kumar Neelakantam , Chris Lew , linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-remoteproc@vger.kernel.org Subject: [PATCH v2 0/5] In-kernel QMI helpers and sysmon Date: Mon, 6 Nov 2017 21:20:37 -0800 Message-Id: <20171107052042.22569-1-bjorn.andersson@linaro.org> X-Mailer: git-send-email 2.15.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series introduces a helper library for drivers that needs to implement clients or services in the kernel for communicating with QMI encoded messages. This is used by a set of drivers in order to implement control signaling that needs to happen between a driver and a service on a remote processor, such as the synchronization of states during a remoteproc shutdown/restart; as seen in the sysmon implementation. Finally a sample driver provides an implementation of the "test" protocol, which is a service typically implemented by Qualcomm remoteproc firmware. Changes since v1: - Lot of modifications to QMI interface, from feedback and implementation and testing of sysmon. - Added sysmon driver. - Added patch for remoteproc to pass gracefulness on subdev remove. - QRTR patches part of v1 was merged separately Bjorn Andersson (5): soc: qcom: Introduce QMI encoder/decoder soc: qcom: Introduce QMI helpers remoteproc: Pass type of shutdown to subdev remove remoteproc: qcom: Introduce sysmon samples: Introduce Qualcomm QMI sample client drivers/remoteproc/Kconfig | 17 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/qcom_adsp_pil.c | 12 + drivers/remoteproc/qcom_common.c | 6 +- drivers/remoteproc/qcom_common.h | 21 + drivers/remoteproc/qcom_q6v5_pil.c | 3 + drivers/remoteproc/qcom_sysmon.c | 585 ++++++++++++++++++++++++ drivers/remoteproc/qcom_wcnss.c | 4 + drivers/remoteproc/remoteproc_core.c | 18 +- drivers/soc/qcom/Kconfig | 9 + drivers/soc/qcom/Makefile | 3 + drivers/soc/qcom/qmi_encdec.c | 812 +++++++++++++++++++++++++++++++++ drivers/soc/qcom/qmi_interface.c | 849 +++++++++++++++++++++++++++++++++++ include/linux/remoteproc.h | 4 +- include/linux/soc/qcom/qmi.h | 273 +++++++++++ samples/Kconfig | 9 + samples/Makefile | 2 +- samples/qmi/Makefile | 1 + samples/qmi/qmi_sample_client.c | 631 ++++++++++++++++++++++++++ 19 files changed, 3245 insertions(+), 15 deletions(-) create mode 100644 drivers/remoteproc/qcom_sysmon.c create mode 100644 drivers/soc/qcom/qmi_encdec.c create mode 100644 drivers/soc/qcom/qmi_interface.c create mode 100644 include/linux/soc/qcom/qmi.h create mode 100644 samples/qmi/Makefile create mode 100644 samples/qmi/qmi_sample_client.c -- 2.15.0