From patchwork Tue Jan 14 23:52:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre-Louis Bossart X-Patchwork-Id: 11332991 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A6FE992A for ; Tue, 14 Jan 2020 23:53:37 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3D52B24671 for ; Tue, 14 Jan 2020 23:53:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="T5aThdGy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3D52B24671 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 753BD17C0; Wed, 15 Jan 2020 00:52:47 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 753BD17C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1579046015; bh=UokQBDvDGomiWJvadxTpAMi4LZJEa72itrO6GULoPc8=; h=From:To:Date:Cc:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=T5aThdGyquJoN4YTQHEnapNEuHAAQZMtHWG2TGq2soBRjKI0m+SX4m51bZGPaJG6u KbIfvHlozK5v0q8zAKQTBiRmf6goSzYXM4xmL4mnX0rxMlHAb/fhEPJRyxIeEQLu6k 0BQWNNVi6fNcQtlqtBw9ogwetSHn92va+ryUMIVI= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id B203CF8014D; Wed, 15 Jan 2020 00:52:46 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa1.perex.cz (Postfix, from userid 50401) id 7CF1EF800B9; Wed, 15 Jan 2020 00:52:45 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on alsa1.perex.cz X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=SPF_HELO_NONE,SPF_NONE autolearn=disabled version=3.4.0 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 3C17EF800B9 for ; Wed, 15 Jan 2020 00:52:41 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 3C17EF800B9 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Jan 2020 15:52:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,320,1574150400"; d="scan'208";a="217922976" Received: from emkilgox-mobl2.amr.corp.intel.com (HELO pbossart-mobl3.amr.corp.intel.com) ([10.251.0.151]) by orsmga008.jf.intel.com with ESMTP; 14 Jan 2020 15:52:37 -0800 From: Pierre-Louis Bossart To: alsa-devel@alsa-project.org Date: Tue, 14 Jan 2020 17:52:22 -0600 Message-Id: <20200114235227.14502-1-pierre-louis.bossart@linux.intel.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Cc: Pierre-Louis Bossart , tiwai@suse.de, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, Ranjani Sridharan , vkoul@kernel.org, broonie@kernel.org, srinivas.kandagatla@linaro.org, jank@cadence.com, slawomir.blauciak@intel.com, Bard liao , Rander Wang Subject: [alsa-devel] [PATCH v2 0/5] soundwire: stream: fix state machines and transitions X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 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: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" The existing stream support works fine with simple cases, but does not map well with ALSA transitions for underflows/resume where prepare() can be called multiple times. Concurrency with multiple devices per links or multiple streams enabled on the same link also needs to be fixed. These patches are the result of hours of validation on the Intel side and should benefit other implementations since there is nothing hardware-specific. The Intel-specific changes being reviewed do depend on those stream changes though to be functional. Changes since v1: Removed spurious code block change flagged by Vinod No change (replies provided in v1 thread) Github link issue is public, no reason to remove it Bandwidth computation on ALSA prepare/start (for resume cases) handled internally in stream layer. Kept emacs comment formatting. No additional code/test for concurrent streams (not supported due to locking) Bard Liao (1): soundwire: stream: only prepare stream when it is configured. Pierre-Louis Bossart (2): soundwire: stream: update state machine and add state checks soundwire: stream: do not update parameters during DISABLED-PREPARED transition Rander Wang (2): soundwire: stream: fix support for multiple Slaves on the same link soundwire: stream: don't program ports when a stream that has not been prepared Documentation/driver-api/soundwire/stream.rst | 61 +++++++++---- drivers/soundwire/stream.c | 90 ++++++++++++++++--- 2 files changed, 124 insertions(+), 27 deletions(-)