From patchwork Fri Jan 13 09:35:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bard Liao X-Patchwork-Id: 43120 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp176694wrt; Fri, 13 Jan 2023 01:46:21 -0800 (PST) X-Google-Smtp-Source: AMrXdXvoZWMBTtOLUbYsk8JR/xYjmUWVHC8tlXFFpaF6q/4vjsvr5DCIhQ1YcSm1FZd6KD2SMDEO X-Received: by 2002:a17:907:a28c:b0:7c1:6794:1623 with SMTP id rd12-20020a170907a28c00b007c167941623mr82591299ejc.58.1673603181383; Fri, 13 Jan 2023 01:46:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673603181; cv=none; d=google.com; s=arc-20160816; b=dEBEKT5vDPKJ7j2BmFFvGTMIHXIpymUenKiLj0V1iyFTcJyvMvyJxua3XpSBbd+eu6 Hf0miNo/gQBGmedHqsXwbMr0bkdQuoXR6FsnZyMPKY8ThuP0MTrmV+bOTIr9RM31EYQ5 jCJF8rKkg8kIRecL3oLF34VUvSSLHmdTGgAH32dASqrcoVeJJWOKyRsoA26lz/R/Kpwx ARoy/sY7yruZdkMDexpZTXYb8Bs+LuYy663iTgavbKa0ZBfg8vqPvxXV8XPeBVV+1mX8 qqnyoCce8YfHHsZ/EbIjtC8iVnU8iow1TYabUsyC113jY8NCvNhzxZuGAtZoVDJybknk krUg== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=mbYjfwXtybxvK2x1rmS+Aqs5hquVvYCoeK7ypOAiG9w=; b=EbIRRrbzxQf5WB3Z0lg5N15SlJP91A+0NhS4Fo78keUBHGeB7km2UIJnqvK8Y+oszk ljvaL79796bXUCsPJct7dOJAMqZfw1hJreTkNKEFksK2SchdTTevaDmgDV0S4bnCSLdm l6Y12nXuTclvAWcF3TWV81jn49AG2kaID4LcMIjWYfYMD0jecHUeRqREoW2kIQIOG8+A ohPwyPmTmJ3QqrpS+tr+uKXxHdBCWz+mD/Ji63FRsxdpBULTaCznuOfgAqcGaeGM6DWT ByCYeMCOhZiFGNp1k7LftlNtF/cnAJ84vPrtFqDdDeOu+gg4Y3fMRpayAcYzo6LFitaY sF6Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=k24CFPF0; 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 xa5-20020a170906fd8500b0084d7c8a4bdfsi10679693ejb.276.2023.01.13.01.45.57; Fri, 13 Jan 2023 01:46:21 -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=k24CFPF0; 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 S241188AbjAMJe5 (ORCPT + 99 others); Fri, 13 Jan 2023 04:34:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241268AbjAMJbr (ORCPT ); Fri, 13 Jan 2023 04:31:47 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 34CE618E3E for ; Fri, 13 Jan 2023 01:27:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673602042; x=1705138042; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Msf7Ux2UBgkRWznDZIyNsLYT/We1sSSckwpIyVPyhL0=; b=k24CFPF0XV7d/QY7jk9Y7m/SwipZm4ZoGDLF2LWB2V0XA5kxz86fNYT0 NXb7Qxh1ruAOLJrYuAMK8uX/9IeFxb8wcmyyN3qbQclBzqe6EJxEmNMx2 TJf3utOcIOH9GIEdIhPBXO8RCetvyp1Ig/ulnpPLk/koXetjfxOZvRVtI Ovr2PnXjEagTEbajO0jUEnt/JUWlFDba6YMkEQ3Knrw/DCyhUbLV1u+xA qrcgzHInxJx5vydO9kRDF0OSULqwhksyYyN5GhxL+fiL/jzKJxza1EyQH 5BOYeukBWBhWDSZlRu2a54Oiy1/Oe4ap/QJ5kw0v/NmYHIKBPyF0TmIal g==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="351189434" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="351189434" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:21 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="608116087" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="608116087" Received: from bard-ubuntu.sh.intel.com ([10.239.185.57]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:20 -0800 From: Bard Liao To: alsa-devel@alsa-project.org, vkoul@kernel.org Cc: vinod.koul@linaro.org, linux-kernel@vger.kernel.org, pierre-louis.bossart@linux.intel.com, bard.liao@intel.com Subject: [PATCH 1/5] soundwire: stream: uniquify dev_err() logs Date: Fri, 13 Jan 2023 17:35:28 +0800 Message-Id: <20230113093532.3872113-2-yung-chuan.liao@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> References: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754900129533712833?= X-GMAIL-MSGID: =?utf-8?q?1754900129533712833?= From: Pierre-Louis Bossart There are a couple of duplicate logs which makes harder than needed to follow the error flows. Add __func__ or make the log unique. Signed-off-by: Pierre-Louis Bossart Reviewed-by: Ranjani Sridharan Signed-off-by: Bard Liao --- drivers/soundwire/stream.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c index df3b36670df4..e0eae0b98267 100644 --- a/drivers/soundwire/stream.c +++ b/drivers/soundwire/stream.c @@ -1389,7 +1389,7 @@ static int _sdw_prepare_stream(struct sdw_stream_runtime *stream, ret = do_bank_switch(stream); if (ret < 0) { - dev_err(bus->dev, "Bank switch failed: %d\n", ret); + dev_err(bus->dev, "do_bank_switch failed: %d\n", ret); goto restore_params; } @@ -1477,7 +1477,7 @@ static int _sdw_enable_stream(struct sdw_stream_runtime *stream) /* Program params */ ret = sdw_program_params(bus, false); if (ret < 0) { - dev_err(bus->dev, "Program params failed: %d\n", ret); + dev_err(bus->dev, "%s: Program params failed: %d\n", __func__, ret); return ret; } @@ -1567,7 +1567,7 @@ static int _sdw_disable_stream(struct sdw_stream_runtime *stream) /* Program params */ ret = sdw_program_params(bus, false); if (ret < 0) { - dev_err(bus->dev, "Program params failed: %d\n", ret); + dev_err(bus->dev, "%s: Program params failed: %d\n", __func__, ret); return ret; } } @@ -1664,7 +1664,7 @@ static int _sdw_deprepare_stream(struct sdw_stream_runtime *stream) /* Program params */ ret = sdw_program_params(bus, false); if (ret < 0) { - dev_err(bus->dev, "Program params failed: %d\n", ret); + dev_err(bus->dev, "%s: Program params failed: %d\n", __func__, ret); return ret; } } @@ -1893,7 +1893,8 @@ int sdw_stream_add_master(struct sdw_bus *bus, m_rt = sdw_master_rt_alloc(bus, stream); if (!m_rt) { - dev_err(bus->dev, "Master runtime alloc failed for stream:%s\n", stream->name); + dev_err(bus->dev, "%s: Master runtime alloc failed for stream:%s\n", + __func__, stream->name); ret = -ENOMEM; goto unlock; } @@ -2012,7 +2013,8 @@ int sdw_stream_add_slave(struct sdw_slave *slave, */ m_rt = sdw_master_rt_alloc(slave->bus, stream); if (!m_rt) { - dev_err(&slave->dev, "Master runtime alloc failed for stream:%s\n", stream->name); + dev_err(&slave->dev, "%s: Master runtime alloc failed for stream:%s\n", + __func__, stream->name); ret = -ENOMEM; goto unlock; } From patchwork Fri Jan 13 09:35:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bard Liao X-Patchwork-Id: 43116 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp172931wrt; Fri, 13 Jan 2023 01:34:43 -0800 (PST) X-Google-Smtp-Source: AMrXdXsfSePKVFcy/nqiXMR6amby2eQFeWwfFNUhoy2VoyyFQofpJO/PQ1bZaJdbqPorEJBQa3kr X-Received: by 2002:a05:6a21:e30e:b0:a4:96a2:43df with SMTP id cb14-20020a056a21e30e00b000a496a243dfmr98681236pzc.37.1673602483418; Fri, 13 Jan 2023 01:34:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673602483; cv=none; d=google.com; s=arc-20160816; b=0v7atxFhh/eiHm39GY8zveiM/LQhkWgD7fZSjvtfhx8c3l9dd/tN3CobSnFseWpo8n tD0WELxCHts+/Sl/G456du6INopI2e3yyNPsmkyx514DW3dLSoQFYomp6KAmz2WgyBir XHat1Z1SilHvcVW3b5MhMfti6OX4LYkr46ospywGkIbcxRjUqz1a3b5pqTDpMudpRdlq eRbkHJqqp3l7iC4Gu9qhlU3Z5EZaFlxo9kbziC5tBwVw3Nm0EuigLZiN3bTHm7IKT6g5 jseTpr6tu/4PwidWLsyGt+24tMtN+o8a/HscdJgCyOxLouqwMaUpNYoTdyM4MvT9/Wq5 /a/A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uTHG6LZMy4OlJBL00rKbW04tZFPEmAgoS8VAQ/G1RZ8=; b=1DEous7ftB6LogO3UeFpctSkEKjCVtcmJByRlEOdT49bvdwQnhfEVYB3CacZOlhJa6 fjkSxLcjcs10VNB1L3N1DU0nTmSoICJUhQgXfonY/6K8h8jFPWMZOOMnzxo+ELnuHrFh bzaqgohVfkqeJHitVI4LHk7K9F/FajuqZnAajwrg8sYmU3bkssgOPU4+yWwJ5Y27urvq 939CVGM7rCX1ua7SNGKVRECp4WaBUDRO4de0m5uMrRQahOTbXCNxNZIkOd0E9oFkQysr EbUkgxZbnaN3Vb6YJ3h6u9orho2FkmMfuGLL7ElFfBsGJi8BbhszjYHhn1rKIqCgfb0G ZQmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=gyZSANpi; 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 w4-20020a634904000000b00478ae30152asi20870301pga.850.2023.01.13.01.34.30; Fri, 13 Jan 2023 01:34:43 -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=gyZSANpi; 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 S240730AbjAMJeU (ORCPT + 99 others); Fri, 13 Jan 2023 04:34:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241274AbjAMJb6 (ORCPT ); Fri, 13 Jan 2023 04:31:58 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C87665AEE for ; Fri, 13 Jan 2023 01:27:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673602044; x=1705138044; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=C9eEbKq5usd6ckHzGy5EN+JxgZQpOybLQsyYvmgo4Hg=; b=gyZSANpiOtOXk23IyjUnV455ZzTIC6pixeJbeROaiKKn60e47LitZZ5C LDa7M38ObG1FasYiFZSIGuguZZAn5C54R8K9afQ1G6q2iMsRa1oEapDN1 wEzpESZcrtexSpF2u20F7qC93aP18uhUgDpjxG74pcFDCHxpb/4bdBeiX Kzk4QVm2n4SVmITNInkxxve3Qa1Qdw9tt9UIg5KS7AifZ+wr55xppTA8v y5WOYVy9h50/N+A2QdBmdJIRXoknSexl1Q1hYgj+ool8Dhja4z/jIFxC2 WSVjn1JhFKG3gCBdv9D/02LoDrJEbyo/fhRQgqX/gwPAg/ZCtQC0Wqlzs Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="351189439" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="351189439" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:23 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="608116093" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="608116093" Received: from bard-ubuntu.sh.intel.com ([10.239.185.57]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:22 -0800 From: Bard Liao To: alsa-devel@alsa-project.org, vkoul@kernel.org Cc: vinod.koul@linaro.org, linux-kernel@vger.kernel.org, pierre-louis.bossart@linux.intel.com, bard.liao@intel.com Subject: [PATCH 2/5] soundwire: stream: use consistent pattern for freeing buffers Date: Fri, 13 Jan 2023 17:35:29 +0800 Message-Id: <20230113093532.3872113-3-yung-chuan.liao@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> References: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754899397718578452?= X-GMAIL-MSGID: =?utf-8?q?1754899397718578452?= From: Pierre-Louis Bossart The code should free the message buffer used for data, the message structure used for control and assign the latter to NULL. The last part is missing for multi-link cases, and the order is inconsistent for single-link cases. Link: https://github.com/thesofproject/linux/issues/4056 Signed-off-by: Pierre-Louis Bossart Reviewed-by: Ranjani Sridharan Signed-off-by: Bard Liao --- drivers/soundwire/stream.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c index e0eae0b98267..f27bd37b154d 100644 --- a/drivers/soundwire/stream.c +++ b/drivers/soundwire/stream.c @@ -723,8 +723,8 @@ static int sdw_bank_switch(struct sdw_bus *bus, int m_rt_count) } if (!multi_link) { - kfree(wr_msg); kfree(wbuf); + kfree(wr_msg); bus->defer_msg.msg = NULL; bus->params.curr_bank = !bus->params.curr_bank; bus->params.next_bank = !bus->params.next_bank; @@ -769,6 +769,7 @@ static int sdw_ml_sync_bank_switch(struct sdw_bus *bus) if (bus->defer_msg.msg) { kfree(bus->defer_msg.msg->buf); kfree(bus->defer_msg.msg); + bus->defer_msg.msg = NULL; } return 0; @@ -867,6 +868,7 @@ static int do_bank_switch(struct sdw_stream_runtime *stream) if (bus->defer_msg.msg) { kfree(bus->defer_msg.msg->buf); kfree(bus->defer_msg.msg); + bus->defer_msg.msg = NULL; } } From patchwork Fri Jan 13 09:35:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bard Liao X-Patchwork-Id: 43115 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp172906wrt; Fri, 13 Jan 2023 01:34:37 -0800 (PST) X-Google-Smtp-Source: AMrXdXuBxfCO8RrRUB777U+S5l4LLSvRFn7eOuRc+TUHx0iFONbezno/eQ4mitdyD9MlV3URwz55 X-Received: by 2002:a05:6a20:6707:b0:af:9538:ec5c with SMTP id q7-20020a056a20670700b000af9538ec5cmr10643935pzh.51.1673602477202; Fri, 13 Jan 2023 01:34:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673602477; cv=none; d=google.com; s=arc-20160816; b=JzgN3oPCJi1xBh3oxj+wnbMJ+ZUV3tZhvS8nUNx7UK+4+S++O5lvDO6iGsBvqfPili 8MvhgVeXgScNJDdWHicyQ9PQtvuRWs73npMe1p4/IIo/1P2cHOR5hE8ZPJxs+Rk3Lfa1 ntzsFSWlAlzVUC2B5m5tFuu+itSIS7cxgWNFr7w2/XmJCx9Ex9XIzIGUuMAgz3JoUMnQ Z6fKyI8BI0czUxSMQN2BOzTo7tlZ+msHPT6GxeT5WCneZ9e5LhNi04i6tRe8Q2ODpvvl kOLkYwu6OnFk94TQ9qzeC4zjn/N4RlfaR8xnJ9ly3We83wQ/ivRzhsdvhhRaojSmCDkZ th2w== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=oDtzdusXMfWgZIwsQaDL8ckfOYnDKpA08Bj2OH+7lpk=; b=NKZxbdNjmPl11mVO9Ll1KJEaOtzSbBvOojx9UsOAYw11odlmkDfgL/3oDljzPSygnk pJKtEum53Hcu7avAT9ybYR1cEGZdI47LyD1/giGJCLq1b2a7wnPOPJBdiqleq+Jusdxa 3FMowQETpTcwojA3xz3OzAXHFqjWYC24UAhUnADid5pD78hWLzDZfKNhXoT7qzA3oaDS 5wG6OnB1mOSvWZwlfdjiFMJODcPu9Qak39F12KrlY4tJefclPjFkbysX28vQDgPszfpk +VWo/C3YfJ/axI5UAaUavn/X58kK44QragKYu1aJIOxLhvH3a0iVxCgL4Ixkhdq5VQb9 Gutg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TfF+qpQq; 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 6-20020a630d46000000b00478d123064esi19871094pgn.401.2023.01.13.01.34.22; Fri, 13 Jan 2023 01:34:37 -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=TfF+qpQq; 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 S240739AbjAMJeQ (ORCPT + 99 others); Fri, 13 Jan 2023 04:34:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241280AbjAMJcG (ORCPT ); Fri, 13 Jan 2023 04:32:06 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EBDEE10AC for ; Fri, 13 Jan 2023 01:27:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673602061; x=1705138061; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7vfmYiwRnIv7Am96c9Qj/RTB4F0doxF2OEQMmfScbOc=; b=TfF+qpQqcLbIKZKlahkWop7ICQyduXmyTc0PgWxJMF4CjDKwiBUM13Uz Z6jBnRUfYZWJljfJo0lgk+d0Nrd5vM4X4H1Gf4ved/Irh71MrB+wu405F NCACY7kZ3h+3v4zPqlsNwerOUM1Fpce6ZGx4lx8rw9FrhzVx8ZsdAp14m 3FCusMgkMGjSce0/JyuXccLLCa+ntvtsyFTCxRccVmr60V2eZHjuDd43u rOXtv1WL2o47slBL7w3WG3W4rfkG4peHxaX/oOoM+Dr7ez/Y0po73Wc1F wZGosXMQkJG6i89nJkyrUtPriMBUHeE5xOHZ8Rhnaf4QD9NPX/rYPrIzp g==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="351189449" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="351189449" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:25 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="608116104" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="608116104" Received: from bard-ubuntu.sh.intel.com ([10.239.185.57]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:23 -0800 From: Bard Liao To: alsa-devel@alsa-project.org, vkoul@kernel.org Cc: vinod.koul@linaro.org, linux-kernel@vger.kernel.org, pierre-louis.bossart@linux.intel.com, bard.liao@intel.com Subject: [PATCH 3/5] soundwire: bus: remove sdw_defer argument in sdw_transfer_defer() Date: Fri, 13 Jan 2023 17:35:30 +0800 Message-Id: <20230113093532.3872113-4-yung-chuan.liao@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> References: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754899391310304863?= X-GMAIL-MSGID: =?utf-8?q?1754899391310304863?= From: Pierre-Louis Bossart There's no point in passing an argument that is a pointer to a bus member. We can directly get the member and do an indirection when needed. This is a first step before simplifying the hardware-specific callbacks further. Signed-off-by: Pierre-Louis Bossart Reviewed-by: Ranjani Sridharan Signed-off-by: Bard Liao --- drivers/soundwire/bus.c | 10 ++++------ drivers/soundwire/bus.h | 3 +-- drivers/soundwire/stream.c | 4 +--- 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c index 633d411b64f3..572cc9a9af41 100644 --- a/drivers/soundwire/bus.c +++ b/drivers/soundwire/bus.c @@ -225,9 +225,9 @@ static inline int do_transfer(struct sdw_bus *bus, struct sdw_msg *msg) } static inline int do_transfer_defer(struct sdw_bus *bus, - struct sdw_msg *msg, - struct sdw_defer *defer) + struct sdw_msg *msg) { + struct sdw_defer *defer = &bus->defer_msg; int retry = bus->prop.err_threshold; enum sdw_command_response resp; int ret = 0, i; @@ -335,19 +335,17 @@ EXPORT_SYMBOL(sdw_show_ping_status); * sdw_transfer_defer() - Asynchronously transfer message to a SDW Slave device * @bus: SDW bus * @msg: SDW message to be xfered - * @defer: Defer block for signal completion * * Caller needs to hold the msg_lock lock while calling this */ -int sdw_transfer_defer(struct sdw_bus *bus, struct sdw_msg *msg, - struct sdw_defer *defer) +int sdw_transfer_defer(struct sdw_bus *bus, struct sdw_msg *msg) { int ret; if (!bus->ops->xfer_msg_defer) return -ENOTSUPP; - ret = do_transfer_defer(bus, msg, defer); + ret = do_transfer_defer(bus, msg); if (ret != 0 && ret != -ENODATA) dev_err(bus->dev, "Defer trf on Slave %d failed:%d\n", msg->dev_num, ret); diff --git a/drivers/soundwire/bus.h b/drivers/soundwire/bus.h index 7631ef5e71fb..96927a143796 100644 --- a/drivers/soundwire/bus.h +++ b/drivers/soundwire/bus.h @@ -151,8 +151,7 @@ int sdw_configure_dpn_intr(struct sdw_slave *slave, int port, bool enable, int mask); int sdw_transfer(struct sdw_bus *bus, struct sdw_msg *msg); -int sdw_transfer_defer(struct sdw_bus *bus, struct sdw_msg *msg, - struct sdw_defer *defer); +int sdw_transfer_defer(struct sdw_bus *bus, struct sdw_msg *msg); #define SDW_READ_INTR_CLEAR_RETRY 10 diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c index f27bd37b154d..e0b0c63fc55c 100644 --- a/drivers/soundwire/stream.c +++ b/drivers/soundwire/stream.c @@ -684,8 +684,6 @@ static int sdw_bank_switch(struct sdw_bus *bus, int m_rt_count) if (!wr_msg) return -ENOMEM; - bus->defer_msg.msg = wr_msg; - wbuf = kzalloc(sizeof(*wbuf), GFP_KERNEL); if (!wbuf) { ret = -ENOMEM; @@ -713,7 +711,7 @@ static int sdw_bank_switch(struct sdw_bus *bus, int m_rt_count) multi_link = bus->multi_link && (m_rt_count >= bus->hw_sync_min_links); if (multi_link) - ret = sdw_transfer_defer(bus, wr_msg, &bus->defer_msg); + ret = sdw_transfer_defer(bus, wr_msg); else ret = sdw_transfer(bus, wr_msg); From patchwork Fri Jan 13 09:35:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bard Liao X-Patchwork-Id: 43119 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp176243wrt; Fri, 13 Jan 2023 01:45:05 -0800 (PST) X-Google-Smtp-Source: AMrXdXvwyGsa8CHaURK5KWa8jGoNEbUA4Pjr3cYBfwWTOlrBwjFHYjq07n4kCAdAuZkk8gOaqY1D X-Received: by 2002:a17:906:5acf:b0:83f:41a2:a68b with SMTP id x15-20020a1709065acf00b0083f41a2a68bmr2349985ejs.30.1673603105400; Fri, 13 Jan 2023 01:45:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673603105; cv=none; d=google.com; s=arc-20160816; b=LiOMUEekmFJAE0oS/Ow5fPoOxqiDkiSDCXhxD76El8w7KSUX3IukwaqZASYhaVRVJh +GEPvAlk3XccuspDGOtgILFkAJA0Dg0NDcbVg7/O8hlq66aeZoc5IAUTDEb1ZYvtoHJJ 4AqwmuI8oeLzHWRScnJcq1ia7CDv8HNE1AHg8zXut4/Xc0Z564nD4DxYXwnEeiKuRNdb CLTh8YzV6IzXU+NYCIZOLUhAZ3UQKf/A4ab/Mo7HLCUTer4IaKF2o8lSh+soz0AqpVCJ He77jNE0/8VKXT/dVws7E4ATxVu70SS4OhoDt9qGO9Zz1JMgQhf/qKSpG97WFQr3uS+R hx/Q== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=VqAzbLLYDseDH0aFLZJIW14txJxVr4Q7ny9rkhD2g6s=; b=oy5mt+Lqut3fFQZBZ1hVp4HGA/cOFxa9l5huufumhspv2I4drvECbg3K1U7fLaYpJ9 Sq+YLa13aVznI8+jstzjZeqpc5SD9Cvy5BXflMMbmEeiS/bGaMIxo2PCojcShHfTW/9i OT+vP31wqkB4r8XscxOncsAs3zEsP9mqFYkoFYkN3D6Tpn1rULYe6HiRM09qo2apMZu3 e9NFFf5rWz0ryA9aKZbPHxaLNwgpCVtba7x0mepYjsUPVFYtDunX1jgyUO5rqfg50K5x pJdzyvkSRLfBafF2v5We9bcX4esxPVDpGG3MkKc8hYeAHHY/K0gyaaMQSp/0dgzgTKvu VROA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=n7G1N+tS; 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 xa3-20020a170906fd8300b008552e7765cbsi11337617ejb.972.2023.01.13.01.44.40; Fri, 13 Jan 2023 01:45:05 -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=n7G1N+tS; 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 S241070AbjAMJel (ORCPT + 99 others); Fri, 13 Jan 2023 04:34:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60398 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241284AbjAMJcG (ORCPT ); Fri, 13 Jan 2023 04:32:06 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 122C413DD0 for ; Fri, 13 Jan 2023 01:27:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673602063; x=1705138063; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9EfKDqwT5iUG/3vSHRo63HrB7tHmjW3+OTAvgNE6xiU=; b=n7G1N+tS+3lXujxLMwvBETmK3jc2vYdAvCqCxbJLKl7yJZ0y4bBL0a2q Z7Kuwng71E5qisgyoJEvHwOtMR4UBxhMRi97Rj74vNTWTLOxmDozZhOlv s8Ar9TrpXoJO6V90SKDnXIZkeOPQ06NAq2yqbD/i1IeUIbcZu6M0TaSsp IxEisixhNXUPfpbW2vxpmVFFHjHGt8wzuTWgQfoirf7B4Ne66hYgvksRL MAFYmYguU3/qU5JvmBeGykOPyRWLp8LbNbGpZhkHESZGYcQOQ58aCEEZ9 nnjg/iMGioSYHPe1pkN664yzQP35TRzTuODp+r7ZGhl6ZvYSXlRiEYTBH A==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="351189461" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="351189461" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:27 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="608116112" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="608116112" Received: from bard-ubuntu.sh.intel.com ([10.239.185.57]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:25 -0800 From: Bard Liao To: alsa-devel@alsa-project.org, vkoul@kernel.org Cc: vinod.koul@linaro.org, linux-kernel@vger.kernel.org, pierre-louis.bossart@linux.intel.com, bard.liao@intel.com Subject: [PATCH 4/5] soundwire: cadence: use directly bus sdw_defer structure Date: Fri, 13 Jan 2023 17:35:31 +0800 Message-Id: <20230113093532.3872113-5-yung-chuan.liao@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> References: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754900050178585263?= X-GMAIL-MSGID: =?utf-8?q?1754900050178585263?= From: Pierre-Louis Bossart Copying the bus sdw_defer structure into the Cadence internals leads to using stale pointers and kernel oopses on errors. It's just simpler and safer to use the bus sdw_defer structure directly. Link: https://github.com/thesofproject/linux/issues/4056 Signed-off-by: Pierre-Louis Bossart Reviewed-by: Ranjani Sridharan Signed-off-by: Bard Liao --- drivers/soundwire/bus.c | 2 +- drivers/soundwire/cadence_master.c | 17 ++++++++--------- drivers/soundwire/cadence_master.h | 5 +---- include/linux/soundwire/sdw.h | 3 +-- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c index 572cc9a9af41..fc192d0c61e7 100644 --- a/drivers/soundwire/bus.c +++ b/drivers/soundwire/bus.c @@ -237,7 +237,7 @@ static inline int do_transfer_defer(struct sdw_bus *bus, init_completion(&defer->complete); for (i = 0; i <= retry; i++) { - resp = bus->ops->xfer_msg_defer(bus, msg, defer); + resp = bus->ops->xfer_msg_defer(bus, msg); ret = find_response_code(resp); /* if cmd is ok or ignored return */ if (ret == 0 || ret == -ENODATA) diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c index 521387322145..2365395cb181 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -750,7 +750,7 @@ EXPORT_SYMBOL(cdns_xfer_msg); enum sdw_command_response cdns_xfer_msg_defer(struct sdw_bus *bus, - struct sdw_msg *msg, struct sdw_defer *defer) + struct sdw_msg *msg) { struct sdw_cdns *cdns = bus_to_cdns(bus); int cmd = 0, ret; @@ -763,9 +763,6 @@ cdns_xfer_msg_defer(struct sdw_bus *bus, if (ret) return SDW_CMD_FAIL_OTHER; - cdns->defer = defer; - cdns->defer->length = msg->len; - return _cdns_xfer_msg(cdns, msg, cmd, 0, msg->len, true); } EXPORT_SYMBOL(cdns_xfer_msg_defer); @@ -893,13 +890,15 @@ irqreturn_t sdw_cdns_irq(int irq, void *dev_id) return IRQ_NONE; if (int_status & CDNS_MCP_INT_RX_WL) { + struct sdw_bus *bus = &cdns->bus; + struct sdw_defer *defer = &bus->defer_msg; + cdns_read_response(cdns); - if (cdns->defer) { - cdns_fill_msg_resp(cdns, cdns->defer->msg, - cdns->defer->length, 0); - complete(&cdns->defer->complete); - cdns->defer = NULL; + if (defer && defer->msg) { + cdns_fill_msg_resp(cdns, defer->msg, + defer->length, 0); + complete(&defer->complete); } else { complete(&cdns->tx_complete); } diff --git a/drivers/soundwire/cadence_master.h b/drivers/soundwire/cadence_master.h index fa9dc38264a4..53029d22822d 100644 --- a/drivers/soundwire/cadence_master.h +++ b/drivers/soundwire/cadence_master.h @@ -109,7 +109,6 @@ struct sdw_cdns_dai_runtime { * @instance: instance number * @response_buf: SoundWire response buffer * @tx_complete: Tx completion - * @defer: Defer pointer * @ports: Data ports * @num_ports: Total number of data ports * @pcm: PCM streams @@ -130,7 +129,6 @@ struct sdw_cdns { u32 response_buf[CDNS_MCP_IP_MAX_CMD_LEN + 2]; struct completion tx_complete; - struct sdw_defer *defer; struct sdw_cdns_port *ports; int num_ports; @@ -189,8 +187,7 @@ enum sdw_command_response cdns_xfer_msg(struct sdw_bus *bus, struct sdw_msg *msg); enum sdw_command_response -cdns_xfer_msg_defer(struct sdw_bus *bus, - struct sdw_msg *msg, struct sdw_defer *defer); +cdns_xfer_msg_defer(struct sdw_bus *bus, struct sdw_msg *msg); u32 cdns_read_ping_status(struct sdw_bus *bus); diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h index 3cd2a761911f..fb2bd1524a26 100644 --- a/include/linux/soundwire/sdw.h +++ b/include/linux/soundwire/sdw.h @@ -852,8 +852,7 @@ struct sdw_master_ops { enum sdw_command_response (*xfer_msg) (struct sdw_bus *bus, struct sdw_msg *msg); enum sdw_command_response (*xfer_msg_defer) - (struct sdw_bus *bus, struct sdw_msg *msg, - struct sdw_defer *defer); + (struct sdw_bus *bus, struct sdw_msg *msg); enum sdw_command_response (*reset_page_addr) (struct sdw_bus *bus, unsigned int dev_num); int (*set_bus_conf)(struct sdw_bus *bus, From patchwork Fri Jan 13 09:35:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bard Liao X-Patchwork-Id: 43117 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp172972wrt; Fri, 13 Jan 2023 01:34:51 -0800 (PST) X-Google-Smtp-Source: AMrXdXvuJgR8uqxzI0weIdUnkjF33K0QFMWNxRvZBULCPnzy47E+1VVp7x66mRFj+C7hLhK73sJy X-Received: by 2002:a17:90a:6fe1:b0:223:7910:95f8 with SMTP id e88-20020a17090a6fe100b00223791095f8mr10600420pjk.36.1673602491354; Fri, 13 Jan 2023 01:34:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673602491; cv=none; d=google.com; s=arc-20160816; b=O4HJ5cmBBeq+bGMaKQ7v0+bASn52RkY03Z6U27WP5pcvwSc9+T6XULW9H2T9IDDD8S KxKk7bqKR/PPBeH/AYNNZY8Sn42uD0OVlqN1mj8eXALgEEf5trx2MHcJb9Nc9NhktqxO 4TCDcAGU5zy3XW45BDI7gRP5o731CusaEPu4SE/wMhJVIjjQRbrzlHR8ti4mq7izHCFP AOfxZq+szNacxeIKKKmGUhkNrH/vjIAm63N4DKu7dIpA3pOmx9OygokLu3RfW9DbIf7+ DCkskJa/HQLEpgbJR6CuIDBl+e/6q8BWXDWTw8dZhq+52lpj0fjgVOAieZ7nN0x2/ZZC 5e7A== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=qeFz/lhRARXoxOv3b6j7k2gyST8cu9qzUlLs4flH1ZM=; b=KCSdUAN0XAXCPs/OXyR5Ad+Tn0gwxh6Hy3BRjW9GqX7wDYTggpQfIpiXffhSHAdtGQ k2bzjdumB7Y9+3KilsyfPaD1fJP3NcbhO8vJLerzDOGGYDnvPRlv2Zz+69mqNpgSrm/T ZipVUHniuYaONUDzTymzKZKlYtVBKt1WMz97sAE4vlkN1cQ/kawdXJHLCPJlJ+0S64Mh h9EFTt/W2BYdg48ltfdBSIDOPCo8Hy+9Ckli063AAilmHwwrFs6hv4cAi2tQNqZzw58B kgkNnfGnsPR5xvuq8hampp+44+/UjqY0/wQsgdM+w/rdsgmnyKEm1YJDvl9HXPMXHB5w Bo+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=CbIe5JZc; 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 lk11-20020a17090b33cb00b002265c110dbasi22035834pjb.28.2023.01.13.01.34.37; Fri, 13 Jan 2023 01:34:51 -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=CbIe5JZc; 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 S236680AbjAMJeY (ORCPT + 99 others); Fri, 13 Jan 2023 04:34:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60400 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241285AbjAMJcG (ORCPT ); Fri, 13 Jan 2023 04:32:06 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 794C11A805 for ; Fri, 13 Jan 2023 01:27:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673602063; x=1705138063; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vexI4bXkLQNgnzQp46b1BOfBvYLiQ1hk43f3ShONtl8=; b=CbIe5JZc4pCeAGbiD9qWOPmmq3FJ+HjYqcP2YHhCk9D8ZJ/vfIyQLpHf li9J7We9lrwsrSKHoIevR7/jE9bs7auVLl9x/PBnHe8HXT5Bleq41LjPl u1dhD95RWP8oJJYm4wteqNt1gjOl0ghBjpkMh9kFL+Uf8fQPbH83x48Bf A00MM5ikyWj5ktNWHDUvLycwHTZTHGawH0OHfsq3j7/68qwubtkQPqfVc 5EDD9gPobhNkJ15VUK3IdkV+kk/MewGzugrZ52K8xrm8d0LYYNK12JW28 dBUQ+m9u7JCvWJaQ04jVhE2JpChG4SRb7h25i3eM/+517EKTh1MOHfxVG g==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="351189473" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="351189473" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:29 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="608116119" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="608116119" Received: from bard-ubuntu.sh.intel.com ([10.239.185.57]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2023 01:27:27 -0800 From: Bard Liao To: alsa-devel@alsa-project.org, vkoul@kernel.org Cc: vinod.koul@linaro.org, linux-kernel@vger.kernel.org, pierre-louis.bossart@linux.intel.com, bard.liao@intel.com Subject: [PATCH 5/5] soundwire: cadence: further simplify low-level xfer_msg_defer() callback Date: Fri, 13 Jan 2023 17:35:32 +0800 Message-Id: <20230113093532.3872113-6-yung-chuan.liao@linux.intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> References: <20230113093532.3872113-1-yung-chuan.liao@linux.intel.com> MIME-Version: 1.0 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, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754899405626831376?= X-GMAIL-MSGID: =?utf-8?q?1754899405626831376?= From: Pierre-Louis Bossart The message pointer is already stored in the bus->defer structure, not need to pass it as an argument. Suggested-by: Ranjani Sridharan Signed-off-by: Pierre-Louis Bossart Reviewed-by: Ranjani Sridharan Signed-off-by: Bard Liao --- drivers/soundwire/bus.c | 2 +- drivers/soundwire/cadence_master.c | 5 +++-- drivers/soundwire/cadence_master.h | 2 +- include/linux/soundwire/sdw.h | 5 +++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c index fc192d0c61e7..ed94c92bc575 100644 --- a/drivers/soundwire/bus.c +++ b/drivers/soundwire/bus.c @@ -237,7 +237,7 @@ static inline int do_transfer_defer(struct sdw_bus *bus, init_completion(&defer->complete); for (i = 0; i <= retry; i++) { - resp = bus->ops->xfer_msg_defer(bus, msg); + resp = bus->ops->xfer_msg_defer(bus); ret = find_response_code(resp); /* if cmd is ok or ignored return */ if (ret == 0 || ret == -ENODATA) diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c index 2365395cb181..ece0ad89746f 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -749,10 +749,11 @@ cdns_xfer_msg(struct sdw_bus *bus, struct sdw_msg *msg) EXPORT_SYMBOL(cdns_xfer_msg); enum sdw_command_response -cdns_xfer_msg_defer(struct sdw_bus *bus, - struct sdw_msg *msg) +cdns_xfer_msg_defer(struct sdw_bus *bus) { struct sdw_cdns *cdns = bus_to_cdns(bus); + struct sdw_defer *defer = &bus->defer_msg; + struct sdw_msg *msg = defer->msg; int cmd = 0, ret; /* for defer only 1 message is supported */ diff --git a/drivers/soundwire/cadence_master.h b/drivers/soundwire/cadence_master.h index 53029d22822d..63c58b9b1f59 100644 --- a/drivers/soundwire/cadence_master.h +++ b/drivers/soundwire/cadence_master.h @@ -187,7 +187,7 @@ enum sdw_command_response cdns_xfer_msg(struct sdw_bus *bus, struct sdw_msg *msg); enum sdw_command_response -cdns_xfer_msg_defer(struct sdw_bus *bus, struct sdw_msg *msg); +cdns_xfer_msg_defer(struct sdw_bus *bus); u32 cdns_read_ping_status(struct sdw_bus *bus); diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h index fb2bd1524a26..86e320cf27b1 100644 --- a/include/linux/soundwire/sdw.h +++ b/include/linux/soundwire/sdw.h @@ -837,7 +837,8 @@ struct sdw_defer { * @read_prop: Read Master properties * @override_adr: Override value read from firmware (quirk for buggy firmware) * @xfer_msg: Transfer message callback - * @xfer_msg_defer: Defer version of transfer message callback + * @xfer_msg_defer: Defer version of transfer message callback. The message is handled with the + * bus struct @sdw_defer * @reset_page_addr: Reset the SCP page address registers * @set_bus_conf: Set the bus configuration * @pre_bank_switch: Callback for pre bank switch @@ -852,7 +853,7 @@ struct sdw_master_ops { enum sdw_command_response (*xfer_msg) (struct sdw_bus *bus, struct sdw_msg *msg); enum sdw_command_response (*xfer_msg_defer) - (struct sdw_bus *bus, struct sdw_msg *msg); + (struct sdw_bus *bus); enum sdw_command_response (*reset_page_addr) (struct sdw_bus *bus, unsigned int dev_num); int (*set_bus_conf)(struct sdw_bus *bus,