Message ID | 20230515071042.2038-1-yung-chuan.liao@linux.intel.com |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp6722807vqo; Mon, 15 May 2023 00:07:29 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5U+YYuZOIKZqKVJ7s7fqyZ7Om5UAYL4W8kshoVc0W8fJ82+BLhixk12ltDHsbg05lGtaAW X-Received: by 2002:a05:6a20:4325:b0:100:ac13:9a57 with SMTP id h37-20020a056a20432500b00100ac139a57mr34133354pzk.55.1684134448816; Mon, 15 May 2023 00:07:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684134448; cv=none; d=google.com; s=arc-20160816; b=FZVYd5QtyBEV862WjZvtC/sEllpfsi4cHEpOVxFV/sAm7feu9zvwKYQG4q810mkKpZ zTFpKB8ghCE9/WWR2hI/JKG9mQtzbr4tNigD08nrHrtef+Gly8wurPKmo1CFnKDXVJ8D dTKMY4mgfQBQ9O1sv/3BtAtexMp6+xTXd1ZZ1gk9qRPRv4v75ixKH8ISfmkaO2LhcMHt qgiCWyIoLfTpswQhYDTq1EFtWOe+U9t3GF13OQY5ZbedRG8zoqHL7r4f+CiIubnQZBRW 7Y/xSsLkzmwAh7MNzQsC+jnJjYJB6H4lxPIycs/gns877q64nyJ3nDeQlOK80evNvnJi 2rjw== 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=XgURi2c2tKZgDRMEU7HbXGhrW1HiCmMCW1OcQtWiPMA=; b=dgMDEcNYeSVxTD56WDBpFlOJ9dye6pdFG2EZixIB7b9FcP2f971ZhNHMCljtKjtzjW RhDTCpSHkVnTX143BCMyUp2RTATCVkavBT3piqcZ/EOuC1fXGQ/YN/cmRExuZvEF4Sps EdU/RaitfN75IXHZ8TZjZZJSDWc0omxFi4nb9PxRCPOWA/AepFYHN7Xa8yYD6Z22d5Tc PBImIIRe0ugsP6DC1iXB8qyqwvdEaomwOXnaF3br0NqMX4TRWdCa7oITiiwHW7/pr1f1 Xgoki24CT7IME8WYrrpOpYjNMnZBYOm+AgdakdQRRjN/uVVYwLuC5xptii/NSXErBeui X3pg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=eQnl5UmA; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d187-20020a6336c4000000b005181ce23024si16561515pga.896.2023.05.15.00.07.16; Mon, 15 May 2023 00:07:28 -0700 (PDT) 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=eQnl5UmA; 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 S239105AbjEOGuY (ORCPT <rfc822;peekingduck44@gmail.com> + 99 others); Mon, 15 May 2023 02:50:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232090AbjEOGuW (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 15 May 2023 02:50:22 -0400 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A3F28F for <linux-kernel@vger.kernel.org>; Sun, 14 May 2023 23:50:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1684133421; x=1715669421; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=1oo0XsT3nA10k1WbskK/cxU0CChuvZrvYt+c1bbAmtk=; b=eQnl5UmA3wSTu0VOmhEKBdlwCWMjbZtii/wSsBZh+J+x008of2ipJT3O 3qk5ppAAMvKs3YqLI185NJaXg8uU7jULCt9JTQbAxAcFNAii/HLuKfT6i KPaFtzOBaqpftlkxk6XJJIU0DtXgSA0m+x5Ro2Ft1WYcGO/xNGQhwr1iJ vsDo6nDoED5O6EnWBy93psw2g43UR8gSgaawQnOd24SDhrb1udOshUvI0 dglxEUVh0bsL6EFvwl8dSevZ66IXBarmu9szSnZuH2DUdVlnc9DrBVwAM x8slH+lMsD1fLk6Bor5j7tRCldHmoLdShRWtTGoTHiicKYKZX1k57Bfcj w==; X-IronPort-AV: E=McAfee;i="6600,9927,10710"; a="349966233" X-IronPort-AV: E=Sophos;i="5.99,275,1677571200"; d="scan'208";a="349966233" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2023 23:50:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10710"; a="694908559" X-IronPort-AV: E=Sophos;i="5.99,275,1677571200"; d="scan'208";a="694908559" Received: from bard-ubuntu.sh.intel.com ([10.239.185.57]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 May 2023 23:50:18 -0700 From: Bard Liao <yung-chuan.liao@linux.intel.com> To: alsa-devel@alsa-project.org, vkoul@kernel.org, broonie@kernel.org, tiwai@suse.de Cc: linux-kernel@vger.kernel.org, vinod.koul@linaro.org, pierre-louis.bossart@linux.intel.com, bard.liao@intel.com Subject: [PATCH v2 00/26] ASoC/soundwire: add support for ACE2.x Date: Mon, 15 May 2023 15:10:16 +0800 Message-Id: <20230515071042.2038-1-yung-chuan.liao@linux.intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1765942963812126702?= X-GMAIL-MSGID: =?utf-8?q?1765942963812126702?= |
Series |
ASoC/soundwire: add support for ACE2.x
|
|
Message
Bard Liao
May 15, 2023, 7:10 a.m. UTC
This series uses the abstraction added in past kernel cycles to provide support for the ACE2.x integration. The existing SHIM and Cadence registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some parts also moved to the HDaudio Extended Multi link structures. Nothing fundamentally different except for the register map. This series only provides the basic mechanisms to expose SoundWire-based DAIs. The PCI parts and DSP management will be contributed later, and the DAI ops are now empty as well. The change is mainly on SoundWire. It would be better to go through SoundWire tree. v2: - Some cleanup for free, trigger, hw_params callbacks before introducing ACE2.x callbacks. Pierre-Louis Bossart (26): ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake soundwire: intel: add ACE2.x SHIM definitions soundwire: intel_ace2x: add empty new ops for LunarLake soundwire/ASOC: Intel: update offsets for LunarLake soundwire: intel/cadence: set ip_offset at run-time ASoC/soundwire: intel: pass hdac_bus pointer for link management soundwire: intel: add eml_lock in the interface for new platforms ASoC: SOF: Intel: hda: retrieve SoundWire eml_lock and pass pointer soundwire: intel_init: use eml_lock parameter soundwire: intel_ace2x: add debugfs support soundwire: intel_ace2x: add link power-up/down helpers soundwire: intel_ace2x: set SYNCPRD before powering-up soundwire: intel_ace2x: configure link PHY soundwire: intel_ace2x: add DAI registration soundwire: intel_ace2x: add sync_arm/sync_go helpers soundwire: intel_ace2x: use common helpers for bus start/stop soundwire: intel_ace2x: enable wake support soundwire: intel_ace2x: add check_cmdsync_unlocked helper soundwire: bus: add new manager callback to deal with peripheral enumeration soundwire: intel_ace2x: add new_peripheral_assigned callback soundwire: intel_ace2x: add pre/post bank switch callbacks ASoC: SOF/soundwire: re-add substream in params_stream structure soundwire: intel: remove .trigger callback implementation soundwire: intel: use substream for .trigger callback soundwire: intel: remove .free callback implementation soundwire: intel: use substream for .free callback drivers/soundwire/Makefile | 3 +- drivers/soundwire/bus.c | 3 + drivers/soundwire/cadence_master.h | 2 + drivers/soundwire/intel.c | 54 +--- drivers/soundwire/intel.h | 16 + drivers/soundwire/intel_ace2x.c | 393 ++++++++++++++++++++++++ drivers/soundwire/intel_ace2x_debugfs.c | 147 +++++++++ drivers/soundwire/intel_auxdevice.c | 17 + drivers/soundwire/intel_init.c | 21 +- include/linux/soundwire/sdw.h | 3 +- include/linux/soundwire/sdw_intel.h | 94 +++++- sound/soc/sof/intel/hda.c | 33 +- sound/soc/sof/intel/shim.h | 1 + 13 files changed, 723 insertions(+), 64 deletions(-) create mode 100644 drivers/soundwire/intel_ace2x.c create mode 100644 drivers/soundwire/intel_ace2x_debugfs.c
Comments
On 15-05-23, 15:10, Bard Liao wrote: > This series uses the abstraction added in past kernel cycles to provide > support for the ACE2.x integration. The existing SHIM and Cadence > registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some > parts also moved to the HDaudio Extended Multi link structures. Nothing > fundamentally different except for the register map. > > This series only provides the basic mechanisms to expose SoundWire-based > DAIs. The PCI parts and DSP management will be contributed later, and the > DAI ops are now empty as well. > > The change is mainly on SoundWire. It would be better to go through > SoundWire tree. Applied, thanks
On 5/27/23 05:36, Vinod Koul wrote: > On 15-05-23, 15:10, Bard Liao wrote: >> This series uses the abstraction added in past kernel cycles to provide >> support for the ACE2.x integration. The existing SHIM and Cadence >> registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some >> parts also moved to the HDaudio Extended Multi link structures. Nothing >> fundamentally different except for the register map. >> >> This series only provides the basic mechanisms to expose SoundWire-based >> DAIs. The PCI parts and DSP management will be contributed later, and the >> DAI ops are now empty as well. >> >> The change is mainly on SoundWire. It would be better to go through >> SoundWire tree. > > Applied, thanks Hi Vinod, is there a way you could provide an immutable tag for Mark Brown, the patch1 in this set is required for my next set of ASoC LunarLake patches? "ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake" adds the SOF_INTEL_ACE_2_0 definition to select different ops for LunarLake. Thank you -Pierre
Hi Pierre, On 02-06-23, 15:46, Pierre-Louis Bossart wrote: > On 5/27/23 05:36, Vinod Koul wrote: > > On 15-05-23, 15:10, Bard Liao wrote: > >> This series uses the abstraction added in past kernel cycles to provide > >> support for the ACE2.x integration. The existing SHIM and Cadence > >> registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some > >> parts also moved to the HDaudio Extended Multi link structures. Nothing > >> fundamentally different except for the register map. > >> > >> This series only provides the basic mechanisms to expose SoundWire-based > >> DAIs. The PCI parts and DSP management will be contributed later, and the > >> DAI ops are now empty as well. > >> > >> The change is mainly on SoundWire. It would be better to go through > >> SoundWire tree. > > > > Applied, thanks > > Hi Vinod, is there a way you could provide an immutable tag for Mark > Brown, the patch1 in this set is required for my next set of ASoC > LunarLake patches? Unfortunately, I have picked the whole series into next. If I was aware I would have pushed them to a topic. Mark can pull sdw/next but that would bring other things as well which may not be preferred. I guess next best would be wait few weeks (rc1) > > "ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake" adds > the SOF_INTEL_ACE_2_0 definition to select different ops for LunarLake. > > Thank you > -Pierre
On 6/7/23 08:07, Vinod Koul wrote: > > Hi Pierre, > > On 02-06-23, 15:46, Pierre-Louis Bossart wrote: >> On 5/27/23 05:36, Vinod Koul wrote: >>> On 15-05-23, 15:10, Bard Liao wrote: >>>> This series uses the abstraction added in past kernel cycles to provide >>>> support for the ACE2.x integration. The existing SHIM and Cadence >>>> registers are now split in 3 (SHIM, IP, SHIM vendor-specific), with some >>>> parts also moved to the HDaudio Extended Multi link structures. Nothing >>>> fundamentally different except for the register map. >>>> >>>> This series only provides the basic mechanisms to expose SoundWire-based >>>> DAIs. The PCI parts and DSP management will be contributed later, and the >>>> DAI ops are now empty as well. >>>> >>>> The change is mainly on SoundWire. It would be better to go through >>>> SoundWire tree. >>> >>> Applied, thanks >> >> Hi Vinod, is there a way you could provide an immutable tag for Mark >> Brown, the patch1 in this set is required for my next set of ASoC >> LunarLake patches? > > Unfortunately, I have picked the whole series into next. If I was aware > I would have pushed them to a topic. > > Mark can pull sdw/next but that would bring other things as well which > may not be preferred. I guess next best would be wait few weeks (rc1) Yeah, it's a miss on my side, I forgot about this one-line enum dependency for DMIC/SSP. SoundWire has more dependencies so we expected to send the relevant patches in the next cycle. DMIC/SSP is quite simple and could have been part of 6.5. Oh well. >> "ASoC: SOF: Intel: shim: add enum for ACE 2.0 IP used in LunarLake" adds >> the SOF_INTEL_ACE_2_0 definition to select different ops for LunarLake. >> >> Thank you >> -Pierre >