From patchwork Thu Dec 21 15:35:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 182307 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2483:b0:fb:cd0c:d3e with SMTP id q3csp493013dyi; Thu, 21 Dec 2023 07:36:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IGSukmKieadIrF9Efu9YDeU17PuXAwQ+nyBr2E7sWXadtLrrtdiGRGP/7yCleIYr/RPvRfW X-Received: by 2002:a05:6102:b10:b0:466:125:464a with SMTP id b16-20020a0561020b1000b004660125464amr1184112vst.11.1703172982679; Thu, 21 Dec 2023 07:36:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1703172982; cv=pass; d=google.com; s=arc-20160816; b=iUOZXrRpxDIrLqpS7nJnbp3uPntaJCNKGobnGXjcDgL/AD2tuhMWan0+RzspjOxwa3 ITy0dWtAMjSb0d3iuMJU4ZxGyQBziD3gA4G+t0hy4+vkVmNK8whgkw2Ol1tVtxWjpLun +/+WdwTjynbpN50c4HQOSymS2xswqcf3YF7rlOtgD26uj/+kQmQ1aBd5NMtBpt6fCmQB 6umA9v8mKAzx2OwG1O0Ls8brdWREjf8hgkBk/XYZsZmkwRYcJwxRa9MLqt+pG25j8ssB pusIHOysHz7ku5hwWe2mkqQ46ceJQsr+emVtSX9dPvY6n6W76qHjBZk2O9FpExlnDZBD HG1Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=K7yVzVo7EuQGlTzc4m2DQUz+qtkprIyQR4WJck0cUOk=; fh=sMdfhQuh3uJo/+rJwzTsxvTRHjuApMLnlUGvlzyj9Sc=; b=tdJyaZYjmjwDf0lDsoyn/gpolZQ2hRY4GZfvsiLXfaOazuCP9ynyN/kLAxPn3R2lAu G9SQbCqBPwf601kE5O8ISNXMleH2XHqItJmq1m95fXYEiJz0/3WtkUXYlC8qsddqFkrE L0Dd+jB6Z4aYFC4F6PV691Drxj1u79ewgVehhcvTMpJahVCCJJrAdgfyhKoiPLE3sdeC Mlt8HIxf63aLg5qWcA1arTQfJ4441JwGAj5xlJFVzxfT0Ptq/6becd7kTU8h62QgNC1G JuKDSt1aiN8wPshAJUYG+oPt6W0Tk/JVNY7Ng5Y1dnh7EPY3rYgSIdh96aa59Y1BRBrd GNnA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=GHgSpoWZ; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8672-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8672-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id y4-20020a67cf04000000b004667bc56299si337000vsl.570.2023.12.21.07.36.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 07:36:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8672-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=GHgSpoWZ; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8672-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8672-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (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 ny.mirrors.kernel.org (Postfix) with ESMTPS id 642E21C25CF6 for ; Thu, 21 Dec 2023 15:36:22 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E955255E5E; Thu, 21 Dec 2023 15:35:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="GHgSpoWZ" X-Original-To: linux-kernel@vger.kernel.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2072.outbound.protection.outlook.com [40.107.20.72]) (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 4736B41C7A; Thu, 21 Dec 2023 15:35:50 +0000 (UTC) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PVvIQVA9re09S//H7PQLRIlyFsgAQwzvM6CEBPgNQdCXxwMSLa6bfzRhQ+EOZ8AfalVjiNdlBG8tqjd+yqHX9IhHSEnHQOD1rpQWKFm48bfnQ5fZ3CZiRy/yyJrhkOfbk0IHnqUEdhrXA/o6waDgXq8qIP/AyfXBNkClgITABEwBgMjDupQhLevPrmjrcdtAW/XJsvq5rIU5kW/2A3qy3QedPCw2zdLk3IZ50cFdO2Sp57fYrUEWX0TmHAKyPBLq51mBvgL96LzyThjk7zCAcrvvqLcp5xJZgo742QrNy1e8X3RdpgCj3scYaBebmDbztlLssOyoji9I7iGP7/x2UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=K7yVzVo7EuQGlTzc4m2DQUz+qtkprIyQR4WJck0cUOk=; b=EqOPKcpWoBsL9nZgXIvR9T/MTG8/1BmNGXz/Ew8+u0FAZxsptUwCFdNmXgknHNHdYLBszHwB+BmnEBhU8NNMa/RwItUdTlUdf0VnMSzoKOc9V1sp5KI9Yzgb9bPWUEBfHD6c/MzTFqdIAY6PnSq+05puu0gGfSvR1lhNE285sFI5EJuoFIRfHLKIjbJx+FtTHLfG2MkkYyjoVvnl6qnBxCMCCcbvM2Hn58X7q/uDtjdAbPF/VYk8B3BaBwG8TZCTpkE30kDQRZ7x0dCFsDYRwF7N149sSBQnrK3DPszVzg6vcnhEs4gBACQPdEBreJlfxXXpS52e5X0IWpzp4x4nbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K7yVzVo7EuQGlTzc4m2DQUz+qtkprIyQR4WJck0cUOk=; b=GHgSpoWZKyrfHulysDH2/+yJu0VASZ2giMFtZGotbdAG6Z+kVFElrm8+tfBN+p0g2OzlZaWGsOGHuxR9VsZHWi/tpld/9KZd8/U5lgFN+sw4pu67saWH/Gwslt2th/7YHROlxJyGVHL3/T9fbV7XlqOVHDtD2K/QWa6kkDsaogk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.20; Thu, 21 Dec 2023 15:35:48 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40%7]) with mapi id 15.20.7113.019; Thu, 21 Dec 2023 15:35:48 +0000 From: Frank Li To: joy.zou@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, frank.li@nxp.com, imx@lists.linux.dev, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v4 1/6] dmaengine: fsl-edma: involve help macro fsl_edma_set(get)_tcd() Date: Thu, 21 Dec 2023 10:35:23 -0500 Message-Id: <20231221153528.1588049-2-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221153528.1588049-1-Frank.Li@nxp.com> References: <20231221153528.1588049-1-Frank.Li@nxp.com> X-ClientProxiedBy: BY5PR17CA0057.namprd17.prod.outlook.com (2603:10b6:a03:167::34) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AM9PR04MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: 64eba899-3679-4ac0-d488-08dc023a81a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GFaicVVpSB1aErw9DkDvjpQXyeot89gP1IlunJk1suV7r5FxKh4Y+mDBdFtwpRLV5dv0Sdp9Lp96NQed51avP3op56UjA5gj2+ny51i/EW3O0cHgyP4prjQoVVNbHRJhcXVZSqx6myayaoEKNGN+3kqvl8hfJi+hLfAfW1PgxAlYw4XCVHt9pRORikB6lrtC772giqz8+iWZEUkgFGaWKEhmhV99KSVUQ1BU2pqoC94FnDl3ty1qV3hUJUBsrPfBJW00KTE1SZSPJ/ntcbxTpJkBCYhmi8p/3oEznYhvXHWLo1Is4BZO9SeX7uy0wPM3JKDv98tkoQU9LUzsGn/olPffra5ppS2NwS78ntqFipPEtFRyuQaxTe4q1e+duzrWQ3EBG62WqcNR8YZhd2KvJbgJPftl3n7mQmZwZ6mhVOdZZtl7LAOp7Hs6G5lEdqjQSeq3yfu5ZmY6ta0+gTVTZuotx5fAnlmGtRxHA6bRSbd+ABgG0Hplmi4XUM+frEOTlq2e42LOiv0pI43FtA8R7FKnb8rNnkq7/wkgWDCVyZd0SJbCMIVGLluI3p2KQe8B3KFatXfQCSr5+ADSM1D2mNtx/++nor1i7xKtXGuQkGtSP9OzuIWvma6FDNOM2iIC X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(136003)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(6506007)(6512007)(1076003)(2616005)(26005)(6666004)(52116002)(4326008)(83380400001)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(316002)(5660300002)(66946007)(66556008)(66476007)(36756003)(86362001)(38100700002)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /CpX9rRnQuANuEUUm7+7lTmGlvWBunyD94YKwpKH6aGVU8pc7UG1cnqV6R/8WjXJBZcET53VwjAr/OB8LpgL9mlV5OTMR7VlVXi8vlek6UA9xWtX6ZtaZnbj8eZUAOslhut6ym8QDhvkMRBajGqZQN4HMMNrZGKvAVLn30NlRnrL4P50Qmx6/VtT3Bl2tJ2uyNf3dkx2XhAQetvDRPQ/KQGDJH5xmc7vQ+1U+HE9u7IjoDMoz/UwS0aYI3qJqDxUz0Lz4cfHod4Ae1AbvrPZpc27mitysjEk3AidsoNWLUrkVYyNfm2XJzbXIksGuv24h/R9/n0DScxU7ci/N/5+fAJpcW+CGm33w8W453ls79y3FUliTlT/js55luYG8rPvN075QlOzzlIp7DpiNdSRZwj7qddmy6drlykODy+OIuWJvV+lEn3yxziLwS/jL0/2SpwMbmOLegphi2xHM+aoVHdbjO8HXM4YE6Y7f2DAYY6D15+8X2SDkoLYAfM8THNQr6GRifqqYuGawA4dPqYnE47NkgiTI+qrFmGFkeaWyIhkzXBEZjyGWcX0P1PU+QITgiUkXDeHfJnLQmtCNRAZpBUzLFYthRLA1KPxAlRyMIX4/bi+5FHUuePP2FQRsizgajkHoiITgfsytqPhGMVmMtjuQsTJWpokABzdCemoJDFg0FocTNoYzSdU2ylcTS4xJyhk/coo5rztDxzlRUSbMUe9uXQ5UEKJo4dE8kZhJF6XtPmj0jGYj7MYVVfVpa8a7HXTDBa+lZwLeEbUzHrpNOcq4Mbg1JbCi4ohajAnmgcBppHNIJ3nEavqAfoKoIyqri5cmrTZpmgBW5l7UGSHbclI5voekHxBhOaKOrC0YB7tqD3vHgRO9nWl/mGxpu2MkD1p6YwV0f+LLxZ/p0ZyJuqMkNtHv8yUIQe/DvgSJB7R0hMiDWOiDqw/t5WrTTpBQSPNBLHK5//ABIJWF9vZbuEA/uNON1qLpXt+q/b1ZqOHVY3JuEVG08w4XTlABWwFdl2wlQ8z7vnmJhGUbL3Em2i1yeq/788siToc7W19GbnfgrDGC5FMZlyN2VchMM4zHcVOEInxm30g4NXEqt1kFUZ2C753WrZzAuMND14VWByJPAJib8MObIww7Y2Ip/StKfTp7ux98tLB10T58XFwkb9/hbLfsnzk+SdcmRoaPGTwGHAVkVKkaZxw5cmXhWVH8pH65OCJBT3u0dFOUzYYGW3kWdpZXMb6p9G5acQ5MwcbDs0wm0+4rOpVg7UxG0k8Wx36e0GlmkDuQnJfI1++0DuI8LJRDQYGJHGNkFc8b9oyBiP+5P/1gmlUljM8MT5ZygmKRzQQ0pRlQ1X9/0/V2xypwhKzvljPVWEFyfTTUl1h2aO26RGQ8ancyHjluPn0kGFeLJUTDG9BOupDZAl0qzyX/ZD3BnpnPulRLsRJ5dKoQVIVYACGTH2ePnI/PMa/su0FLrc7yqUhho7CqvgUOLsDrqfQRWz3D6P16hyMDkx8QzoZQmfvlq4GtGZTkGss27gGnLI3PnUuOtbzeuwf/i4HW0bsEU5/pYNkiv+3K9nk1YF0PI6BNm0QouGOTZFQ X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 64eba899-3679-4ac0-d488-08dc023a81a2 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2023 15:35:48.7844 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3cMwq4E7e2S2YZX51i6P8E4dgRkym2pxiimZFYcTT0LN6JgN0ijfURWm/flbVVuBKLfwJp+M5vsNICqe2v3kAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785906313532137559 X-GMAIL-MSGID: 1785906313532137559 Using help macro fsl_edma_set(get)_tcd() and edma_cp_tcd_to_reg() to handle difference field size. This is not function change and prepare for 64bit tcd in imx95. Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.c | 61 ++++++++++++++++++----------------- drivers/dma/fsl-edma-common.h | 23 +++++++++++++ 2 files changed, 54 insertions(+), 30 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index b53f46245c377..50f55d7566a33 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -358,10 +358,10 @@ static size_t fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, /* calculate the total size in this desc */ for (len = i = 0; i < fsl_chan->edesc->n_tcds; i++) { - nbytes = le32_to_cpu(edesc->tcd[i].vtcd->nbytes); + nbytes = fsl_edma_get_tcd_to_cpu(fsl_chan, edesc->tcd[i].vtcd, nbytes); if (nbytes & (EDMA_V3_TCD_NBYTES_DMLOE | EDMA_V3_TCD_NBYTES_SMLOE)) nbytes = EDMA_V3_TCD_NBYTES_MLOFF_NBYTES(nbytes); - len += nbytes * le16_to_cpu(edesc->tcd[i].vtcd->biter); + len += nbytes * fsl_edma_get_tcd_to_cpu(fsl_chan, edesc->tcd[i].vtcd, biter); } if (!in_progress) @@ -374,16 +374,16 @@ static size_t fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, /* figure out the finished and calculate the residue */ for (i = 0; i < fsl_chan->edesc->n_tcds; i++) { - nbytes = le32_to_cpu(edesc->tcd[i].vtcd->nbytes); + nbytes = fsl_edma_get_tcd_to_cpu(fsl_chan, edesc->tcd[i].vtcd, nbytes); if (nbytes & (EDMA_V3_TCD_NBYTES_DMLOE | EDMA_V3_TCD_NBYTES_SMLOE)) nbytes = EDMA_V3_TCD_NBYTES_MLOFF_NBYTES(nbytes); - size = nbytes * le16_to_cpu(edesc->tcd[i].vtcd->biter); + size = nbytes * fsl_edma_get_tcd_to_cpu(fsl_chan, edesc->tcd[i].vtcd, biter); if (dir == DMA_MEM_TO_DEV) - dma_addr = le32_to_cpu(edesc->tcd[i].vtcd->saddr); + dma_addr = fsl_edma_get_tcd_to_cpu(fsl_chan, edesc->tcd[i].vtcd, saddr); else - dma_addr = le32_to_cpu(edesc->tcd[i].vtcd->daddr); + dma_addr = fsl_edma_get_tcd_to_cpu(fsl_chan, edesc->tcd[i].vtcd, daddr); len -= size; if (cur_addr >= dma_addr && cur_addr < dma_addr + size) { @@ -439,26 +439,26 @@ static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, */ edma_write_tcdreg(fsl_chan, 0, csr); - edma_write_tcdreg(fsl_chan, tcd->saddr, saddr); - edma_write_tcdreg(fsl_chan, tcd->daddr, daddr); + edma_cp_tcd_to_reg(fsl_chan, tcd, saddr); + edma_cp_tcd_to_reg(fsl_chan, tcd, daddr); - edma_write_tcdreg(fsl_chan, tcd->attr, attr); - edma_write_tcdreg(fsl_chan, tcd->soff, soff); + edma_cp_tcd_to_reg(fsl_chan, tcd, attr); + edma_cp_tcd_to_reg(fsl_chan, tcd, soff); - edma_write_tcdreg(fsl_chan, tcd->nbytes, nbytes); - edma_write_tcdreg(fsl_chan, tcd->slast, slast); + edma_cp_tcd_to_reg(fsl_chan, tcd, nbytes); + edma_cp_tcd_to_reg(fsl_chan, tcd, slast); - edma_write_tcdreg(fsl_chan, tcd->citer, citer); - edma_write_tcdreg(fsl_chan, tcd->biter, biter); - edma_write_tcdreg(fsl_chan, tcd->doff, doff); + edma_cp_tcd_to_reg(fsl_chan, tcd, citer); + edma_cp_tcd_to_reg(fsl_chan, tcd, biter); + edma_cp_tcd_to_reg(fsl_chan, tcd, doff); - edma_write_tcdreg(fsl_chan, tcd->dlast_sga, dlast_sga); + edma_cp_tcd_to_reg(fsl_chan, tcd, dlast_sga); - csr = le16_to_cpu(tcd->csr); + csr = fsl_edma_get_tcd_to_cpu(fsl_chan, tcd, csr); if (fsl_chan->is_sw) { csr |= EDMA_TCD_CSR_START; - tcd->csr = cpu_to_le16(csr); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, csr, csr); } /* @@ -473,7 +473,7 @@ static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, edma_writel_chreg(fsl_chan, edma_readl_chreg(fsl_chan, ch_csr), ch_csr); - edma_write_tcdreg(fsl_chan, tcd->csr, csr); + edma_cp_tcd_to_reg(fsl_chan, tcd, csr); } static inline @@ -493,12 +493,12 @@ void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, * So we put the value in little endian in memory, waiting * for fsl_edma_set_tcd_regs doing the swap. */ - tcd->saddr = cpu_to_le32(src); - tcd->daddr = cpu_to_le32(dst); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, src, saddr); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, dst, daddr); - tcd->attr = cpu_to_le16(attr); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, attr, attr); - tcd->soff = cpu_to_le16(soff); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, soff, soff); if (fsl_chan->is_multi_fifo) { /* set mloff to support multiple fifo */ @@ -515,15 +515,16 @@ void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, } } - tcd->nbytes = cpu_to_le32(nbytes); - tcd->slast = cpu_to_le32(slast); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, nbytes, nbytes); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, slast, slast); - tcd->citer = cpu_to_le16(EDMA_TCD_CITER_CITER(citer)); - tcd->doff = cpu_to_le16(doff); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, EDMA_TCD_CITER_CITER(citer), citer); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, doff, doff); - tcd->dlast_sga = cpu_to_le32(dlast_sga); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, dlast_sga, dlast_sga); + + fsl_edma_set_tcd_to_le(fsl_chan, tcd, EDMA_TCD_BITER_BITER(biter), biter); - tcd->biter = cpu_to_le16(EDMA_TCD_BITER_BITER(biter)); if (major_int) csr |= EDMA_TCD_CSR_INT_MAJOR; @@ -539,7 +540,7 @@ void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, if (fsl_chan->is_sw) csr |= EDMA_TCD_CSR_START; - tcd->csr = cpu_to_le16(csr); + fsl_edma_set_tcd_to_le(fsl_chan, tcd, csr, csr); } static struct fsl_edma_desc *fsl_edma_alloc_desc(struct fsl_edma_chan *fsl_chan, diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index bb5221158a770..ce779274d81e5 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -238,6 +238,9 @@ struct fsl_edma_engine { edma_writel(chan->edma, (u32 __force)val, &chan->tcd->__name) : \ edma_writew(chan->edma, (u16 __force)val, &chan->tcd->__name)) +#define edma_cp_tcd_to_reg(chan, __tcd, __name) \ + edma_write_tcdreg(chan, __tcd->__name, __name) + #define edma_readl_chreg(chan, __name) \ edma_readl(chan->edma, \ (void __iomem *)&(container_of(chan->tcd, struct fsl_edma3_ch_reg, tcd)->__name)) @@ -246,6 +249,26 @@ struct fsl_edma_engine { edma_writel(chan->edma, val, \ (void __iomem *)&(container_of(chan->tcd, struct fsl_edma3_ch_reg, tcd)->__name)) +#define fsl_edma_get_tcd(_chan, _tcd, _field) ((_tcd)->_field) + +#define fsl_edma_le_to_cpu(x) \ +(sizeof(x) == sizeof(u32) ? le32_to_cpu((__force __le32)(x)) : le16_to_cpu((__force __le16)(x))) + +#define fsl_edma_get_tcd_to_cpu(_chan, _tcd, _field) \ +fsl_edma_le_to_cpu(fsl_edma_get_tcd(_chan, _tcd, _field)) + +#define fsl_edma_set_tcd_to_le(_fsl_chan, _tcd, _val, _field) \ +do { \ + switch (sizeof((_tcd)->_field)) { \ + case sizeof(u32): \ + *(__force __le32 *)(&((_tcd)->_field)) = cpu_to_le32(_val); \ + break; \ + case sizeof(u16): \ + *(__force __le16 *)(&((_tcd)->_field)) = cpu_to_le16(_val); \ + break; \ + } \ +} while (0) + /* * R/W functions for big- or little-endian registers: * The eDMA controller's endian is independent of the CPU core's endian. From patchwork Thu Dec 21 15:35:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 182308 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2483:b0:fb:cd0c:d3e with SMTP id q3csp493138dyi; Thu, 21 Dec 2023 07:36:34 -0800 (PST) X-Google-Smtp-Source: AGHT+IEr89OMKUv/32JGEUQRX/CA56sL5oN7HBO2RygqVoYvHB06jnhpiJOLLEZe7zhO5siWdHHn X-Received: by 2002:a05:6122:c82:b0:4b6:d618:5b7b with SMTP id ba2-20020a0561220c8200b004b6d6185b7bmr1071462vkb.16.1703172993962; Thu, 21 Dec 2023 07:36:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1703172993; cv=pass; d=google.com; s=arc-20160816; b=076WSgLbzQcdlUaTXAk2F8l2n6zVG0xZVHh2hLFsPeK0JswsgAJPt1RkOoA7hgSezw 6LLUuMkZNs8z7eULmAasLFxBA2PQi6Vq6wjbaCX/zDkPVJzVe8Wbjqw/RAwMOM3udgaT fADz6+Cgo9bQ2ZDtFeEFDzNgsdUuyOW4RtsFj/CioR7SvUiVaWxwWLdOAEn+VbdFUKmQ 3T6/E4aKDQCBxiwlG+2q15gmOMS/FeS7llB8p/0zHTECRdrJnDlQZqOog+xq9r288wgP ZS3xzT8R1dxk8QoRiz3uPx+d/ssHA6w1V5JFrF6IVjvOXikkKnzSIM9S9XEvvf7nJfXO LhQg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=Qds3eitbV+VPVhcvy3TxSQajrWZgbp8jt8fKBn/jmZg=; fh=sMdfhQuh3uJo/+rJwzTsxvTRHjuApMLnlUGvlzyj9Sc=; b=hWYmBBBNiietaN1TVjoixLfCqCY2EvUK5xehKxv2UqOBsvgXWiXr5pvU1miP6q02jK kOwuU7WplVSYnm1PSqsji6KbUkuZupWpywes3nkubJiSwrlIJp5tVhMziBI9f2cKGQnf omfvZuML5SVvwsiBKf3InNpt8O+wdTCTCiLWb/tirgvvjT5gW9wu1e+jwIhtsLf2Gczn TqohXjLmsErfC2/bMXo20iFwZQ62RelUckrLnkWLpciunrOQrGJsyPw+/g6412UVgViI X5GRgF4ALz/rcAk+pg3lC9r7AnQWMw56FVlCEin/AG91KrYTmE1VcTLNXyDvD1NvF9rK iaEw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=kAkrHm3b; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8673-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8673-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id de8-20020a056122458800b0049353950c7bsi514091vkb.176.2023.12.21.07.36.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 07:36:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8673-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=kAkrHm3b; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8673-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8673-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (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 ny.mirrors.kernel.org (Postfix) with ESMTPS id AC63E1C25B51 for ; Thu, 21 Dec 2023 15:36:33 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F1A3055E60; Thu, 21 Dec 2023 15:35:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="kAkrHm3b" X-Original-To: linux-kernel@vger.kernel.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2072.outbound.protection.outlook.com [40.107.20.72]) (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 8E87F53A02; Thu, 21 Dec 2023 15:35:53 +0000 (UTC) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U/2nwBNOe1yVO+0+z410JLkLkxZ7c0alGwr7I0y7N8hHMbUSi8QVVLyhX4uBfNfzB5ywldIFIF4NCAbP+Pb4npSrWfW2wFxN9wamqVHKQ7OglEPfxdAfZUIE1zqkTviboT1zcEMDhcPaLIJC1WmAOZkvW5jDMUigD16+JRX3CNViT8l3ozBdYbhxKDZY4vI9wNyT8BxTu2uuoNNcSlaXKVqSiU4kS2kvHMoSt8FlTMQHNIWEsvw7RpxdwmHFGkrR7edP2sK5ygvWOAq5kg0/QtKwLLYCvEBxwRSP9NNZKtr0LvhbeVwx2NJP/E+T+wFYNnuhjpp0nudHY2c/geceOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Qds3eitbV+VPVhcvy3TxSQajrWZgbp8jt8fKBn/jmZg=; b=kKEe95sLHA05/xQiragSCZUOkxIQp8MK5It0zfevZGZWobltiec1zZANAuswWSZ696s4SUlPg8+JkdQnvgwRoNcB0IyNvQkySUcApSgResoYEjggibBOFYZrF7N4D9eFpCf8OuRwWvI/kPwAIkR0qL7lTKH45xSLbuPE6Hw0xzGmmFbossG0MtiqyiLLDM5TKUIvLHJyogZZMIZvCaafQI8xtGvmV+12MSEME9cNBYIDKzadVaV51SPiYSp3QWjpfF1U9LSlJ1wMz2fM8Q4NqsebzWzinFhUpWNZ7L0z5oHvIazBhbqzd1It5ueUgGK9scM2TEV6ef70HU2HaAl9eQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qds3eitbV+VPVhcvy3TxSQajrWZgbp8jt8fKBn/jmZg=; b=kAkrHm3bZ4FTYX9r1UpaE4reollbylIJCf5ELoQuB8vv36SrYfWU2DXygd7wR6lLB34wU9HSL0PS7HsYIzreAeFvuqbh7y68pzXtj843JR/lV7GbQSn5oh/h2bbnOhb8iPcj9xjGFk8RrPt/rhCWwbemduVj/7T3DWxRwClYOkQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.20; Thu, 21 Dec 2023 15:35:51 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40%7]) with mapi id 15.20.7113.019; Thu, 21 Dec 2023 15:35:51 +0000 From: Frank Li To: joy.zou@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, frank.li@nxp.com, imx@lists.linux.dev, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v4 2/6] dmaengine: fsl-edma: fix spare build warning Date: Thu, 21 Dec 2023 10:35:24 -0500 Message-Id: <20231221153528.1588049-3-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221153528.1588049-1-Frank.Li@nxp.com> References: <20231221153528.1588049-1-Frank.Li@nxp.com> X-ClientProxiedBy: BY5PR17CA0057.namprd17.prod.outlook.com (2603:10b6:a03:167::34) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AM9PR04MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: a5a32d75-4a75-497b-20e6-08dc023a8376 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FjquVtBwTm+nf/HOE2BwKSLWQr4Oj1Yt7B1BFWj9cqrfnUuE2MMkJTQVnJ4Qg+in1LVByk9RsLfI6etOx0KHpoMsBC8bMk3vRqgbAew30OgOTJ6YJzXHCQxo+PM7eVOqNVKBPHk1OmdKc65AbWbTlB6y7IJmTUMF39HimX8xLA1PfOvl/hVhnH/1heQPfOeKQSxRUsgXnDDHWroa3Dzpg1gLZFUZYhCiLsK8WwL1FzOEi47tiQO5y4QbDLwT+Q6FvCMcHyeloEU61qu1/OZsgieniVXreYm3L3gG+OH6Ck9odRfrgW8vl+hNGLflBiRM06c1m1a+jQOn6GwgLPeSXypHrAZffCidrxhCfpxbVYYWangId2AdpBdsr3RhmNwpugjW5pOppc7cXxz+znRfFldth4e2/LjvGw4XZN7dAx1gMUumWmlT0y+AF53eIKlpcyizxWknpElKA8AmWOI/DSodAn4Wd14w0LHhDdu0/m4CIubdrWo1WuoVVovFCf8CMzJ6PrrA0iq8+gHpIovbAUmfl8FJ75yL1jGh1x3ooUl1RS2Pry4DEFLxT4z3mK02Nv8fT7XKSddRTxaz5+YuDRMhptLI52TzV+laGXQrBlVbgRSgaoHpRfpS8HESEK2qiURuxlH03Bw/3iGrb8KCcLMpX/nA4xH/nXTYsM7FwuE= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(136003)(376002)(230922051799003)(230273577357003)(230173577357003)(64100799003)(451199024)(186009)(1800799012)(6506007)(6512007)(1076003)(2616005)(26005)(6666004)(52116002)(4326008)(83380400001)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(316002)(5660300002)(66946007)(66556008)(66476007)(36756003)(86362001)(38100700002)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8I+jrJq7gLQjhkI6n0EFPR0j3TGdOnRYth4L1IBg/zyg49+iGpc+AUlU0KSF5G2eywZmfhtaZS8aj6TL2ra8bdwEjg2k9JigSIeJvCeLfmFhhjnzaW/y7p1Z8sbF8DuC3+avLn4zVTCXQ28Jw5clVvnAMIyAFYG2FViRtpujPtrc7OxTIf4LjFAjkFNJZTtn56aP4OpmllVhZ6oV9iUTdz/JOvE9gi7NNLrf698LjCBEvWhfswLo368cBPb1DkJOL4lS04mEYzZOZMISAszXXjwKfClvzriUG8QTKULgooGVPi3DGDkgfEDJ6hW1J3dBHkbbSVjSzWNpIByl1l+jNJ3+xg6UvDbR+pD+Xem2rjB0FHO+pDBBOwerXbP5wy58ihFBPo4+weaGNU6IFlojLYeGRGeMJv+8vl062GxiOmienBMfHHc145iy/JWqIO8B3N/9JQmbyt3jrk0TC0QrKpRJykpryju272O5uvkdOBqWe1z0oLET+SdMl0jElLSsqsupUIriLNZiq+uw/qDCZlCSUYC6jCeKGJ2kklI4r3Ym6CBXTdWI1slSUytgguNi+UorJHuIJBY/KSroXJ/gVUzQDFVkt2JD/C+Y6etPeT/vt5HILOLVE5vtlsfHBIBt4uuwW0CNu4sXbZsiVUnYQI/IDmpNUxZVUJGiBNlaFJpK5VEVip6ZwwSmRMryt3iMKXp/lyVXz2aZtRWoHHB/4ns64D6BVFGx3hf8x6B1jSABprYss2m3TyGwH16pmSOUOHHXSM0yD/9eXvdgh5mmU7I0Qs18emQ6mZgqDnlRUqPuPXs6TskmtYvzmVxeVfM7H4RREXix3CRUNFJbzL2lPI2op0eKO54Rsbb/p/82DQTNznkT6pJh5UZVkbghdVSs+nNDWU53jW/zwGYLO8KgkHzrHZinwnYsndKE5HEJmfdR6eRShKiSf9rHovCizrRQCLY85msOdSN1RRHOonwEYe6g/2jPmTOqPklWx5lsH5bnftV+LTL/n+MxHm1w7k4upU7uMk5sZykG5WtjIbDQWyKZSWIEGSKd8kQYqAjuNJjvF83dkLCUKY4h4mB/zjdfA4vVRWk9TFZ+Jbz2qpVxtxGqdOBJkHyg7Y12/8wGE+/SeW3uI4RwUBxdpNbeYZgxYdyLXa1O3jDFEUtb/SsmE8ji4YAA2GRoLeH4UE1gUxSFLNlLqynNrwRWIQJkpy+O992ZTLfqNlq1e+rpfMwDWRsxXuS4F4QYqZtHEUr36ojJVjF4gyXsOFIH77nCYtuG3e9fvr4l7ETOSNi5cwDUUUB7yGUwb6Yz/VZW26Lvq97NeAilnsPbmYm62Jte2XbiJu0rhWfrVuYxTCpLw6eHHudsiIwabnPganqGG7jLUqx11P71SRbFqX4PqfuDHDyGVWObRO/i1FkLaFP0CVc4hmYAaVnFgddSNLj771L6voYXYm05k48FLsGsim/BuiUZgi81cSQeQx5MN2GEXV8tlY4GNQ0s8mBPGMy57q0qfQaTbUiB8K3mAan1qLCv70amGXH8Vk3ntSqM4jchNTpBckhPjjnjQBi0MCyeFdg8iEdxvNMIMbxQZmuz9cmt3QzE X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5a32d75-4a75-497b-20e6-08dc023a8376 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2023 15:35:51.8399 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: m6fT9mapuaSdxlcLTJ8hYYrKdliGPv3ciYZ0Trlg/+lUY1KtOsNgzzqsAPZFx7ChEa3rYoq8gO/Vew2qyuQkXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785906325059800863 X-GMAIL-MSGID: 1785906325059800863 ../drivers/dma/fsl-edma-common.c:93:9: sparse: warning: cast removes address space '__iomem' of expression ../drivers/dma/fsl-edma-common.c:101:25: sparse: warning: cast removes address space '__iomem' of expression ... ../drivers/dma/fsl-edma-main.c:557:17: sparse: got restricted __le32 [usertype] Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.h | 6 ++++-- drivers/dma/fsl-edma-main.c | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index ce779274d81e5..fb45c7d4c1f4c 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -243,11 +243,13 @@ struct fsl_edma_engine { #define edma_readl_chreg(chan, __name) \ edma_readl(chan->edma, \ - (void __iomem *)&(container_of(chan->tcd, struct fsl_edma3_ch_reg, tcd)->__name)) + (void __iomem *)&(container_of(((__force void *)chan->tcd),\ + struct fsl_edma3_ch_reg, tcd)->__name)) #define edma_writel_chreg(chan, val, __name) \ edma_writel(chan->edma, val, \ - (void __iomem *)&(container_of(chan->tcd, struct fsl_edma3_ch_reg, tcd)->__name)) + (void __iomem *)&(container_of(((__force void *)chan->tcd),\ + struct fsl_edma3_ch_reg, tcd)->__name)) #define fsl_edma_get_tcd(_chan, _tcd, _field) ((_tcd)->_field) diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index f53b0ec17bcbc..86b293eba27c2 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -537,7 +537,7 @@ static int fsl_edma_probe(struct platform_device *pdev) fsl_chan->pdev = pdev; vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev); - edma_write_tcdreg(fsl_chan, 0, csr); + edma_write_tcdreg(fsl_chan, cpu_to_le32(0), csr); fsl_edma_chan_mux(fsl_chan, 0, false); } From patchwork Thu Dec 21 15:35:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 182309 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2483:b0:fb:cd0c:d3e with SMTP id q3csp493343dyi; Thu, 21 Dec 2023 07:36:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IGV0vBU0XIi/XheB6CwH0pOScD/jYHIWYLbU0KJsfZMfb7mErOs4zrl4pfMxjpY5icYpDUP X-Received: by 2002:a05:6808:14d5:b0:3bb:83a2:fdb4 with SMTP id f21-20020a05680814d500b003bb83a2fdb4mr519337oiw.55.1703173013191; Thu, 21 Dec 2023 07:36:53 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1703173013; cv=pass; d=google.com; s=arc-20160816; b=czgGOQjHpnL/o09pdt4M0ZCZhcdtFnCxeVYDoHjYVLYNOeq9pTwCcJXbtCAdIZvmRk YXmYL3ZMRs+7whsP3FvlP1MoV+qtN2V9bzjY/JWD5S46DnzzOvCAvUAMu+eh5AFTBtzD Ff/qu8C+IY+eKFuy6HwAzaCt+2KIKEYMRWCeujhXhn29ThXYYXOBnCwwooqi9b+kNhRY mSzgtbo/LcTYj7H3rZnD6fDdkhTAXfJKGyrqVfGU6lvz/jMcqw/fWAyX74HnphwjZ1cR Yq3aNZsL7hoDsfE4cirFS0p4nk9ITtW+cSfvSlg3ggV9fMDwNX6c/hHn83q04BVhYlKm 76hQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=IBP5q908Ng9LIH/wfPFsI3Scpoy1m/sgOEiCWyttsb4=; fh=sMdfhQuh3uJo/+rJwzTsxvTRHjuApMLnlUGvlzyj9Sc=; b=NJBpMW6ji30PONfcgTcRhOsM/9KqSNmydSArwgxeGqX4VDri/LTc1qoj44Us42kRFk 3dGWIjQzQ6XmE5chavw+KnAoofBwAygyt4AgO44CMixZfeMJZFFGuotNnAdj8d4R68rx fdKSQbngeEYmQJsBnWqcF/EJGNYlCBwKNU44Tjr/bsn93iTGeZpfMUVDxKSM+nvRYk6n MXJ8bHsOBwvpouVH8NVWQDT4V+gLbVguV4dubqnIAXujt1alLD+R8VOCGNnYMPxjT3lu RHZgYAXUd/hu0ySZhe+3RxZnXW6sRTflvWfNBYXXxw054VJtfvSNQbhZf/omxcdiCLii /Rlg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=dzWYkL9h; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8674-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8674-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id u5-20020a67f505000000b004668e9dc2cfsi343263vsn.623.2023.12.21.07.36.53 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 07:36:53 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8674-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=dzWYkL9h; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8674-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8674-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (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 ny.mirrors.kernel.org (Postfix) with ESMTPS id E01FC1C25C38 for ; Thu, 21 Dec 2023 15:36:52 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C118A5821F; Thu, 21 Dec 2023 15:36:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="dzWYkL9h" X-Original-To: linux-kernel@vger.kernel.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2086.outbound.protection.outlook.com [40.107.20.86]) (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 8EF2855E7D; Thu, 21 Dec 2023 15:35:57 +0000 (UTC) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U9JuaKPTeecNZqAFTbOZS4Se4itrjvQVg27lN/bVKJviWrG59Jsq521s5WjnTc3qWH35sTOw7w4x9YyfycMkhwRxoMDPX1sjoYGxH2LVNnW/1Gzd8prhfZdd9Xk398bX9hH65fPUjLmglepwCmWp7KmqO6EZnys/dsifupA1wB/ZN9a+YpwmOfErXpPIH9F2GvXcACCqa4AqdpuoTnJADrPlLzWvvJuMSg3C/tYwBkj8q5GQgK1veI/kIY8pCbAv15gTmgNdrJZjEbGz9vVCDS67FOi0jHGFkrdUt+qXHUcnNTpH5VmbFDBIoB+fdmkFI9GcHTNhaEE5K4wEoNP4pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IBP5q908Ng9LIH/wfPFsI3Scpoy1m/sgOEiCWyttsb4=; b=LG2FA9VC8wbavf2mzrjt2PJ3VVpDVZ50aqCXrw/lHAootdKJlGM07tNI3OXwdKzc17v1cfUIPUNda8nB9Ps7DWUOhaUg2b7we31gXVlQ3ulbbKMsNZm7L+7foN1aCxQemwQdVQQH/twLHUkw43hXBEMaqCRNm0Xs5imZx/zQ9rHgqDxBr1IXbc0ei5bdpx7LNbLSrpVFuxakdZIEUwh6KxwXBC6r9IqK9KTMksZcRR/ICrmLGZZqPyYj0nFZNYXzy2h9wYeToDPGmXSDy+YnftQSXABCYXO1NThJoSDQQCBR17IBNTq2ZXgX/LQba5zF+wBX46suD+nKUbKh3uu9yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IBP5q908Ng9LIH/wfPFsI3Scpoy1m/sgOEiCWyttsb4=; b=dzWYkL9hmQf0TJdcVC2ZxYGd90fWbj5hXtiq4iS07A1N9PjENmX+/xeY3z+rikjx1GtbWaRFHfEG8nR/7FwBUrrS3A37sLy/3x8aEaqneT5k3jg8P64YGcScsLSrVjNuHSKNhIJ5emw88JlOU6T60nJDc2yG5qZD67zSWdfNmIk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.20; Thu, 21 Dec 2023 15:35:55 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40%7]) with mapi id 15.20.7113.019; Thu, 21 Dec 2023 15:35:55 +0000 From: Frank Li To: joy.zou@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, frank.li@nxp.com, imx@lists.linux.dev, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v4 3/6] dmaengine: fsl-edma: add address for channel mux register in fsl_edma_chan Date: Thu, 21 Dec 2023 10:35:25 -0500 Message-Id: <20231221153528.1588049-4-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221153528.1588049-1-Frank.Li@nxp.com> References: <20231221153528.1588049-1-Frank.Li@nxp.com> X-ClientProxiedBy: BY5PR17CA0057.namprd17.prod.outlook.com (2603:10b6:a03:167::34) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AM9PR04MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: e36c446e-3f51-4a53-cff6-08dc023a854b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qtQwfD0rKDd1he97GepXtVkxYxvKRmy9okWYKVqShuK72FsyAb6bLfqeFqZyNNUZcmUS3owoEMHTW13yuBcafQwFD5G9HgTrn+UjEMRKqO1MSkiNEv9BjcI6qc1dAYwEKF8DjDyKObhfbK4WdZcZs4V4NSus3E6oMrSx+f+e4pnEYc4uS7VyEwJkDOe68W5CFs9WNpDEj0ODCDj97R5lk/jGo6HzYburALYfzwxpQsrOuDriyGODkel/5FpJyhsKQzcotLGlUitS6gu4yiHc+Gq28HOtJ5q9M6wzZVcWcNrx6fOJ4QQ8vKEDusS0GDnORfGc8FORxNbCZ110XeSyozsI6LgeONDVp1xQQfFP62hYMynMNgIut12YzujWcGvmIbp0+iQ4I7E0dpYxdR7+NxDvRLYItSTEGoN0Db24ILEIQ9hgGUcX7h47uJQkiaTeihIR0UDTIm7n75GzOU6Sjax5BzJtfDCS96MT1NeUhOfoOv4ztZ8H3Du61RPrVv2kOk7Yik0ILBL3/cdrz3eCHtqvw+wp2yhyT31/ElaniUYWGOeqpSKRLlbl+/w7e1su01RIt0uzeOjqTuT1Ls7zvuGm4GWSErupLXn7IW6KNvb85/fnJFFErX72zIFJNKAS X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(136003)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(6506007)(6512007)(1076003)(2616005)(26005)(6666004)(52116002)(4326008)(83380400001)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(316002)(5660300002)(66946007)(66556008)(66476007)(36756003)(86362001)(38100700002)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZZ7z5EkFCTmLGzE3WZjHMRk6f/9YCRQb6Kvxm1AZL10ZMXgs4689BYxi8P58Xk3pHAwnVQC5qUZmyfU1oKTs7sh+Gge6erLoZDC896b8Prg1KMXF0IAYVfLMiS4gXqg5N29WQ0cA4bAM/ff6JhdE+AElejHMP3XWnKbX8WFOUosRsotZq/UvmpIa2CGHAR669QKJOgfVI3jphB2Zca4Eq8XkSiKLjCNztJ5Tln3HEfze+TklJqUgFSYn/Q0Dazn9ZWUTJ/42y1uO5o+3o2RILk5ryDElbqriuSF2MJ1tEGSRkT71RC3FtVRw2RVyHzmjn2PQCkmEWu2BgLHFYoZ0l0T+GmK59tZekbtde5u8zqR4r6QenWoOf/VSJMu5T5VtnJ/lwSOIfST6Cnlf4QzDlNpVLkQsRFKxnppsli6ekssRRhK5p8o5MG5SqTKVF5+Fsy2bKATo7FVabrNkkQLwPSmQt/y4MqFZ+ffLYV53wXbQ7p/7Ivu5HMoALv/jTmAt12iv2S+BHiiHMc0xZg1AV9pMdy9C5llk7JJGSWTkEwpgOqwKKV/vMJ+DdrXmhxt2e45vneyFkyAgi+MqMMz7kb1wEgyrp5f9K1agTN3qZBs9PbC8QttHpxyC5NFId1m2igTq7OCCeo0mDjQWNtbGWFXrgz2MkoEbE8fS9rrIHLuqSQCXFfltaiWgjAtj1KD9fP4NQJTtwYYse1pc3K90oSl73818H4mYbaoiRCYxK26HdD2Y+WxB8lgSmb2mUqFuLMEy7+BuMuqO/gGD17SNnUg5Sr7MwGf72LDig8BJZvSDTRxi1Z4kv4IBLrfwxSYk9AMknFWKMk4VmwfPxFUEJZUivEt1OPmP8b/xelVLGDpCiDArmo7f18UCPAqk8ZHOg9KFCkNMYscDVTDazL+eaEmRvT/Dp/EK50IHeaeR4EcQvV7goNevh+19KySumdnLGL8Y1PMvYpzhK5yvFJR13VUeeo3FjmNesr+YVbmUf0gtg6X8lwBQFT53NSdQLUalPaUWXc+Ol5ef9+ZD/YQa6Apw9cE8NvbIgRyz+pbrGJ/3tQfPXFJODU/dI/w5Wouy/d1i5P0as0RpWAOtgXhEbM7Z5xcpVJZx3JxYbqAqtcO+ee4JROPqBStBZEahVlb0/jc5uVXnFABtvMyRHRIN3SYR0JvB3AUYFLA2opDGbyZqebX2P1L6TC5Zx1sNDMGGTd+im9p+TOtPbm7XLCWrFf+2YbaCXleVDca2Bo14lCQgq4lg9XpasXBWawYo1jEaiVDlEhBZoKw66v3P8azSziarCoP8aKaERX+bWuHxD2LpPkDoD6joIFNHNeWe/XVRu643gnTFdIS1QEMtXSBeUTyORek1/I+QTo0zr8yvwwnK0OIXvsWnnCAIUCVWkpmF4QdtsoZpM+FZe91xzveMp4vRXaDbS0iZnKDBMNRfnCOwqrQCUIL6e90CuaeWh07iTFxHO6p740gzoOuPLtcf5oo/TBoPx8wmMizkZPu07rYF/03jVywsAkQjdgOnNQM9Lp9+3lkGaK457twbWMLmVZ6huH+CqILH6OBpeqUFL6F25J30cWfAoEqBmdVmU+Qu X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e36c446e-3f51-4a53-cff6-08dc023a854b X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2023 15:35:54.9505 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LIBZNhMttZSbFiltZO+raXrQcu3aA6Q86OX690MHGVClXBnzx/0uGIih9ic8n1ckLHh8rg4Z7wM9ZFY7N3Bomw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785906345606629525 X-GMAIL-MSGID: 1785906345606629525 iMX95 move channel mux register to management page address space. This prepare to support iMX95. Add mux_addr in struct fsl_edma_chan. No function change. Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.c | 6 +++--- drivers/dma/fsl-edma-common.h | 3 +++ drivers/dma/fsl-edma-main.c | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index 50f55d7566a33..65f466ab9d4da 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -97,8 +97,8 @@ static void fsl_edma3_enable_request(struct fsl_edma_chan *fsl_chan) * ch_mux: With the exception of 0, attempts to write a value * already in use will be forced to 0. */ - if (!edma_readl_chreg(fsl_chan, ch_mux)) - edma_writel_chreg(fsl_chan, fsl_chan->srcid, ch_mux); + if (!edma_readl(fsl_chan->edma, fsl_chan->mux_addr)) + edma_writel(fsl_chan->edma, fsl_chan->srcid, fsl_chan->mux_addr); } val = edma_readl_chreg(fsl_chan, ch_csr); @@ -134,7 +134,7 @@ static void fsl_edma3_disable_request(struct fsl_edma_chan *fsl_chan) flags = fsl_edma_drvflags(fsl_chan); if (flags & FSL_EDMA_DRV_HAS_CHMUX) - edma_writel_chreg(fsl_chan, 0, ch_mux); + edma_writel(fsl_chan->edma, 0, fsl_chan->mux_addr); val &= ~EDMA_V3_CH_CSR_ERQ; edma_writel_chreg(fsl_chan, val, ch_csr); diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index fb45c7d4c1f4c..4f39a548547a6 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -145,6 +145,7 @@ struct fsl_edma_chan { enum dma_data_direction dma_dir; char chan_name[32]; struct fsl_edma_hw_tcd __iomem *tcd; + void __iomem *mux_addr; u32 real_count; struct work_struct issue_worker; struct platform_device *pdev; @@ -206,6 +207,8 @@ struct fsl_edma_drvdata { u32 chreg_off; u32 chreg_space_sz; u32 flags; + u32 mux_off; /* channel mux register offset */ + u32 mux_skip; /* how much skip for each channel */ int (*setup_irq)(struct platform_device *pdev, struct fsl_edma_engine *fsl_edma); }; diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index 86b293eba27c2..d767c89973b69 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -359,6 +359,8 @@ static struct fsl_edma_drvdata imx93_data4 = { .flags = FSL_EDMA_DRV_HAS_CHMUX | FSL_EDMA_DRV_HAS_DMACLK | FSL_EDMA_DRV_EDMA4, .chreg_space_sz = 0x8000, .chreg_off = 0x10000, + .mux_off = 0x10000 + offsetof(struct fsl_edma3_ch_reg, ch_mux), + .mux_skip = 0x8000, .setup_irq = fsl_edma3_irq_init, }; @@ -533,6 +535,7 @@ static int fsl_edma_probe(struct platform_device *pdev) offsetof(struct fsl_edma3_ch_reg, tcd) : 0; fsl_chan->tcd = fsl_edma->membase + i * drvdata->chreg_space_sz + drvdata->chreg_off + len; + fsl_chan->mux_addr = fsl_edma->membase + drvdata->mux_off + i * drvdata->mux_skip; fsl_chan->pdev = pdev; vchan_init(&fsl_chan->vchan, &fsl_edma->dma_dev); From patchwork Thu Dec 21 15:35:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 182328 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2483:b0:fb:cd0c:d3e with SMTP id q3csp504107dyi; Thu, 21 Dec 2023 07:55:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IHEcCqHXUhhSDCgybCst4Ekaa+xUzZQNIBRyhAmtGJPcY/0LDfrABBWfLVxk0vzRIElVWYk X-Received: by 2002:a05:6512:4005:b0:50e:1bf0:e94a with SMTP id br5-20020a056512400500b0050e1bf0e94amr3653632lfb.61.1703174154899; Thu, 21 Dec 2023 07:55:54 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1703174154; cv=pass; d=google.com; s=arc-20160816; b=D6heSlEFoRPhRpyUm7FlWDXoG6YEAVetftto8P5KZdgismdrI8KleQzwYsQFj8K4d4 pmTjFCsjvZJSn8if76b1zJEltZCesRXfQYlol17DIZlUaIiaEzr7nlCMckZMIVZjIo1O qZ24d4qk2jN/rPDBj3E5whtQ8LLRJQi1f0QC9WHGqJ+OyxTeioKn6SlQieqAPpkDQyxF XRNGApBHFexq+txt4BWzkwPIfakbI/B9i5XIqZFuvGZGjxaBKhyJuH2kMTkvDD/2+i6a 7Jhzz+s4B9MdDTXztpINM+vfOKZ+kOuuf8VcgXLWe3u+VJi87q9iv0CoCQbTRssqwouT YdPg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=W+zRSoV7LgvuOA6yhNiUe6i0nJhSsRxigx39PV4Jq7M=; fh=sMdfhQuh3uJo/+rJwzTsxvTRHjuApMLnlUGvlzyj9Sc=; b=AySnz3BR8tHlJ+Yqt3ZxFq46qcawsRNrBW8W2ACphPQW5GcrWPisXeVUhy7XGcyVcy LrAB5JbE0APG/XuT3vGtNYrg351/GIccSUrxUyIpnMX6otDyg7w+wSaD7cXh5H7S/35a womChOuQJTrvia7lTDCtRdK1WOsPlk5iTEd70AQXPHsjD2ZCHohLhktVkuDNCBgfhs5Y aE1lmey/ALaDexai9cpzrTh/+3+9Iz+1SnL+XzD0p/qyoVDkrsjAZnc11dvQRcN7yz1a LI8FquyVIL8WoJsDGWFT5KEmWAfUUwVd8xXHYaxN4r8BF9tCRAasB1I0/EMkdHbJWDKC 1CPA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=oUlNEx9S; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8675-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8675-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id dg13-20020a0564021d0d00b00552a384e61fsi987050edb.470.2023.12.21.07.55.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 07:55:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8675-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=oUlNEx9S; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8675-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8675-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (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 am.mirrors.kernel.org (Postfix) with ESMTPS id A3BB71F27E18 for ; Thu, 21 Dec 2023 15:37:04 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A55D55823A; Thu, 21 Dec 2023 15:36:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="oUlNEx9S" X-Original-To: linux-kernel@vger.kernel.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2086.outbound.protection.outlook.com [40.107.20.86]) (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 7A860539F4; Thu, 21 Dec 2023 15:35:59 +0000 (UTC) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QK1ARgK6vUf2TOmXgfZPjd93MhbrWF6sndkxLaJxdb551Yind98UdbuhYfHiC/J8Gfqvp8eAh1CgqUiB63W73uUrE+KVrVbFypkobX/Be0R5l0SF16dQFIrGylr397OYpBhQARshh/IiRlffvG7qimOm755i9Ib+i7O6TusBR7sl7BOgnTlS7+7QfVF2iwhEP9ok5qqql2+FmYb+aopSj9Az7EGvyOxl0PHCrGUoJik+YMu/nbMKsxhHU9fW8OtGPs/RYn1+59JoMnblDzLqB65pfnkcXsFrJaaGKJVDLqrHBK/zbc+fDTbpDantLKJ3lnfysCUANLbVqGelMJHgVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=W+zRSoV7LgvuOA6yhNiUe6i0nJhSsRxigx39PV4Jq7M=; b=isxQSTWMIdYRsDDxo2RGqRJBuyjgeD9QZbqY0Dk28o9IZ0q+x9CXBdarVX6pZqWwrbOK13k9DPeYgdju2iw602M+SykkqGucuw1oK5dQW537Ya58hyUYTT2kp2htIVWlAzGa+CEoDtjP1Fs9kQ3iItboLzNG0OUlwgY8V0DB/0fKE2gDE0SxhdRgT9NycT7/ehSi//86dPmZlWZ9p8/WOlRFHkxp7eQdDxj++seagsGd0sHWwLV4d4S+gqx97giQ5hQjPPohogz/YNIhQTRxsc9YO76YFRem6tRZavjnYjlfjsLyqL94p86iADVdu+WMAQJZ1cvCZy4oPKtaSBoKNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W+zRSoV7LgvuOA6yhNiUe6i0nJhSsRxigx39PV4Jq7M=; b=oUlNEx9SqowkOhg7k4LCVkVN2WIzfOiN50JvDTFrEx04gRO+NDb6NTTvSbRHY4Xl6EeZWofqvnQC6wjtJRL+EoYkx5n04vvIELDK1TvLBVD4sbkxB1aZr8IDYNdHxkdhPnABsG8/48SLXFvzqeU/0QCMW+CWSndeELNYTsocE/I= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.20; Thu, 21 Dec 2023 15:35:58 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40%7]) with mapi id 15.20.7113.019; Thu, 21 Dec 2023 15:35:58 +0000 From: Frank Li To: joy.zou@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, frank.li@nxp.com, imx@lists.linux.dev, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v4 4/6] dmaengine: mcf-edma: utilize edma_write_tcdreg() macro for TCD Access Date: Thu, 21 Dec 2023 10:35:26 -0500 Message-Id: <20231221153528.1588049-5-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221153528.1588049-1-Frank.Li@nxp.com> References: <20231221153528.1588049-1-Frank.Li@nxp.com> X-ClientProxiedBy: BY5PR17CA0057.namprd17.prod.outlook.com (2603:10b6:a03:167::34) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AM9PR04MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: 3aa473bc-f2ab-40f8-e141-08dc023a8723 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8wsSDykpaQ23GtlynDBIMfBusz0kNyEP8baiBuUgOltWncDnC63uX07ixaIbvB6pLZWq+k/CjOBDwbWc42w1Cc4t9bmtIXrw1ZQkEeoyq4qWET43Uj0bc3FhXiJe/b7rYd/jNyTh5md0B3+TYNmfjAx87X0V4TRhjhtrvLqciNh93CObtuwz0+F6/Hl6OueDSrWAvLZlu/LRBfUw2Kfhx/S5mh2/es2atrwfzBIB2ldhoNvJWie0LYlLwEY71mXuV2hNaEalP/d12L4MweGj5pmkYmaznqkgX/k+YlpEseeO3qYd+5fgYkUei99l4xLC/sri5n0sxw4BzG4E3KZL5Vc77z/+dL0jlMJS71CoyTHkiBk+KFtJtENZ+GbC4PlOUFGR4IR4nXyjPlwkWIA8wc193jNX4c7M3xz7HBOdAgnTVkdpyJ5aMXOZOnWFHw9O7UiFI1LWhcWwnPuSDJoN99UJvI35NcSqrS/uOVY0/08s8wgOPfPH0Hnc3+P+91G1UUONrTVRs6i1CxYEmYcyyVpNLRcQvtctUgPQO4o81R4uQEP22EkOXyJkDDMyadX9j78YSFB90sc14QwMzVUdjL5RfkNO4OPyosCYgZUvJ4AeKiVRHp9Zry8dhFkHr4y8OKMcvASNm5VULBfJpP6YuBD8rccj3BpbP5DrXKO+XQY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(136003)(376002)(230922051799003)(230273577357003)(230173577357003)(64100799003)(451199024)(186009)(1800799012)(6506007)(6512007)(1076003)(2616005)(26005)(6666004)(52116002)(4326008)(83380400001)(8676002)(8936002)(41300700001)(2906002)(4744005)(6486002)(478600001)(316002)(5660300002)(66946007)(66556008)(66476007)(36756003)(86362001)(38100700002)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1Uu/8U9THeLX5/c2MriUISC4IRTMinAUPe/PlZK5MJ/eosE9qpn7ea9kVv/RgBctsNp0YOq5m8mYQNAhVVXXSHB2HmLYilfGhATcx//XzD+4nLWx+mueNba+HryY1t7vie+hmBV3FvYgs1VhiVW+0EFveJ9eoljQ+tHYTl/JdbplChtP1y0N+0LQh659AWtHeQIEacjqLksZttuW8K0dAhrjrDdq/HUw4uzsZJZgioS/B5OjnxrGrBaluLQH22EaNn0u6jxdSPXfryktHGdcrrmK9OG/VIk8aA/PXTzkMtADY2T/3u0Lh3LgOm9D2uHEQc+RXazfQjvGgUsFP2YoHPKFxhFk4YJVo9ThvoZnqpkrg0zXY6Z26Y5gkFIHYn/m9L5C6zN6dQgPe8f0jXj5aU08kEcGiPZrxVQm0hQNy0UGwAIaC9REJUuUsOvo/q74yBoEPuUC5vjDrztnXtpq15y6gwvDWiB1eeAhEyE8222BghWISVKfoxF/L5lJomjKtDxqpaMYuQzW6M7bEkJpzgc24Zhz89Ys4QzKpB6h6eDJjcSj8+rQbpq8kTEGm2rERSOuQHDte1kWfTGMHYZhqvFvCYKBt0Sqs3C1v8BGjfprG0WzKHrm+Xh3VSnRiemWhbiuApt4Bn5NCEaNdxtL9jER3uRukV/L7UGpPs5WzY9yHF8cI98O8GMPq46WgNU+lGDlGFitV1sihlq4KFP54Cxg1gw0UBKK7tweiv7ECaR563uiT1oNANS8MB3fdJLz9Gg24tzRuVmHLw7ZJKMcNwCnm/iKOFpXZVA4XJ+yenkNJy07wJzhCfRIOBkxMttbWBBMd0FRTz0kQB5bvDGRrR6IUbN+c4RWNrESc5RHvCCpEjfuEsIoJTMO/oTUjglQpXigt44Mb8XvYKL5lOT+FSIwzV0mQpl+3pztQA81TL/6JoN6XKGQs/QFfQlqjJRu9efYpdUmB9+MEi+oLjdteTAB0Z3wHno8AZ0TRH2NWHcLHBP/HkZr69/y6iHqzEwbtlAbD32CwFgdB0fdDJf0Vu7LQ+fanq2GX6rrdnB5wQ4KqZsNjeIVK5VtxrLpHhiTzZk74ojhPYLLz6f9J8sinaTta+wfltwMV3tUwGIMzCVWnm7DYFYCiWf3Q4EWrU2tARl8acY+TzkNmE38/YCOhDe2SxPH9XNPsGYJCApbRWLjVLXN71Sr6iXmw1p8c3k9G94Bu6wl+hAGEtDnKiclSErgleM/zk0HoCG4BSlKU1sG4mXzoDeXiyINAeQMDrNvjvChIUthG+F67wVIXa2Ekl1ERjhh9Pl6dML203n0P92MhcHngCOJV0z10yjJHl4OabDylWtQhQtzBw76oOQoyK/BtT0LZ5P1ddN31cTxO6WXvDhVzDuPMJrW95UqkzSXXk8vJUc5BPMMIlicUTrPmJ+ymeFeEFBOIpix9Osj/A9e5rMIMU8vP0fzrKrJ+XeQYvSOS14p/hJz8rkkHmcxGmYWdvGDp8Qsfgv2G9dLPPyHeMANc3lAhQHNFstKNVa1HNZ6mt1l6+CPF8knHhqDEL6T9Y0KfHmcLMGhOB2goeSel2dNgrNHXUQ5Ti8XwAVr X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3aa473bc-f2ab-40f8-e141-08dc023a8723 X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2023 15:35:58.1446 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gjySaDMa9scJ2PQjkZG69edJ/nWwLPnFwts7uJnJiIiXM/8JSn0fGN0NIk92XMC+XOqFpqLk87ucN3dseI49Ig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785907542893128027 X-GMAIL-MSGID: 1785907542893128027 The TCD structure has undergone modifications, incorporating fields extended to 64 bits. When TCD64 is enabled, the TCD type shifts to 'void *'. Use of the edma_write_tcdreg() macro to facilitate TCD register access. Add cpu_to_le32(0) to ensure little-endian compatibility with TCD registers and avoid a build warning. Signed-off-by: Frank Li --- drivers/dma/mcf-edma-main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/dma/mcf-edma-main.c b/drivers/dma/mcf-edma-main.c index ab21455d9c3a4..dba6317838767 100644 --- a/drivers/dma/mcf-edma-main.c +++ b/drivers/dma/mcf-edma-main.c @@ -202,7 +202,7 @@ static int mcf_edma_probe(struct platform_device *pdev) vchan_init(&mcf_chan->vchan, &mcf_edma->dma_dev); mcf_chan->tcd = mcf_edma->membase + EDMA_TCD + i * sizeof(struct fsl_edma_hw_tcd); - iowrite32(0x0, &mcf_chan->tcd->csr); + edma_write_tcdreg(mcf_chan, cpu_to_le32(0), csr); } iowrite32(~0, regs->inth); From patchwork Thu Dec 21 15:35:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 182330 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2483:b0:fb:cd0c:d3e with SMTP id q3csp504533dyi; Thu, 21 Dec 2023 07:56:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IHbXeKx7ptCRkDcH5NVSDpXNo0zE7qkCdfd3oxKedjjdTcadscYfIASqbMUJy5hDXvIYUp+ X-Received: by 2002:a05:600c:46c3:b0:40b:5e59:ccc1 with SMTP id q3-20020a05600c46c300b0040b5e59ccc1mr968890wmo.162.1703174199514; Thu, 21 Dec 2023 07:56:39 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1703174199; cv=pass; d=google.com; s=arc-20160816; b=RMX/6bequmqk41KuNEMaO1FBZoKSicYeeQjV/PQDYFG/X7s355wOlWUVV2hj/WsuFA SCmkC94l9y3VghTNTWzUDRx0NHjt++5CLYHpcC/YuESEMX4dMdYX7Je7Yx8z6FBITHbx 6RnX7YwBe649viMPGXf2lRbLhFgpXDXtrMmuZY2Tlnd8jZgS9H4HwYuI05AC2nFRBKwp vzVm3NjuyV9VSTu86Bz/Ybo2NGb+z9h77bs8aoOydzwjYTcb0q3WhEkehBLTL12WM5J8 QOgFiUlr/ge811/VyMQk98k9iJbKeAEjeQ3j+P213n+aZbUwqsQh40ogYk6YtcDSoQIm IK4Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=bvWEH8TpUyOz5PnKH9wjxMICSByFjoiIVqDIjBVbGnE=; fh=sMdfhQuh3uJo/+rJwzTsxvTRHjuApMLnlUGvlzyj9Sc=; b=gYmgJC/Kn5AUCuhJW1XMr3j2fGDuobfMhjzUBXLMT2rMyw8G6iJSub2iyHF8otK2vv 6UsqknB465ps7uxT6I5/7616k4aS1W0/IR0Y28vzpJxSi9vt2Jdy0vX5QX5P9DtklZE3 Bzcu+0c2dhjUS8TiRXnudnI6tb8YZp6B38oEAsSKyIYH8ePfWgIHvQM0nzjwt0EOZY3E 1tN1qsfFaUMq/oDS0yHgu4TS2pEIeitwh11m6HXWHmBq1UqcVVBDwTe20b4p8ddLQak+ Xuo7oLkjPrObxG0K6G9GzqzkZ7o5QGtS0zsvr6Fnyz4FPtkazayOZLx/PSVJmZCKMAXs ltuw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=pOiAOko+; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8676-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8676-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id kt13-20020a170906aacd00b00a234b48b6f4si997089ejb.551.2023.12.21.07.56.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 07:56:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8676-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=pOiAOko+; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8676-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8676-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (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 am.mirrors.kernel.org (Postfix) with ESMTPS id E73681F27F9B for ; Thu, 21 Dec 2023 15:37:18 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7E2A253A10; Thu, 21 Dec 2023 15:36:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="pOiAOko+" X-Original-To: linux-kernel@vger.kernel.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2059.outbound.protection.outlook.com [40.107.20.59]) (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 66CD458214; Thu, 21 Dec 2023 15:36:03 +0000 (UTC) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GMByfT8vEpPvWudza43vihUEikLtokMxlnnukNgprc2GfPnQog6Gj7eOs2qMvPKProzSay5mMJSdAn0uiVDFnfmGeHGz1AmXXgwaD+foAFIp0Yux47kg+s6AGSeLyWTf9qvT9pFQOsDgQNDxNb0Le67mlFTZ23A3NbQc2nIF0WctsbXN/ayhJ8hKLgKZ7lS+4wZ1HNLmchDk9CwuAcIBO9vQGot02uUQch4rIVAZR0uH+9lLz6n1u35CqH/IsK0wZ3frHTVzYHvyBWEoPmxFrqOceC5tFs1rahlyQPvmJt4mP25Evob+qZ/r866hMKOHjl27kvcAE9D+uLLLUjupFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bvWEH8TpUyOz5PnKH9wjxMICSByFjoiIVqDIjBVbGnE=; b=KKkol/Eh/cVCi8NL2tj0TSgSDSBX/sJQb0krQkoco0o6e/KHtTntJLeas8EvsIgEjXG2XPHvKJBJzAfGNnOYYjE7aiWyl5HFUAqT8gYqMAMxwX9Nz0frGgOK9e+lL9M0ZbWI8SrfelnYqaiIyJJRbQFjZ1Cl0phypcrIgMXx/nGEoEIRE3gGQTxtvZbWvArHOqRYnxsH7K1wqRYKpjCYqqtUA5eV1U92/VCcscfJJU532F1qoy7tl9N5GOMA8YzcmtLCsx8KYwsYqN9YTZf3pCRSiNlSPR5oeFMPx2clavk4qTQXQCyUXuBDYP+Qlqdsv4UYdzxPrsT98QE43+Btng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bvWEH8TpUyOz5PnKH9wjxMICSByFjoiIVqDIjBVbGnE=; b=pOiAOko+27hDz2d6IH4WVtGgfaN3AODhWE6d5/S3++Q9VhQ8lymPigs+HuvkirqKlPMhKIgQqn4jx1DYyZ6n0sMsqz6QXUmigcTNiV4fIkGKRESX9lHKb8sQiLBjTct12OuQL1c8cEFYY45s2ZqcgfPCwg2vc6gxRqrYf1Wb0v8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.20; Thu, 21 Dec 2023 15:36:01 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40%7]) with mapi id 15.20.7113.019; Thu, 21 Dec 2023 15:36:01 +0000 From: Frank Li To: joy.zou@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, frank.li@nxp.com, imx@lists.linux.dev, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v4 5/6] dt-bindings: fsl-dma: fsl-edma: add fsl,imx95-edma5 compatible string Date: Thu, 21 Dec 2023 10:35:27 -0500 Message-Id: <20231221153528.1588049-6-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221153528.1588049-1-Frank.Li@nxp.com> References: <20231221153528.1588049-1-Frank.Li@nxp.com> X-ClientProxiedBy: BY5PR17CA0057.namprd17.prod.outlook.com (2603:10b6:a03:167::34) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AM9PR04MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: b073c1bb-04f1-4867-407c-08dc023a890a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cjZcC2rQagqS4VMIHLJ5Lq7UITgFTuTO7a1Nt7aAbygXoOsme8OTnxpwWL6EUo+C4GRpjfjvQ4HF/m3brVmOvkd3fmIV9P/wvGASrWsnYIWNU/b3Zr8VyiBTg787sJXVS+yPKT7N6rdWGHug0Iuj7Sk429VPIuDEkHfNYbqiWuMA3Vm//x/BpuuB2ZDaTFCw9XKKezJOtyYaSiZOXGrACV5jSebh+Vs5UufW46Tm7n9EHKf36zHaPPBBYMCEiPZEynBzQ+XcuUz7PTCgIF7Kw4cEWEeE/Xmcm/+KbL5CUtYyCQ1957CV1NF6Uks8FRmZRqT1LC4gNtKoMxl9Z094y37uV9EN0t/tKmrH2UqKpIeE03FXZHrTva+LRzvFaGARR7Fir3oB2a0HqBCwKbVvi+Pth/TXDhVfH2eczvEhYHa5ZgcTifS6moGkuXhwH60GjQ01LDey/HC23p0FDxiZRI0vDsfN7ZQMuiAiblmEEN2KehvlyAa/PbiJ0A6QkQeHs2POJOm0Mi4qYZ6R56rBSmHSjb+aBLdjxM52atZ9NluqrIG6tgDDrAZhZI4yKZHl2lMXD7XPZuNNE4Sq4Jn61IHFpDiLNkO/tIu6zDLFKGfxa4+GZRRqSD4CFuHea2Uv X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(136003)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(6506007)(6512007)(1076003)(2616005)(26005)(6666004)(52116002)(4326008)(8676002)(8936002)(41300700001)(2906002)(4744005)(6486002)(478600001)(316002)(5660300002)(66946007)(66556008)(66476007)(36756003)(86362001)(38100700002)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dS1gZoBKB6MuVGi02sNXG83CLvuCw1mItHOC+ANiipQM9lR/WCYhOazfMlm1MDS+jG09rJoRkwFSTUTSpYO1ZfEOrIUFI6BoeQLrG7OdBsBmX9wn2pFvHanwg7iZmXA0FYNxZr9u0HnGWDTTpeo5pYXZjKrkHrRckSGbi/wPPmnDwtYDay7zerc2OGeAcWtcYCe/appFaLO+jthp9j1fmPSf9cOpUcLx71Y/64iIvSYXuqNC3pXST922gBNF0w0Q0Rf+83yT2ieUaw4WpAcuV6j1mVCK0H7tzHweW9svs6qYuPHkBoO0vneafazpCVof9CXLGII1BRxWuRQbFzAw0xo1+0013iTD5WpftrBN381DjXweYfcJymIwvSYQ2tRL06K3oiuaESGVLg4+xUHBDkoLRY3UreLQElr+NLCwDDCF3k5G8nZYg5hjeI2M9yAmcR5GJK7kT3X6tN90Z1EiWg8cYr2KSoVFNg5sS+hFX4oNz0P9yIYJ+TK8sLrM30ETpheW7DvHPpcTP6AsCT4DEsHaFIIQCSOFddJRtvnexTeapvfRsrVS5MtPKrGiMXaTGaDkmdO+A3uKC9qSQYkgMSlxea4JIjDl/+VwNb6wK9urbLAjQuDhBQBslDQ8YFPKbmL9Mj8aT0LU842vzHufmzCWFyan5EFxfBLDmo40edim+YpWuYMmNBlKzOasWExHri0/+eYcd5eFzITjwJd0ClvUJ/GrVdqKedj1Z1QMt4gR7fRNiMY6klbTnJ5c32dEBK+Z6/vpUhxFfnlo+Tnu3BUB1l238IHTbhka64LVaE+aMdtdiTe/3fj//5luKkXo+t+2veH+hYmeygh/+gT+Rx830ycRrzhpdkqrGi52cyqnN3y6YFnxCGxXgskMRuZ9f+1W1Xd7ve5aIsynMudh/nfN0UlBZAv9D2xss7/pccKOPu3a06WFhVVok4W2ZWxz3Ebax9ABzud+7QsLI0oAdnhIuFHsVpko6K10HNsUirgbIkJ1vz8Hb/v3VkKcqaCBGvxb0TkULV+p9HijH3XUVu+UMUXD8zdCxmpaky1vBvuoiX+1jHVi5XUKRWAPBePo3MO3l799mVw7a6QwIpXWHXpbJ1LWmh7srcY560IvCrVw7ixwvm1m+KcFkH2GdeYVXo01h0RWVQjHTGUDGt0Q+C8QMpQAxvY1fuBuOMNa+J+wRQH974nlRKw2ha4ahqDXXkVerUdDGQRRah8wN4dOTcOopBsbqQKSpipFLWpD8wFV9IBLU86PT5U9RqcmOEkp9gLoq7NgI1p0zHITQglN7iB5iQVOJ2zHjYQtMrTTKqoppXlo3uUmnBuMYVNiArjAJEboQULMBNEjnol3y+r6p+6kWFMBgSqcWZkwmtJA6+U/3g1HGb4vwYFu9XJiDkpI02jlvFNciGQgiS26M9NTLzmg5nYqxTQwQWH28rTR0Y+MVoXEB6IYgbwLRDlYWR9eporMP38oKCyHrlmJgUACaFBwYYANfIaZ+B6Oxwi4LXcsZ/Z349sRjrBaBVe1ckR+tX9jpNR/AAmZF/N/TX8vRjL8xFe2h+6Gz0pSTzFIJoRpdmSx/IhzO9O3O9wn4NBk X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b073c1bb-04f1-4867-407c-08dc023a890a X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2023 15:36:01.3137 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +7bQ7TWnqLm36wzSOF8vYtRq01jQ7YUXezfRG2zEmBqAyWBwBK/dJeWkxNCIUQwsl5+cpUerPGGg82Ors1yFLQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785907589353041696 X-GMAIL-MSGID: 1785907589353041696 Add the compatible string 'fsl,imx95-edma5' to support the i.MX95's eDMA, which features 64-bit physical address support. Acked-by: Krzysztof Kozlowski Signed-off-by: Frank Li --- Documentation/devicetree/bindings/dma/fsl,edma.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/dma/fsl,edma.yaml b/Documentation/devicetree/bindings/dma/fsl,edma.yaml index 437db0c62339f..aa51d278cb67b 100644 --- a/Documentation/devicetree/bindings/dma/fsl,edma.yaml +++ b/Documentation/devicetree/bindings/dma/fsl,edma.yaml @@ -25,6 +25,7 @@ properties: - fsl,imx8qm-edma - fsl,imx93-edma3 - fsl,imx93-edma4 + - fsl,imx95-edma5 - items: - const: fsl,ls1028a-edma - const: fsl,vf610-edma @@ -83,6 +84,7 @@ allOf: - fsl,imx8qm-edma - fsl,imx93-edma3 - fsl,imx93-edma4 + - fsl,imx95-edma5 then: properties: "#dma-cells": From patchwork Thu Dec 21 15:35:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 182311 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2483:b0:fb:cd0c:d3e with SMTP id q3csp494317dyi; Thu, 21 Dec 2023 07:38:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IFiEXNldnse9s9zOzKzAhSU0S/lXYN8HKn1WmFJuMvt0CDSsCf/gr4CkOR1VTbWw0KjAIIv X-Received: by 2002:a17:902:b903:b0:1d3:dc01:6983 with SMTP id bf3-20020a170902b90300b001d3dc016983mr3023641plb.108.1703173112816; Thu, 21 Dec 2023 07:38:32 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1703173112; cv=pass; d=google.com; s=arc-20160816; b=dNgylQt6njlBNUt4TO4GgPx7wsxzfEEQXQB7yUBhGHUA/RH/Y4i3Q+Nfr2m6M26kId IT+GSL7TYRdSnPKdhf+/O7DELKwYubErmVGW8j6C6lyVZ49Alei4rf/dhCOYaBDg12RS vs+1d/QY1EAsYdfMzAMHHTT0d1TpY7PZHehplzQEiPkl/mqikEV/Uo7ntXwSXPb1WZQa uRruuB6VtYckYCgIeXwbiMX3wnZVXBkjoWkX6NceCSpl5FyM7IJUGoGSSEyNiG2v3Vaw DmOtU8wY7yAXRZ1sQJZ4bnPDXQfyDRyVOmn13tkqrBp6P8akRvkuPiZZySpLU5MKey/X O43Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=Fg3/I2epJCN12Yfy7TkORnxiBn7fEjrtF+pEfKtPJQY=; fh=sMdfhQuh3uJo/+rJwzTsxvTRHjuApMLnlUGvlzyj9Sc=; b=FGZGULUIWbUr9z/N/xmQuzJdTjSTIS991KJcdbEKVzoHxoXaLYOsGm1yHKtFy2/k7u yIVM0bn1YtYA6FD20CXpcpoD7m5lwvNhJuTrz4Nfc5PanSzgWFryknSeXMR9ebO/Axk5 CtDAP9PaXNtAGUho6Bisqs+iyIwd9i7ERe2nBqT9rsF0tAmKkVW3U0MK8VRrmZbOV5Sk tdUOfjcDX861/v+UcFg/1Mgaf2lJkReB8G/jcTv6b+6FOrT5ftOUD3yBroVEHKjSpmTv Vx1mix7G+ET7kaSXv3Pp4gjKPgjTqxSEC5UTAvMOYspmRe+bTZYdtHMsgh/GTIPe92ke W9iQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=n1IKRRUl; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8677-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8677-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id c14-20020a170903234e00b001d0050e245asi1729972plh.19.2023.12.21.07.38.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Dec 2023 07:38:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-8677-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=n1IKRRUl; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel+bounces-8677-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-8677-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (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 sv.mirrors.kernel.org (Postfix) with ESMTPS id B5A46289C98 for ; Thu, 21 Dec 2023 15:37:32 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 98D7755E41; Thu, 21 Dec 2023 15:36:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="n1IKRRUl" X-Original-To: linux-kernel@vger.kernel.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2061.outbound.protection.outlook.com [40.107.20.61]) (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 DD6CE53A0F; Thu, 21 Dec 2023 15:36:06 +0000 (UTC) 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 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QtsmVTvdijMturvY/lWlVnuk+OR2Dkd/kq1oPgqxJmF30E5FSMbUaNyd/YgG5eY4OaTr9hvX0cGPI9g0+7C7pI6QQZP4IuI4P44baM/EctDKdU321KK5UDpYq93rz8As8F+724InKeSbM1M25Wg2KvZljMv1H7/G9xOAyx4sQSk+RECIhjBzVTryt15sTR6pYiGLUk/cfRtH8xFep7UoVVhA+0+RxnmUnaejbiGtMOjT5kEkyKNc/d/rf7bEqLRKJVZIvuEeouHDDm6XKZhAXTd+C84IrsK1nYGP1IKZL2xNJm2+K21S7fyYLQ+xnpUYODxUNEkmAk3oeYfiymYsjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Fg3/I2epJCN12Yfy7TkORnxiBn7fEjrtF+pEfKtPJQY=; b=MrFniwAUoGua4Ss6exBBneguz3V4Vo2a2OWXQxmOEwnDaAdx0YCTSglN6ZviVYfgoHwGA41CVTgyFb6x9BetVTR+jgfW6vSJPAcmN+2FBt5UJwxEu71PFRrzoXP59acEfUco50ks8xZ7B7/IYtaBK87OAughNsXDLZPWGx+mDCKdpDyS1TdpIRTuwOCtqxzZF8HTc1vQte9dk+OnbqL2vU5tg2pQxYlD/xsuNWUdiOvxg2p0xQItAvDU2JH6rV2JKeHptBhPgzC7+uPKyADiDfzYtw1T9rwBOJupoxuN1ZQa04mrOIRKf/NaVHUZwFZPeL9VNaEgsB+CXv1Xllxm2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Fg3/I2epJCN12Yfy7TkORnxiBn7fEjrtF+pEfKtPJQY=; b=n1IKRRUl4E+qxFcAs88ozs3QxYPrwkDXso3b6Tkpg09JbkMSE/m1jEBXpaxRpV1W9aKkyoJB8pzC4AuPVPsmHJtPdY8/7qp1MUfxcNS4vRaXBpVaBXfRyYT0EDsDmK6LQLl1HFWw0Z4uvjZcmNbUImsLLExinByMn9bZE2OPRbo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) by AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.20; Thu, 21 Dec 2023 15:36:04 +0000 Received: from AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40]) by AM6PR04MB4838.eurprd04.prod.outlook.com ([fe80::95f5:5118:258f:ee40%7]) with mapi id 15.20.7113.019; Thu, 21 Dec 2023 15:36:04 +0000 From: Frank Li To: joy.zou@nxp.com, vkoul@kernel.org Cc: devicetree@vger.kernel.org, dmaengine@vger.kernel.org, frank.li@nxp.com, imx@lists.linux.dev, krzysztof.kozlowski+dt@linaro.org, linux-kernel@vger.kernel.org, peng.fan@nxp.com, robh+dt@kernel.org, shenwei.wang@nxp.com Subject: [PATCH v4 6/6] dmaengine: fsl-edma: integrate TCD64 support for i.MX95 Date: Thu, 21 Dec 2023 10:35:28 -0500 Message-Id: <20231221153528.1588049-7-Frank.Li@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231221153528.1588049-1-Frank.Li@nxp.com> References: <20231221153528.1588049-1-Frank.Li@nxp.com> X-ClientProxiedBy: BY5PR17CA0057.namprd17.prod.outlook.com (2603:10b6:a03:167::34) To AM6PR04MB4838.eurprd04.prod.outlook.com (2603:10a6:20b:4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM6PR04MB4838:EE_|AM9PR04MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: a8543698-f151-41c6-db31-08dc023a8aeb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0931sv6qpmBlBvcPDx+bcm44U793ufxuCJ9+Y2hneWfQycxoQWPS0DqPWu//j/W0b28pMIvpcxMJy7P/5uLpGO/WPPjxUUCN0qYqPLud/3D+h7aaZeIlDJWu8XOO2iH2Ha481MamiuYWCODkxE+P3sLv7GenjstJGEidcxGJvtS7AHqzjsJ2zcw9K/uix56jXX8Q0yrnHR8OjuuP8vYsRgYYUJyExGktmZSTu2XZ1e9bkhhzifZuXJ//s6SwmPCDxF4ieLCu0fNVc9PHWwJ7H2tq+dT2pFhRbyG4YtjIEbY+ity5Eh4110TqM8HpXJXwJzm5b6Z9SSkk12lKWQ88HhXm01VNTPQARvJT8vdFAZbdIcGU+5Wlvwp3poj6rkbJHk0J/vTjBJKNhWtzMH5H8ohTv+IGvD9RiJjrnXtpeaddIoUyAQaJ5b6bDynJMeVjO0rZXAUaypDfW1UnQuMS3gmspSR1I+eFZ+CdzR3iGWwgMwfcvaKDlncey/bWzFVRFzrk1WWooJMxrY1Lk5dp6qA5dzLl3Pbyo5LpPAFV257sSs2DcRtK/oUw3mYAbcNhkP+xBCUKd/qHqv6kbPIZqRcZ2PvLymsGfN7ahYagVLzRFGnmuW+TRN/Te0fp6kmG X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB4838.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(136003)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(6506007)(6512007)(1076003)(2616005)(26005)(6666004)(52116002)(4326008)(83380400001)(30864003)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(316002)(5660300002)(66946007)(66556008)(66476007)(36756003)(86362001)(38100700002)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: MoG1wwY1nzWdfwj8tP2KsdH8XykR89O02ht7COct5rkgp2nb3QOdRokJhR0iP/2xOogfGrTZlOcutTziVu3WZxuBtXYceGBD4rYrX+0vSNBH/67bsQ1IHu0426AJPflXy8DUyALIilHQurfKUtHSKemO+k9OLMk1/tL2FtgCHnu4t+Oq9t5VVV9NtpmtkKxWFrVSZ8XS1CwFYp+kCxcZqizcUbaw/WtQzjMLEOkPOWRFrfcFYB2X50WLk2Sb+qgTa0Y43Vry8LfW9MUi2YxIIABd1fwh0AAlA0h+RDf0HQe6n96TgGQzh7RoCnyFpj5kPL9CEAkS2Wv4fEbVrSG1B7gdJYVeHecYRDSuT6ueBb6d4OEl8GxMHuAF8UoBsYTVJ3PqONYZsXKRQl//GEyxtUdig/FDrduXLAOnzEE5U53WicJsxKw/KtBL7bBV7dHNC1dwbFZfI+PRASfMGuD9sBEQq8Z0heCmLPIozzjUdzLndQbdCCr6i8W9Vq5S5yD8ir5+xW1139HI8FqJLrpXULm4DTnh+Mv9Nh1cNnHGpQWlFWu3jLBjp7fjJsxlxiEHl6xah/27/nfv1hjDBZ+UheUCET5Hyj3ahG+tb2q4Ol93MxtJ37/EaUEdFvx4IWiiG+OlyqXfvF9M2miAEwGWXakNxQPL/ehzLA7HaQfwZRVxt3eNpgW3tFyNfB52Dxct3CAZ/IO8aN4cBD0cjdNf1AQyIV851PAHCvKcBLnetGmLwDErWcFYWBiRufhvUTdXYCEXYfmdmw1jvTlWeAs7A2e5THxMt7BLJWNVcPWckyoEreXBjbiDrRY276L5i8Mh4z0ltxJoMpaj7IGrCwN01fi3xcB4+xJZ64M1fcETmAnk3VnjC95wWBAfbVw3B9OVQgMRY6Rv/PVDh45qLBLGhlSODwv/c2rR8q+vP/RkB7uJ7JvK8NETgX4Ues5gyvoCTtq1drWpharr9jVPaIBNapHLiGJmgx3Jpsl3VEh2oU0/JzprI23T/hSKrZvUITl/3u9p8DAIt/OIeI3FhseBLsZEEbKrCh6SXnXAQUPXTdx0rbRnKmNIYgaTjAggmQ9pMsaGNwOuoXue3ekU5/FRcB6uRVYiqRbSHyXnqb2NUDDj4omLlVPGPHcc0PDhmppwmst8fUD4/QbjrtoJIiVxMKnyV95EKsj+PaoRYrRLuec0+GkhK/GTn27SQDAwe1FJC4oHUd55oVQAuWn1UKQ03AlUogzKyMvtJ7qvtoTh7Aa1G2f1CNLy7IN/C8Htfcjw/N2ZbcqvQeEFzH/gRgixhbzltCfh/dEIqgIRXnNtZNpZ+jakWwvHrhZetoWzsNrowtffuTqFfHPFFT0wky4aDZzvlawv3xHc/F9rpwIqlGAhP33OToUpeO2OZ0oysfjoWIo9Hyd5HiDySOzcfw9ZXngGt9fdM/6QvTTQ3x9UIDhgdWWS+5FSYkgUb5UtTf5cor0GJvwtoYL6wkoZ6qI/wuEnWs9iJPeCcPW/H80WDDPYUipa59huHpPB1dl1pqwRmk2vyaGt7f4+vHHN0ST6OcjmASk8W5bi38QPAKUxS6k= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a8543698-f151-41c6-db31-08dc023a8aeb X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB4838.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2023 15:36:04.4993 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6XbkzpYQre3bkkIaZCQ30D/ED046TgLcMULwZY/evI2imN4gE4dGoqbty+cR8WK3zulFSP90lby4rYUWyxEBYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785906449523836876 X-GMAIL-MSGID: 1785906449523836876 In i.MX95's edma version 5, the TCD structure is extended to support 64-bit addresses for fields like saddr and daddr. To prevent code duplication, employ help macros to handle the fields, as the field names remain the same between TCD and TCD64. Change local variables related to TCD addresses from 'u32' to 'dma_addr_t' to accept 64-bit DMA addresses. Change 'vtcd' type to 'void *' to avoid direct use. Use helper macros to access the TCD fields correctly. Call 'dma_set_mask_and_coherent(64)' when TCD64 is supported. Signed-off-by: Frank Li --- drivers/dma/fsl-edma-common.c | 34 ++++--- drivers/dma/fsl-edma-common.h | 165 +++++++++++++++++++++++++++------- drivers/dma/fsl-edma-main.c | 14 +++ 3 files changed, 170 insertions(+), 43 deletions(-) diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index 65f466ab9d4da..c8acff09308fd 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -351,7 +351,7 @@ static size_t fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, { struct fsl_edma_desc *edesc = fsl_chan->edesc; enum dma_transfer_direction dir = edesc->dirn; - dma_addr_t cur_addr, dma_addr; + dma_addr_t cur_addr, dma_addr, old_addr; size_t len, size; u32 nbytes = 0; int i; @@ -367,10 +367,16 @@ static size_t fsl_edma_desc_residue(struct fsl_edma_chan *fsl_chan, if (!in_progress) return len; - if (dir == DMA_MEM_TO_DEV) - cur_addr = edma_read_tcdreg(fsl_chan, saddr); - else - cur_addr = edma_read_tcdreg(fsl_chan, daddr); + /* 64bit read is not atomic, need read retry when high 32bit changed */ + do { + if (dir == DMA_MEM_TO_DEV) { + old_addr = edma_read_tcdreg(fsl_chan, saddr); + cur_addr = edma_read_tcdreg(fsl_chan, saddr); + } else { + old_addr = edma_read_tcdreg(fsl_chan, daddr); + cur_addr = edma_read_tcdreg(fsl_chan, daddr); + } + } while (upper_32_bits(cur_addr) != upper_32_bits(old_addr)); /* figure out the finished and calculate the residue */ for (i = 0; i < fsl_chan->edesc->n_tcds; i++) { @@ -426,8 +432,7 @@ enum dma_status fsl_edma_tx_status(struct dma_chan *chan, return fsl_chan->status; } -static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, - struct fsl_edma_hw_tcd *tcd) +static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, void *tcd) { u16 csr = 0; @@ -478,9 +483,9 @@ static void fsl_edma_set_tcd_regs(struct fsl_edma_chan *fsl_chan, static inline void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, - struct fsl_edma_hw_tcd *tcd, u32 src, u32 dst, - u16 attr, u16 soff, u32 nbytes, u32 slast, u16 citer, - u16 biter, u16 doff, u32 dlast_sga, bool major_int, + struct fsl_edma_hw_tcd *tcd, dma_addr_t src, dma_addr_t dst, + u16 attr, u16 soff, u32 nbytes, dma_addr_t slast, u16 citer, + u16 biter, u16 doff, dma_addr_t dlast_sga, bool major_int, bool disable_req, bool enable_sg) { struct dma_slave_config *cfg = &fsl_chan->cfg; @@ -581,8 +586,9 @@ struct dma_async_tx_descriptor *fsl_edma_prep_dma_cyclic( dma_addr_t dma_buf_next; bool major_int = true; int sg_len, i; - u32 src_addr, dst_addr, last_sg, nbytes; + dma_addr_t src_addr, dst_addr, last_sg; u16 soff, doff, iter; + u32 nbytes; if (!is_slave_direction(direction)) return NULL; @@ -654,8 +660,9 @@ struct dma_async_tx_descriptor *fsl_edma_prep_slave_sg( struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); struct fsl_edma_desc *fsl_desc; struct scatterlist *sg; - u32 src_addr, dst_addr, last_sg, nbytes; + dma_addr_t src_addr, dst_addr, last_sg; u16 soff, doff, iter; + u32 nbytes; int i; if (!is_slave_direction(direction)) @@ -804,7 +811,8 @@ int fsl_edma_alloc_chan_resources(struct dma_chan *chan) struct fsl_edma_chan *fsl_chan = to_fsl_edma_chan(chan); fsl_chan->tcd_pool = dma_pool_create("tcd_pool", chan->device->dev, - sizeof(struct fsl_edma_hw_tcd), + fsl_edma_drvflags(fsl_chan) & FSL_EDMA_DRV_TCD64 ? + sizeof(struct fsl_edma_hw_tcd64) : sizeof(struct fsl_edma_hw_tcd), 32, 0); return 0; } diff --git a/drivers/dma/fsl-edma-common.h b/drivers/dma/fsl-edma-common.h index 4f39a548547a6..a05a1f283ece2 100644 --- a/drivers/dma/fsl-edma-common.h +++ b/drivers/dma/fsl-edma-common.h @@ -87,6 +87,20 @@ struct fsl_edma_hw_tcd { __le16 biter; }; +struct fsl_edma_hw_tcd64 { + __le64 saddr; + __le16 soff; + __le16 attr; + __le32 nbytes; + __le64 slast; + __le64 daddr; + __le64 dlast_sga; + __le16 doff; + __le16 citer; + __le16 csr; + __le16 biter; +} __packed; + struct fsl_edma3_ch_reg { __le32 ch_csr; __le32 ch_es; @@ -96,7 +110,10 @@ struct fsl_edma3_ch_reg { __le32 ch_mux; __le32 ch_mattr; /* edma4, reserved for edma3 */ __le32 ch_reserved; - struct fsl_edma_hw_tcd tcd; + union { + struct fsl_edma_hw_tcd tcd; + struct fsl_edma_hw_tcd64 tcd64; + }; } __packed; /* @@ -125,7 +142,7 @@ struct edma_regs { struct fsl_edma_sw_tcd { dma_addr_t ptcd; - struct fsl_edma_hw_tcd *vtcd; + void *vtcd; }; struct fsl_edma_chan { @@ -144,7 +161,7 @@ struct fsl_edma_chan { u32 dma_dev_size; enum dma_data_direction dma_dir; char chan_name[32]; - struct fsl_edma_hw_tcd __iomem *tcd; + void __iomem *tcd; void __iomem *mux_addr; u32 real_count; struct work_struct issue_worker; @@ -188,6 +205,7 @@ struct fsl_edma_desc { #define FSL_EDMA_DRV_CLEAR_DONE_E_SG BIT(13) /* Need clean CHn_CSR DONE before enable TCD's MAJORELINK */ #define FSL_EDMA_DRV_CLEAR_DONE_E_LINK BIT(14) +#define FSL_EDMA_DRV_TCD64 BIT(15) #define FSL_EDMA_DRV_EDMA3 (FSL_EDMA_DRV_SPLIT_REG | \ FSL_EDMA_DRV_BUS_8BYTE | \ @@ -231,18 +249,61 @@ struct fsl_edma_engine { struct fsl_edma_chan chans[] __counted_by(n_chans); }; -#define edma_read_tcdreg(chan, __name) \ -(sizeof(chan->tcd->__name) == sizeof(u32) ? \ - edma_readl(chan->edma, &chan->tcd->__name) : \ - edma_readw(chan->edma, &chan->tcd->__name)) +#define edma_read_tcdreg_c(chan, _tcd, __name) \ +(sizeof((_tcd)->__name) == sizeof(u64) ? \ + edma_readq(chan->edma, &(_tcd)->__name) : \ + ((sizeof((_tcd)->__name) == sizeof(u32)) ? \ + edma_readl(chan->edma, &(_tcd)->__name) : \ + edma_readw(chan->edma, &(_tcd)->__name) \ + )) + +#define edma_read_tcdreg(chan, __name) \ +((fsl_edma_drvflags(chan) & FSL_EDMA_DRV_TCD64) ? \ + edma_read_tcdreg_c(chan, ((struct fsl_edma_hw_tcd64 __iomem *)chan->tcd), __name) : \ + edma_read_tcdreg_c(chan, ((struct fsl_edma_hw_tcd __iomem *)chan->tcd), __name) \ +) + +#define edma_write_tcdreg_c(chan, _tcd, _val, __name) \ +do { \ + switch (sizeof(_tcd->__name)) { \ + case sizeof(u64): \ + edma_writeq(chan->edma, (u64 __force)_val, &_tcd->__name); \ + break; \ + case sizeof(u32): \ + edma_writel(chan->edma, (u32 __force)_val, &_tcd->__name); \ + break; \ + case sizeof(u16): \ + edma_writew(chan->edma, (u16 __force)_val, &_tcd->__name); \ + break; \ + case sizeof(u8): \ + edma_writeb(chan->edma, (u8 __force)_val, &_tcd->__name); \ + break; \ + } \ +} while (0) -#define edma_write_tcdreg(chan, val, __name) \ -(sizeof(chan->tcd->__name) == sizeof(u32) ? \ - edma_writel(chan->edma, (u32 __force)val, &chan->tcd->__name) : \ - edma_writew(chan->edma, (u16 __force)val, &chan->tcd->__name)) +#define edma_write_tcdreg(chan, val, __name) \ +do { \ + struct fsl_edma_hw_tcd64 __iomem *tcd64_r = (struct fsl_edma_hw_tcd64 __iomem *)chan->tcd; \ + struct fsl_edma_hw_tcd __iomem *tcd_r = (struct fsl_edma_hw_tcd __iomem *)chan->tcd; \ + \ + if (fsl_edma_drvflags(chan) & FSL_EDMA_DRV_TCD64) \ + edma_write_tcdreg_c(chan, tcd64_r, val, __name); \ + else \ + edma_write_tcdreg_c(chan, tcd_r, val, __name); \ +} while (0) -#define edma_cp_tcd_to_reg(chan, __tcd, __name) \ - edma_write_tcdreg(chan, __tcd->__name, __name) +#define edma_cp_tcd_to_reg(chan, __tcd, __name) \ +do { \ + struct fsl_edma_hw_tcd64 __iomem *tcd64_r = (struct fsl_edma_hw_tcd64 __iomem *)chan->tcd; \ + struct fsl_edma_hw_tcd __iomem *tcd_r = (struct fsl_edma_hw_tcd __iomem *)chan->tcd; \ + struct fsl_edma_hw_tcd64 *tcd64_m = (struct fsl_edma_hw_tcd64 *)__tcd; \ + struct fsl_edma_hw_tcd *tcd_m = (struct fsl_edma_hw_tcd *)__tcd; \ + \ + if (fsl_edma_drvflags(chan) & FSL_EDMA_DRV_TCD64) \ + edma_write_tcdreg_c(chan, tcd64_r, tcd64_m->__name, __name); \ + else \ + edma_write_tcdreg_c(chan, tcd_r, tcd_m->__name, __name); \ +} while (0) #define edma_readl_chreg(chan, __name) \ edma_readl(chan->edma, \ @@ -254,24 +315,41 @@ struct fsl_edma_engine { (void __iomem *)&(container_of(((__force void *)chan->tcd),\ struct fsl_edma3_ch_reg, tcd)->__name)) -#define fsl_edma_get_tcd(_chan, _tcd, _field) ((_tcd)->_field) - -#define fsl_edma_le_to_cpu(x) \ -(sizeof(x) == sizeof(u32) ? le32_to_cpu((__force __le32)(x)) : le16_to_cpu((__force __le16)(x))) - -#define fsl_edma_get_tcd_to_cpu(_chan, _tcd, _field) \ -fsl_edma_le_to_cpu(fsl_edma_get_tcd(_chan, _tcd, _field)) +#define fsl_edma_get_tcd(_chan, _tcd, _field) \ +(fsl_edma_drvflags(_chan) & FSL_EDMA_DRV_TCD64 ? (((struct fsl_edma_hw_tcd64 *)_tcd)->_field) : \ + (((struct fsl_edma_hw_tcd *)_tcd)->_field)) + +#define fsl_edma_le_to_cpu(x) \ +(sizeof(x) == sizeof(u64) ? le64_to_cpu((__force __le64)(x)) : \ + (sizeof(x) == sizeof(u32) ? le32_to_cpu((__force __le32)(x)) : \ + le16_to_cpu((__force __le16)(x)))) + +#define fsl_edma_get_tcd_to_cpu(_chan, _tcd, _field) \ +(fsl_edma_drvflags(_chan) & FSL_EDMA_DRV_TCD64 ? \ + fsl_edma_le_to_cpu(((struct fsl_edma_hw_tcd64 *)_tcd)->_field) : \ + fsl_edma_le_to_cpu(((struct fsl_edma_hw_tcd *)_tcd)->_field)) + +#define fsl_edma_set_tcd_to_le_c(_tcd, _val, _field) \ +do { \ + switch (sizeof((_tcd)->_field)) { \ + case sizeof(u64): \ + *(__force __le64 *)(&((_tcd)->_field)) = cpu_to_le64(_val); \ + break; \ + case sizeof(u32): \ + *(__force __le32 *)(&((_tcd)->_field)) = cpu_to_le32(_val); \ + break; \ + case sizeof(u16): \ + *(__force __le16 *)(&((_tcd)->_field)) = cpu_to_le16(_val); \ + break; \ + } \ +} while (0) -#define fsl_edma_set_tcd_to_le(_fsl_chan, _tcd, _val, _field) \ -do { \ - switch (sizeof((_tcd)->_field)) { \ - case sizeof(u32): \ - *(__force __le32 *)(&((_tcd)->_field)) = cpu_to_le32(_val); \ - break; \ - case sizeof(u16): \ - *(__force __le16 *)(&((_tcd)->_field)) = cpu_to_le16(_val); \ - break; \ - } \ +#define fsl_edma_set_tcd_to_le(_chan, _tcd, _val, _field) \ +do { \ + if (fsl_edma_drvflags(_chan) & FSL_EDMA_DRV_TCD64) \ + fsl_edma_set_tcd_to_le_c((struct fsl_edma_hw_tcd64 *)_tcd, _val, _field); \ + else \ + fsl_edma_set_tcd_to_le_c((struct fsl_edma_hw_tcd *)_tcd, _val, _field); \ } while (0) /* @@ -280,6 +358,21 @@ do { \ * For the big-endian IP module, the offset for 8-bit or 16-bit registers * should also be swapped opposite to that in little-endian IP. */ +static inline u64 edma_readq(struct fsl_edma_engine *edma, void __iomem *addr) +{ + u64 l, h; + + if (edma->big_endian) { + l = ioread32be(addr); + h = ioread32be(addr + 4); + } else { + l = ioread32(addr); + h = ioread32(addr + 4); + } + + return (h << 32) | l; +} + static inline u32 edma_readl(struct fsl_edma_engine *edma, void __iomem *addr) { if (edma->big_endian) @@ -325,6 +418,18 @@ static inline void edma_writel(struct fsl_edma_engine *edma, iowrite32(val, addr); } +static inline void edma_writeq(struct fsl_edma_engine *edma, + u64 val, void __iomem *addr) +{ + if (edma->big_endian) { + iowrite32be(val & 0xFFFFFFFF, addr); + iowrite32be(val >> 32, addr + 4); + } else { + iowrite32(val & 0xFFFFFFFF, addr); + iowrite32(val >> 32, addr + 4); + } +} + static inline struct fsl_edma_chan *to_fsl_edma_chan(struct dma_chan *chan) { return container_of(chan, struct fsl_edma_chan, vchan.chan); diff --git a/drivers/dma/fsl-edma-main.c b/drivers/dma/fsl-edma-main.c index d767c89973b69..c2c0c3effc8cb 100644 --- a/drivers/dma/fsl-edma-main.c +++ b/drivers/dma/fsl-edma-main.c @@ -364,6 +364,16 @@ static struct fsl_edma_drvdata imx93_data4 = { .setup_irq = fsl_edma3_irq_init, }; +static struct fsl_edma_drvdata imx95_data5 = { + .flags = FSL_EDMA_DRV_HAS_CHMUX | FSL_EDMA_DRV_HAS_DMACLK | FSL_EDMA_DRV_EDMA4 | + FSL_EDMA_DRV_TCD64, + .chreg_space_sz = 0x8000, + .chreg_off = 0x10000, + .mux_off = 0x200, + .mux_skip = sizeof(u32), + .setup_irq = fsl_edma3_irq_init, +}; + static const struct of_device_id fsl_edma_dt_ids[] = { { .compatible = "fsl,vf610-edma", .data = &vf610_data}, { .compatible = "fsl,ls1028a-edma", .data = &ls1028a_data}, @@ -372,6 +382,7 @@ static const struct of_device_id fsl_edma_dt_ids[] = { { .compatible = "fsl,imx8qm-adma", .data = &imx8qm_audio_data}, { .compatible = "fsl,imx93-edma3", .data = &imx93_data3}, { .compatible = "fsl,imx93-edma4", .data = &imx93_data4}, + { .compatible = "fsl,imx95-edma5", .data = &imx95_data5}, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, fsl_edma_dt_ids); @@ -513,6 +524,9 @@ static int fsl_edma_probe(struct platform_device *pdev) return ret; } + if (drvdata->flags & FSL_EDMA_DRV_TCD64) + dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); + INIT_LIST_HEAD(&fsl_edma->dma_dev.channels); for (i = 0; i < fsl_edma->n_chans; i++) { struct fsl_edma_chan *fsl_chan = &fsl_edma->chans[i];