From patchwork Fri Jul 27 09:14:07 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shreyas NC X-Patchwork-Id: 10546775 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 5F035174A for ; Fri, 27 Jul 2018 09:14:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4DAE02B724 for ; Fri, 27 Jul 2018 09:14:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3FC6A2B74D; Fri, 27 Jul 2018 09:14:33 +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 95DFF2B724 for ; Fri, 27 Jul 2018 09:14:32 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id CA23A2677AE; Fri, 27 Jul 2018 11:14:30 +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 C74FC2677AA; Fri, 27 Jul 2018 11:14:28 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by alsa0.perex.cz (Postfix) with ESMTP id CEA2526775C for ; Fri, 27 Jul 2018 11:14:24 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Jul 2018 02:14:23 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,408,1526367600"; d="scan'208";a="219570618" Received: from snc-desk.iind.intel.com ([10.223.96.118]) by orsmga004.jf.intel.com with ESMTP; 27 Jul 2018 02:14:20 -0700 From: Shreyas NC To: alsa-devel@alsa-project.org Date: Fri, 27 Jul 2018 14:44:07 +0530 Message-Id: <1532682857-604-1-git-send-email-shreyas.nc@intel.com> X-Mailer: git-send-email 2.7.4 Cc: patches.audio@intel.com, gregkh@linuxfoundation.org, pierre-louis.bossart@linux.intel.com, vkoul@kernel.org, Shreyas NC , sanyog.r.kale@intel.com Subject: [alsa-devel] [PATCH v8 00/10] soundwire: Add multi link support 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 Currently, in the SoundWire subsystem, the concept of stream is limited to a Master and one or more Slaves(Codecs). This series aims to add support for multiple Master(s) sharing the same reference clock and synchronized in the hardware. This patch series adds: - Fix to avoid duplicate stream state assignment - Avoid incorrect stream release after configuring Master - Fix to avoid bus lock acquired twice - Helpers to lock bus instances part of the stream - Boiler plate conversion of code to support a list of Master runtime - Support multi link bank switch to support synchronization between multiple masters - Add Intel platform ops for pre/post bank switch Additionally, as suggested by Vinod, the generic fixes are arranged at the top of the series followed by the Documentation patch for multi link support and then the multi link patches. changes in v8: - Check both m_rt_count and bus->multi_link flag for clean up after single instance bankswitch as suggested by Pierre. changes in v7: - Fix the git bisect issue pointed by Pierre. Now, the initialization of the m_rt_count and its modification/usage is split into 2 patches. While the declaration and initialization is in one patch, modification of the refcount and usage is in the multilink bankswitch patch. - Re-arrange the patches as suggested by Vinod Sanyog Kale (3): soundwire: Fix acquiring bus lock twice during master release Documentation: soundwire: Add documentation for multi link soundwire: Add support to lock across bus instances Shreyas NC (6): soundwire: Fix duplicate stream state assignment soundwire: Fix incorrect exit after configuring stream soundwire: Initialize completion for defer messages soundwire: keep track of Masters in a stream soundwire: Add support for multi link bank switch soundwire: intel: Add pre/post bank switch ops Vinod Koul (1): soundwire: Handle multiple master instances in a stream Documentation/driver-api/soundwire/stream.rst | 28 ++ drivers/soundwire/bus.c | 6 + drivers/soundwire/bus.h | 4 + drivers/soundwire/intel.c | 65 ++++ drivers/soundwire/stream.c | 511 +++++++++++++++++++------- include/linux/soundwire/sdw.h | 12 +- 6 files changed, 489 insertions(+), 137 deletions(-) Acked-by: Pierre-Louis Bossart