From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83C4DC43331 for ; Fri, 12 Mar 2021 12:01:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6D3036500D for ; Fri, 12 Mar 2021 12:01:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231466AbhCLMAx (ORCPT ); Fri, 12 Mar 2021 07:00:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231337AbhCLMAY (ORCPT ); Fri, 12 Mar 2021 07:00:24 -0500 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A226C061761 for ; Fri, 12 Mar 2021 04:00:24 -0800 (PST) Received: by mail-wr1-x431.google.com with SMTP id o16so1627853wrn.0 for ; Fri, 12 Mar 2021 04:00:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ctihznIBI6HYfRPQEJtJ2A5ihzsBfql6joqN4iVPcyc=; b=x3mD0xtGnMFOkAF25Ulh5v0L1V90mJLI9ed3zAM+VCt1lAi0MgnJ4P7H2JI8RrPEeu Z5PZQejpR5GtChXdWBfZ+bVqQzz5SDmejiDsEUOykdkt15U3XEzsGCkvwlVSFv+loDCw UQ7nC/MvgMtHp8u+2u1HM8jl2HbMGg6NH8kHCPcIDSTbJfozQ5LNeuXbW6KJubR2Yuug Ww45YA9QHTJdyge+9/r5xxwsrbCmYUoVCM5wGww/gNdkIk2KOrxlCb/11TdzyhACM5Kc pIoyyXCa/Fiwb7uCpyY9EIj50WSCdMxaSoAH75nUYwf6yhFP5MP7OprL5rugbTmrXRt1 DAPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ctihznIBI6HYfRPQEJtJ2A5ihzsBfql6joqN4iVPcyc=; b=PO9O8QTmo+REcLJaEJZxglQPuk9YQ7t23jy7ODTv1/ef8jiJqqpCL9VIi0ib3YTqOB d5tkNptQzZT+tgI6HmxpFEMAJozisNO70XKPvS9AsKZftJ+Xip1lVI7p+lklPyS+OYD6 HRbGekKke4IwNfS+DPiAqz4kVydHIEjKhF2keCHncvFnjRzNppZ1ikroqlWk8WSkZSbd tpvVtH8rexnkwloRh30zQ0b4MnJ+5EAVdEvUEvYsyowrT4sy79QRGTmxFH1j2XiHTigu NpH/N9wpY+HFatXSS+5EhXOzPikQ0CrdoVZTDfzdA/1ZlqA9v3MplGZTn2JSGtrrQrd0 8Kag== X-Gm-Message-State: AOAM532FKWkdSikBVXZb3TZdWd8F8/3paCk9otsgrXlEFbnvW6qll0er ZOE8qGy3dLsRvr9KqpBCJhSQVA== X-Google-Smtp-Source: ABdhPJxyYk9ByGQyGPGOMzcFO7nnAiyV4NbYnLDByxC+Q47ow7ealzYGfhYUapAwr9K25/J3bJW+ww== X-Received: by 2002:adf:ff8c:: with SMTP id j12mr13563213wrr.297.1615550423154; Fri, 12 Mar 2021 04:00:23 -0800 (PST) Received: from srini-hackbox.lan (cpc86377-aztw32-2-0-cust226.18-1.cable.virginm.net. [92.233.226.227]) by smtp.gmail.com with ESMTPSA id h25sm2268315wml.32.2021.03.12.04.00.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Mar 2021 04:00:22 -0800 (PST) From: Srinivas Kandagatla To: vkoul@kernel.org Cc: yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.intel.com, sanyog.r.kale@intel.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, robh@kernel.org, devicetree@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v4 0/9] soundwire: qcom: various improvements Date: Fri, 12 Mar 2021 12:00:00 +0000 Message-Id: <20210312120009.22386-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Thanks for reviewing v3 of this patchset! During testing SoundWire controller on SM8250 MTP, we found few issues like all the interrupts are not handled, all transport parameters are not read from device tree. Patch to add Auto Enumeration supported by the controller is also part of this series. Other major issue was register read/writes which was interrupt based was an overhead and puts lot of limitation on context it can be used from. With previous approach number of interrupts generated after enumeration are around 130: $ cat /proc/interrupts | grep soundwire 21: 130 0 0 0 0 0 0 0 GICv3 234 Edge soundwire after this patch they are just 3 interrupts $ cat /proc/interrupts | grep soundwire 21: 3 0 0 0 0 0 0 0 GICv3 234 Edge soundwire So this patchset add various improvements to the existing driver to address above issues. Tested it on SM8250 MTP with 2x WSA881x speakers, HeadPhones on WCD938x via lpass-rx-macro and Analog MICs via lpass-tx-macro. Also tested on DragonBoard DB845c with 2xWSA881x speakers. Changes since v3: - Fixed setting assigned bit during autoenumeration Srinivas Kandagatla (9): dt-bindings: soundwire: qcom: clarify data port bus parameters soundwire: qcom: add support to missing transport params soundwire: qcom: set continue execution flag for ignored commands soundwire: qcom: start the clock during initialization soundwire: qcom: update register read/write routine soundwire: qcom: add support to new interrupts soundwire: export sdw_compare_devid() and sdw_extract_slave_id() soundwire: qcom: add auto enumeration support soundwire: qcom: wait for enumeration to be complete in probe .../bindings/soundwire/qcom,sdw.txt | 20 + drivers/soundwire/bus.c | 4 +- drivers/soundwire/qcom.c | 529 ++++++++++++++---- include/linux/soundwire/sdw.h | 2 + 4 files changed, 442 insertions(+), 113 deletions(-) -- 2.21.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99C1DC433E0 for ; Fri, 12 Mar 2021 12:01:32 +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 7A09864FFB for ; Fri, 12 Mar 2021 12:01:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7A09864FFB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org 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 ABFA216FF; Fri, 12 Mar 2021 13:00:39 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz ABFA216FF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1615550489; bh=QwIkXi7djNiAisdeLC44LnZCDyU4XG8ICiysMhmsguA=; h=From:To:Subject:Date:Cc:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=pgcAp5HyaJ9yV4kpBlpcww9H5q6SjhWOr+xaFZRZJPOvHuWz+glJH62JXMvFiXIAN vQN2IiNLFBrBxfez/K8y7x6SfB573nL/XoAb2ewCuPLzsQ0Yy1M2dNelmiwcpcIREw UX+loginOW9RfTIibXBXYdjAjwmf4xTmG68/6mk8= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 41191F801D8; Fri, 12 Mar 2021 13:00:39 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 54605F8012A; Fri, 12 Mar 2021 13:00:37 +0100 (CET) Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 110E8F8012A for ; Fri, 12 Mar 2021 13:00:23 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 110E8F8012A Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="x3mD0xtG" Received: by mail-wr1-x431.google.com with SMTP id l12so4663941wry.2 for ; Fri, 12 Mar 2021 04:00:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ctihznIBI6HYfRPQEJtJ2A5ihzsBfql6joqN4iVPcyc=; b=x3mD0xtGnMFOkAF25Ulh5v0L1V90mJLI9ed3zAM+VCt1lAi0MgnJ4P7H2JI8RrPEeu Z5PZQejpR5GtChXdWBfZ+bVqQzz5SDmejiDsEUOykdkt15U3XEzsGCkvwlVSFv+loDCw UQ7nC/MvgMtHp8u+2u1HM8jl2HbMGg6NH8kHCPcIDSTbJfozQ5LNeuXbW6KJubR2Yuug Ww45YA9QHTJdyge+9/r5xxwsrbCmYUoVCM5wGww/gNdkIk2KOrxlCb/11TdzyhACM5Kc pIoyyXCa/Fiwb7uCpyY9EIj50WSCdMxaSoAH75nUYwf6yhFP5MP7OprL5rugbTmrXRt1 DAPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ctihznIBI6HYfRPQEJtJ2A5ihzsBfql6joqN4iVPcyc=; b=SNVLpkMZFsqMBbkHwlZDdIbzRDmOsw3dylr/EfFvrEVuEBOFfPIDxOiKU/xX0ClyFs DCIp+poJmjhhFS4pvGsd77LmqmdduX8xoejnlQ55F98b5HlHUKPjMGs/6JA8Bh86yN7u 1KGL2r2vgALPG9GXYV42hAfWhcE/pjavU6PyFxRmbQG13t+cYP0Ehsq9cVvefXltEW+3 9wbTXefKFw3wIQGbgr3tzJ5SR5tr17GnUuTdEcms/FwsZAx6bzGrOGKd9WAlDzHwYfpP O8/vHVbcpc8JxnaAPUa8CBM5x1dL3MubjYrWfezuetL/o3/RdfwsTnmkYPfMJMpfaqu4 VP8A== X-Gm-Message-State: AOAM531Ct/6K2TMhwk/bXjWzwB2IU53k9KbHom88fFqV2n/tPEhiuSyD 3N/QvXJP/f95FE6yM+CIzf6CPA== X-Google-Smtp-Source: ABdhPJxyYk9ByGQyGPGOMzcFO7nnAiyV4NbYnLDByxC+Q47ow7ealzYGfhYUapAwr9K25/J3bJW+ww== X-Received: by 2002:adf:ff8c:: with SMTP id j12mr13563213wrr.297.1615550423154; Fri, 12 Mar 2021 04:00:23 -0800 (PST) Received: from srini-hackbox.lan (cpc86377-aztw32-2-0-cust226.18-1.cable.virginm.net. [92.233.226.227]) by smtp.gmail.com with ESMTPSA id h25sm2268315wml.32.2021.03.12.04.00.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Mar 2021 04:00:22 -0800 (PST) From: Srinivas Kandagatla To: vkoul@kernel.org Subject: [PATCH v4 0/9] soundwire: qcom: various improvements Date: Fri, 12 Mar 2021 12:00:00 +0000 Message-Id: <20210312120009.22386-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: robh@kernel.org, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, pierre-louis.bossart@linux.intel.com, linux-kernel@vger.kernel.org, Srinivas Kandagatla , sanyog.r.kale@intel.com, yung-chuan.liao@linux.intel.com 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" Thanks for reviewing v3 of this patchset! During testing SoundWire controller on SM8250 MTP, we found few issues like all the interrupts are not handled, all transport parameters are not read from device tree. Patch to add Auto Enumeration supported by the controller is also part of this series. Other major issue was register read/writes which was interrupt based was an overhead and puts lot of limitation on context it can be used from. With previous approach number of interrupts generated after enumeration are around 130: $ cat /proc/interrupts | grep soundwire 21: 130 0 0 0 0 0 0 0 GICv3 234 Edge soundwire after this patch they are just 3 interrupts $ cat /proc/interrupts | grep soundwire 21: 3 0 0 0 0 0 0 0 GICv3 234 Edge soundwire So this patchset add various improvements to the existing driver to address above issues. Tested it on SM8250 MTP with 2x WSA881x speakers, HeadPhones on WCD938x via lpass-rx-macro and Analog MICs via lpass-tx-macro. Also tested on DragonBoard DB845c with 2xWSA881x speakers. Changes since v3: - Fixed setting assigned bit during autoenumeration Srinivas Kandagatla (9): dt-bindings: soundwire: qcom: clarify data port bus parameters soundwire: qcom: add support to missing transport params soundwire: qcom: set continue execution flag for ignored commands soundwire: qcom: start the clock during initialization soundwire: qcom: update register read/write routine soundwire: qcom: add support to new interrupts soundwire: export sdw_compare_devid() and sdw_extract_slave_id() soundwire: qcom: add auto enumeration support soundwire: qcom: wait for enumeration to be complete in probe .../bindings/soundwire/qcom,sdw.txt | 20 + drivers/soundwire/bus.c | 4 +- drivers/soundwire/qcom.c | 529 ++++++++++++++---- include/linux/soundwire/sdw.h | 2 + 4 files changed, 442 insertions(+), 113 deletions(-) -- 2.21.0