Received: by 2002:ab2:b82:0:b0:1f3:401:3cfb with SMTP id 2csp851297lqh; Thu, 28 Mar 2024 20:45:32 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUU+ZkwsjGRegUh/kyz+fRo6j+2mVyxZioJjGjw6nzwiDCKazDNp4ZnzlArxNtaW5n058OBOVSuhloWQaz51pYKCdM1iLEnuURgHuFxYQ== X-Google-Smtp-Source: AGHT+IEh7ifOs3CZa2YTcxFklfr2AekN+o8b84tSun9yo+mpH+ZwB/qWVr898Fym1T/gCnZQ1crk X-Received: by 2002:a17:90a:448e:b0:29b:8926:c161 with SMTP id t14-20020a17090a448e00b0029b8926c161mr1211449pjg.19.1711683931941; Thu, 28 Mar 2024 20:45:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711683931; cv=pass; d=google.com; s=arc-20160816; b=o66y9ROKCSz0sN8BkmzgKQdmlpzMuLUSW12KCJXnxF2W87NyG5Gxiw8FuKe5+UzPY1 m+8daE+NrBq6rEDxfw7CN4lhu8BDg5AwxWngxID7STfpXVb7DgrMr95XGv/aTykN1ZBS otFHjGfFE8y8h2bGxMZNzgRPaFxe2LHndIQ4Py10LWKN6tgopB1oemi9qQWjC5hID0su S96rQf/FK/nVbNFKnmvYNUaNlF6G0faa/2EUlowD1Oem8wmUdw4IT0LwIRpDA4axo+kF jhOCNuRMGUV4p0zM08PHCTL+/8qjXaN3NLMyxDvlEav/9Sog+vys83wj8x1IQ322x9k6 h3aA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-id:precedence:message-id:date :subject:cc:to:from; bh=v3ApCJp9en1K4NELdU35o1JQ+46J/W+E4wSfquKC7x8=; fh=18gC0dCFwnw93OtsWShNcZu0hgzvfV7ad1cvzudtgeQ=; b=qlMIo1drRyOQSyNtG5y8bWNSqzexYJiiO8RFODfjfbu0VWJdlY8Y8X7MLOjyKQSf2k 6LJucLXB52j1RlJm7QfpuvKUx/Ef3HPse5ANScAO71q+SKuxo4/GDRHSRAlhDvCpTikb G1iR0ZwdVoMDUAJfm3fWTwj2mcCK+as+V4ect2/tVemeBP865NgngOQRf10+GK01PSn3 fH6VClFeshFgOCvmm89pUeo4zGfl0YkTcP1Y3YHax0Vb4ZJaOat+RXgS5yVq2Mchmzz9 7dQvqGeqYjayS+Gl3BnZwP69h6ZNwUNKUpURUMzyO+La0XtT0dMUy1S12EVidNfceAlO rfFA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-124093-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-124093-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id o6-20020a655206000000b005cdc5c9d6a2si2770194pgp.576.2024.03.28.20.45.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 20:45:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-124093-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-124093-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-124093-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 55876B23357 for ; Fri, 29 Mar 2024 03:45:27 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6CBA239FF2; Fri, 29 Mar 2024 03:45:20 +0000 (UTC) Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5208239FC3; Fri, 29 Mar 2024 03:45:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=92.121.34.21 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711683919; cv=none; b=J3kD4BBQvH7ur/+Z/tHgOqQibL0FhC9KsxZkzdcV3+0+dzlfBXZWA+Q5LBsf22rxafcllk7HiBk5OqBqtyu0dyj9D5ocqYWOQHxbbexoZk2x09LFQWJeFrCrzGcIU77Ra1VaZUPpa1DxTjb2PZ1ilajS0LKivOFqsx6KLS+VlA8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711683919; c=relaxed/simple; bh=Lg8RQNfQWRVNjwDCPa0PeRNPU4BSAxRxHYfrnD7JNsk=; h=From:To:Cc:Subject:Date:Message-Id; b=s7U27mI7qxV1k1iI195QQZlC6tizGcWQqkp/oO8gZNUCJFzbQXXyoS1El4Q8LL2entLTFSPZgwhyXBnxXXJEuv4NZ0JqymHBV2BmM378YwMwYU72y+6lBGeKA2XIxo1/EWNXQ4yLB/Q8Sm7Vp+2K+yflF+GT/K1kF7RgiqjCIkI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; arc=none smtp.client-ip=92.121.34.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id E0945200820; Fri, 29 Mar 2024 04:45:10 +0100 (CET) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 964112011A8; Fri, 29 Mar 2024 04:45:10 +0100 (CET) Received: from localhost.localdomain (shlinux2.ap.freescale.net [10.192.224.44]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id CB5DA180222F; Fri, 29 Mar 2024 11:45:08 +0800 (+08) From: Shengjiu Wang To: vkoul@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, shengjiu.wang@gmail.com, linux-imx@nxp.com, dmaengine@vger.kernel.org, imx@lists.linux.dev Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RESEND PATCH] dmaengine: imx-sdma: support dual fifo for DEV_TO_DEV Date: Fri, 29 Mar 2024 11:28:07 +0800 Message-Id: <1711682887-15676-1-git-send-email-shengjiu.wang@nxp.com> X-Mailer: git-send-email 2.7.4 X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: SSI and SPDIF are dual fifo interface, when support ASRC P2P with SSI and SPDIF, the src fifo or dst fifo number can be two. The p2p watermark level bit 13 and 14 are designed for these use case. This patch is to complete this function in driver. Signed-off-by: Shengjiu Wang Signed-off-by: Joy Zou Acked-by: Iuliana Prodan --- drivers/dma/imx-sdma.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index 9b42f5e96b1e..079e6e8f4f59 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -137,7 +137,11 @@ * 0: Source on AIPS * 12 Destination Bit(DP) 1: Destination on SPBA * 0: Destination on AIPS - * 13-15 --------- MUST BE 0 + * 13 Source FIFO 1: Source is dual FIFO + * 0: Source is single FIFO + * 14 Destination FIFO 1: Destination is dual FIFO + * 0: Destination is single FIFO + * 15 --------- MUST BE 0 * 16-23 Higher WML HWML * 24-27 N Total number of samples after * which Pad adding/Swallowing @@ -168,6 +172,8 @@ #define SDMA_WATERMARK_LEVEL_SPDIF BIT(10) #define SDMA_WATERMARK_LEVEL_SP BIT(11) #define SDMA_WATERMARK_LEVEL_DP BIT(12) +#define SDMA_WATERMARK_LEVEL_SD BIT(13) +#define SDMA_WATERMARK_LEVEL_DD BIT(14) #define SDMA_WATERMARK_LEVEL_HWML (0xFF << 16) #define SDMA_WATERMARK_LEVEL_LWE BIT(28) #define SDMA_WATERMARK_LEVEL_HWE BIT(29) @@ -1255,6 +1261,16 @@ static void sdma_set_watermarklevel_for_p2p(struct sdma_channel *sdmac) sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_DP; sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_CONT; + + /* + * Limitation: The p2p script support dual fifos in maximum, + * So when fifo number is larger than 1, force enable dual + * fifos. + */ + if (sdmac->n_fifos_src > 1) + sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_SD; + if (sdmac->n_fifos_dst > 1) + sdmac->watermark_level |= SDMA_WATERMARK_LEVEL_DD; } static void sdma_set_watermarklevel_for_sais(struct sdma_channel *sdmac) -- 2.34.1