Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp2971437pxb; Thu, 10 Feb 2022 09:20:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJy5msJz84hL32ksvSFA6UtsQ3qlWdoLKlLz6bRQeajIYAXY+5M8oIP87wbHs7/5dDq/KiPa X-Received: by 2002:a17:907:6d94:: with SMTP id sb20mr7408266ejc.375.1644513631074; Thu, 10 Feb 2022 09:20:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644513631; cv=none; d=google.com; s=arc-20160816; b=W5qeW/maNdlhgrhBFNI9yt1oJvR2g8W9xxvKf6ebNKw0NFMFuV5cv7SaUdvRSNEeDo D4bN+slE0AdNGD+csfurCww8md67NwIMgVy7aGm9OPwHYdrXqkZ3Wqb0S/wFhpWuXzTH seLtghQQjQdFGgL9RCabBf0knmM/STgWSRlbobv0jdIu4xLz1AtbXXq/FPNeRJR9Ix// Q2fRikwAe/7oF7TMWrqJAtRkVXiJ5nHbx+xTnlC6EqZyX6t6S68evNH4MKC35r1EdL9H d+7sNtS1e/M87AmZwI0AfuKm0KXmGmwF//S09XvRQJq2yjrjMe6ysuv7hREb2Ytrs2a8 nT8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=3CIU2evyZfzAyHYhG2ufznK16bMKTsQez/4FSU4Res8=; b=bt/7zImXfsPS0fAXEnr5WEqNRxPVIRfZo6Y8VjNOshIRiDxGuJ/Wy1RaDwXXy+IQ1m ph+h4yylC39p4EgQ+/xhMBNodLEvZiIWXeDFkqfZajECmLj5Yriv7NGyGAKAQCf0gNwF QVEMToXK08LFVJluGJ0sNcgE+QlVCDtqLu/VHUkD89lmXxJQgxZ4ZtbkYyWlpWVLm9TV tpUK+r4QzrYHeKGsdVHLpTUrx7KIUw+ZoKqu5LknsIRwyhVr3X2a5w+rxFieLSGgoHJ1 vhPDsllIRif9oSmMuM9PDmrRsXEx+VTYoTSF6lilN7GeLV4XyamaeqqRTXMrZ24CNui/ RtBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bAfMCo+U; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p23si14161512edw.108.2022.02.10.09.20.05; Thu, 10 Feb 2022 09:20:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bAfMCo+U; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243332AbiBJPFf (ORCPT + 99 others); Thu, 10 Feb 2022 10:05:35 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:46116 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243374AbiBJPFa (ORCPT ); Thu, 10 Feb 2022 10:05:30 -0500 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE260EB8 for ; Thu, 10 Feb 2022 07:05:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644505531; x=1676041531; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=FCFaxlHJInbJzSoC7IFXEYPzspuu2T5M2w9ls7fBHRQ=; b=bAfMCo+UIuPyRmymEsrY8zR1pTfX/qmrBnC8kn6ZBoOAhD1rG9/nlALc 24R7HEY+RnymVWX9eBlJ//fpsrUQudF9igwz4mpcBqqN+Ue34vFMSh6rJ GEA1FP25fCCpnriM40vNk5Ox3w8Gi/WCgbeXd0L0PD4SarwZBRX9vuyeY u0P0c2prI44shEyyvbiEB0CbR/scIHu4bpqj+kt8TuTYgfT83hfp7YReg G9BFOqPbxdf4n05y3ZGn+TFn5xxJcp22H41vHP9m7J6mvzpbnae8AUNsS Q3i2Ccg6dTZft05U3OOXsIW8QwmYwpJjyuJ+359b6IoMpdcnxN0b+uJX+ w==; X-IronPort-AV: E=McAfee;i="6200,9189,10254"; a="230153169" X-IronPort-AV: E=Sophos;i="5.88,359,1635231600"; d="scan'208";a="230153169" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2022 07:05:30 -0800 X-IronPort-AV: E=Sophos;i="5.88,359,1635231600"; d="scan'208";a="500422536" Received: from barabano-mobl.ccr.corp.intel.com (HELO pujfalus-desk.ger.corp.intel.com) ([10.252.41.18]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Feb 2022 07:05:27 -0800 From: Peter Ujfalusi To: lgirdwood@gmail.com, broonie@kernel.org, pierre-louis.bossart@linux.intel.com, ranjani.sridharan@linux.intel.com Cc: alsa-devel@alsa-project.org, kai.vehmanen@linux.intel.com, daniel.baluta@nxp.com, tiwai@suse.com, linux-kernel@vger.kernel.org, fred.oh@linux.intel.com Subject: [PATCH v2 0/9] ASoC: SOF: IPC client infrastructure Date: Thu, 10 Feb 2022 17:05:16 +0200 Message-Id: <20220210150525.30756-1-peter.ujfalusi@linux.intel.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Changes since v1: - Fix compilation error in sound/soc/sof/compress.c: error: implicit declaration of function 'snd_sof_create_page_table' The patch introducing this is not in sof-dev, and I have missed cross compiling for aarch64. Original Cover letter The Linux SOF implementation is historically monolithic in a sense that all features accessible in the firmware can be used via the snd_sof_dev struct in one way or another. Support for features can not be added or removed runtime and with the current way of things it is hard if not impossible to implement support for dynamic feature support when based on the firmware manifest we can easily enable/access independent modules with the SOF. In order to be able to support such modularity this series introduces a small framework within SOF for client support using the Auxiliary bus. Client drivers can be removed runtime and later re-loaded if needed without affecting the core's behaviour, but it is the core's and the platform's duty to create the Auxiliary devices usable in the platform and via the firmware. There is still a need for SOF manifest update to convey information about features to really make the full dynamic client device creation. The series will introduce the core SOF client support and converts the generic ipc flood test, ipc message injector and the probes (Intel HDA only) to a client driver. Regards, Peter --- Peter Ujfalusi (8): ASoC: SOF: Drop unused DSP power states: D3_HOT and D3_COLD ASoC: SOF: Move the definition of enum sof_dsp_power_states to global header ASoC: SOF: ipc: Read and pass the whole message to handlers for IPC events ASoC: SOF: Split up utils.c into sof-utils and iomem-utils ASoC: SOF: Introduce IPC SOF client support ASoC: SOF: sof-client: Add support for clients not managed by pm framework ASoC: SOF: Convert the generic IPC message injector into SOF client ASoC: SOF: Convert the generic probe support to SOF client Ranjani Sridharan (1): ASoC: SOF: Convert the generic IPC flood test into SOF client include/sound/sof.h | 8 + sound/soc/sof/Kconfig | 33 +- sound/soc/sof/Makefile | 15 +- sound/soc/sof/compress.c | 1 + sound/soc/sof/core.c | 50 +- sound/soc/sof/debug.c | 565 -------------- sound/soc/sof/intel/Kconfig | 19 +- sound/soc/sof/intel/apl.c | 13 +- sound/soc/sof/intel/cnl.c | 13 +- sound/soc/sof/intel/hda-dai.c | 19 - sound/soc/sof/intel/hda-dsp.c | 6 - sound/soc/sof/intel/hda-probes.c | 72 +- sound/soc/sof/intel/hda.c | 10 + sound/soc/sof/intel/hda.h | 49 +- sound/soc/sof/intel/icl.c | 13 +- sound/soc/sof/intel/tgl.c | 13 +- sound/soc/sof/{utils.c => iomem-utils.c} | 61 +- sound/soc/sof/ipc.c | 88 ++- sound/soc/sof/ops.h | 43 - sound/soc/sof/pcm.c | 7 +- sound/soc/sof/pm.c | 13 +- sound/soc/sof/sof-client-ipc-flood-test.c | 396 ++++++++++ sound/soc/sof/sof-client-ipc-msg-injector.c | 192 +++++ sound/soc/sof/sof-client-probes.c | 821 ++++++++++++++++++++ sound/soc/sof/sof-client-probes.h | 31 + sound/soc/sof/sof-client.c | 469 +++++++++++ sound/soc/sof/sof-client.h | 67 ++ sound/soc/sof/sof-priv.h | 139 ++-- sound/soc/sof/sof-probes.c | 364 --------- sound/soc/sof/sof-probes.h | 38 - sound/soc/sof/sof-utils.c | 77 ++ sound/soc/sof/sof-utils.h | 19 + sound/soc/sof/trace.c | 1 + 33 files changed, 2416 insertions(+), 1309 deletions(-) rename sound/soc/sof/{utils.c => iomem-utils.c} (59%) create mode 100644 sound/soc/sof/sof-client-ipc-flood-test.c create mode 100644 sound/soc/sof/sof-client-ipc-msg-injector.c create mode 100644 sound/soc/sof/sof-client-probes.c create mode 100644 sound/soc/sof/sof-client-probes.h create mode 100644 sound/soc/sof/sof-client.c create mode 100644 sound/soc/sof/sof-client.h delete mode 100644 sound/soc/sof/sof-probes.c delete mode 100644 sound/soc/sof/sof-probes.h create mode 100644 sound/soc/sof/sof-utils.c create mode 100644 sound/soc/sof/sof-utils.h -- 2.35.1