From patchwork Fri Aug 31 15:18:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liam Girdwood X-Patchwork-Id: 10584223 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 97A5817DB for ; Fri, 31 Aug 2018 17:15:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 84ACB2C141 for ; Fri, 31 Aug 2018 17:15:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 740692C08A; Fri, 31 Aug 2018 17:15:12 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 69EBD2C08A for ; Fri, 31 Aug 2018 17:15:11 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 869C6267961; Fri, 31 Aug 2018 17:19:59 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 016A1267972; Fri, 31 Aug 2018 17:19:53 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by alsa0.perex.cz (Postfix) with ESMTP id D691C267956 for ; Fri, 31 Aug 2018 17:19:44 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 31 Aug 2018 08:19:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,312,1531810800"; d="scan'208";a="77046592" Received: from vparamuz-mobl1.ccr.corp.intel.com (HELO sif.ger.corp.intel.com) ([10.252.7.251]) by FMSMGA003.fm.intel.com with ESMTP; 31 Aug 2018 08:19:20 -0700 From: Liam Girdwood To: Date: Fri, 31 Aug 2018 16:18:58 +0100 Message-Id: <20180831151910.16122-1-liam.r.girdwood@linux.intel.com> X-Mailer: git-send-email 2.17.1 Cc: Liam Girdwood , Mark Brown Subject: [alsa-devel] [PATCH v2 00/12] Sound Open Firmware Core X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP Sound Open Firmware (SOF) is a host and DSP architecture agnostic audio DSP firmware. SOF is not tied to any specific host architecture or any specific physical IO communication type (it will work with on SoC DSPs, or DSP connected via SPI/I2C). SOF is also not coupled to any particular DSP architecture and has abstraction similar to Linux to allow porting to other DSP architectures. https://www.sofproject.org/ This patch series introduces the SOF core, later series will add host platform support for SOF. The SOF core manages all the core DSP services and ALSA/ASoC IO. The core is responsible for loading firmware, parsing topology, exposing PCMs and kcontrols, providing debug and trace mechanisms and performing IPC between host and DSP. The SOF core also has logic to allow reuse of existing machine drivers for other platforms/machines without any code modification. i.e. DAI links can be modified at runtime to bind with SOF and SOF topologies instead of existing hard coded DAI links and topology. Changes since V1 :- o Added PM source. o Updated header comments to C++ style o Used generic private data in snd_soc_pcm_runtime o remove sof_get_pages() o Added comments for compressed SG pages. o Check return values for runtime_pm calls. Liam Girdwood (12): ASoC: SOF: Add Sound Open Firmware driver core ASoC: SOF: Add Sound Open Firmware KControl support ASoC: SOF: Add driver debug support. ASoC: SOF: Add support for IPC IO between DSP and Host ASoC: SOF: Add PCM operations support ASoC: SOF: Add support for loading topologies ASoC: SOF: Add DSP firmware trace event support ASoC: SOF: Add DSP HW abstraction operations ASoC: SOF: Add firmware loader support ASoC: SOF: Add PM support ASoC: SOF: Add userspace ABI support ASoC: SOF: Add Build support for SOF core include/sound/soc.h | 3 + include/sound/sof.h | 82 ++ include/uapi/sound/sof-abi.h | 29 + include/uapi/sound/sof-eq.h | 102 ++ include/uapi/sound/sof-fw.h | 67 + include/uapi/sound/sof-ipc.h | 938 ++++++++++++ include/uapi/sound/sof-tone.h | 27 + include/uapi/sound/sof-topology.h | 94 ++ sound/soc/Kconfig | 1 + sound/soc/Makefile | 1 + sound/soc/sof/Kconfig | 36 + sound/soc/sof/Makefile | 6 + sound/soc/sof/control.c | 270 ++++ sound/soc/sof/core.c | 381 +++++ sound/soc/sof/debug.c | 157 ++ sound/soc/sof/ipc.c | 788 ++++++++++ sound/soc/sof/loader.c | 287 ++++ sound/soc/sof/ops.c | 210 +++ sound/soc/sof/ops.h | 298 ++++ sound/soc/sof/pcm.c | 733 ++++++++++ sound/soc/sof/pm.c | 345 +++++ sound/soc/sof/sof-priv.h | 519 +++++++ sound/soc/sof/topology.c | 2222 +++++++++++++++++++++++++++++ sound/soc/sof/trace.c | 293 ++++ 24 files changed, 7889 insertions(+) create mode 100644 include/sound/sof.h create mode 100644 include/uapi/sound/sof-abi.h create mode 100644 include/uapi/sound/sof-eq.h create mode 100644 include/uapi/sound/sof-fw.h create mode 100644 include/uapi/sound/sof-ipc.h create mode 100644 include/uapi/sound/sof-tone.h create mode 100644 include/uapi/sound/sof-topology.h create mode 100644 sound/soc/sof/Kconfig create mode 100644 sound/soc/sof/Makefile create mode 100644 sound/soc/sof/control.c create mode 100644 sound/soc/sof/core.c create mode 100644 sound/soc/sof/debug.c create mode 100644 sound/soc/sof/ipc.c create mode 100644 sound/soc/sof/loader.c create mode 100644 sound/soc/sof/ops.c create mode 100644 sound/soc/sof/ops.h create mode 100644 sound/soc/sof/pcm.c create mode 100644 sound/soc/sof/pm.c create mode 100644 sound/soc/sof/sof-priv.h create mode 100644 sound/soc/sof/topology.c create mode 100644 sound/soc/sof/trace.c