{"id":2226058,"url":"http://patchwork.ozlabs.org/api/patches/2226058/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260422064134.1323610-1-kkartik@nvidia.com/","project":{"id":21,"url":"http://patchwork.ozlabs.org/api/projects/21/?format=json","name":"Linux Tegra Development","link_name":"linux-tegra","list_id":"linux-tegra.vger.kernel.org","list_email":"linux-tegra@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260422064134.1323610-1-kkartik@nvidia.com>","list_archive_url":null,"date":"2026-04-22T06:41:34","name":"[RESEND] dmaengine: tegra: Fix burst size calculation","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"8ecd143e4c2e5618742e27adb99ac60580c498fb","submitter":{"id":83016,"url":"http://patchwork.ozlabs.org/api/people/83016/?format=json","name":"Kartik Rajput","email":"kkartik@nvidia.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260422064134.1323610-1-kkartik@nvidia.com/mbox/","series":[{"id":500928,"url":"http://patchwork.ozlabs.org/api/series/500928/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/list/?series=500928","date":"2026-04-22T06:41:34","name":"[RESEND] dmaengine: tegra: Fix burst size calculation","version":1,"mbox":"http://patchwork.ozlabs.org/series/500928/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2226058/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2226058/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-tegra+bounces-13843-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=YQi7OiZd;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-tegra+bounces-13843-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"YQi7OiZd\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.48.13","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0qT01R7cz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 16:44:20 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 3A9B43071B24\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 06:42:05 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id F351832AABA;\n\tWed, 22 Apr 2026 06:42:04 +0000 (UTC)","from MW6PR02CU001.outbound.protection.outlook.com\n (mail-westus2azon11012013.outbound.protection.outlook.com [52.101.48.13])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 79637327BF8;\n\tWed, 22 Apr 2026 06:42:03 +0000 (UTC)","from CYXPR03CA0050.namprd03.prod.outlook.com (2603:10b6:930:d1::15)\n by CH3PR12MB9343.namprd12.prod.outlook.com (2603:10b6:610:1c0::10) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.17; Wed, 22 Apr\n 2026 06:41:58 +0000","from CY4PEPF0000FCC5.namprd03.prod.outlook.com\n (2603:10b6:930:d1:cafe::bc) by CYXPR03CA0050.outlook.office365.com\n (2603:10b6:930:d1::15) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9791.48 via Frontend Transport; Wed,\n 22 Apr 2026 06:41:58 +0000","from mail.nvidia.com (216.228.117.161) by\n CY4PEPF0000FCC5.mail.protection.outlook.com (10.167.242.107) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9846.18 via Frontend Transport; Wed, 22 Apr 2026 06:41:58 +0000","from rnnvmail202.nvidia.com (10.129.68.7) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 21 Apr\n 2026 23:41:42 -0700","from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail202.nvidia.com\n (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 21 Apr\n 2026 23:41:42 -0700","from kkartik-desktop.nvidia.com (10.127.8.13) by mail.nvidia.com\n (10.129.68.10) with Microsoft SMTP Server id 15.2.2562.20 via Frontend\n Transport; Tue, 21 Apr 2026 23:41:37 -0700"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776840124; cv=fail;\n b=gHXxGRjEYyHys1Cq2+MM91y3ThhLzAF9jOXFd8ycs0gozjDBW2wckxjiagJw8tEc5s1Hw3XTxI98jaMt+wdgS9Igg/4DSz+V/yQa4he2/4h8N9dJqvll+TEyu45AUQsA3iFMO05ye5FKGyhb712g/6OqY8guceyBOO7GYnG95e4=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=wAv3otf1YnmnV3rzC6URTm4qbwowLf3VqX16WIoUW8yccHPnyO/oOQfOKY2ICQ3RPUbxAWHAycjO4hKawrOZc38Mb+xzNnu3Dv1LUcPASBautx9NwVykFVhC8wDcnD0LzaMU5oM+5iTIVwCfLzdHgq3/qiIOpnNFyCrh76+7RJndW+yqEbA7Dmk/Yf2W2TlqWh5lnwppkt2V1XaYq+fDtjDtQH316J5FzTa0Mu93Pb/nQM5EAEZ/iIuWROQixZxHKFD5+Hns/BxqIyZyrc6AWnSyQuFRW1yC5xs2bdHZSQJA4Dy6Mt/p8zBsVYhsk4im7TDzknoD5PG5nBiiD0cWvQ=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776840124; c=relaxed/simple;\n\tbh=CCh138lmsq8e8YBK8iSo9BAajG2eFxx7FRjLQiNGbgY=;\n\th=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type;\n b=tBFHifskXAkaKOzYMahwGJFVEcOVoiMtXejuilPNBA8nFq5bhnS69hVYdBJ5OBfxMJSGBr2dwBuFtIk+TQqnOyWRzzPNBbDeEHCiEhOey9A68Kl6CpTI3q4jFE5gnvrYm0/t+Z0d2qz51ahKW2KLXkBo60Up/bRMWLM0YN3vPsM=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=hToOVopm+lRkVUB34y+lkJND2SYCsjff9a3fISnii1c=;\n b=D4P9q1509FLZp7qhZk+Ch68wBAE5O96FzhrqnxE9vgkPa2dTp/VNI5uMRLAD33B5Fq6bxmKOryWjb7TKug8Dsq63G2L9igFZdMBseUv4NQCiY6OxtqHTtzooNTYPKjOrpF9wS2m4aHN8bAx8b70wCSVgmLraZiOnh9LWuc7m72Ureo+dkSEcS48E7z9uLp4RNa1zF96a+2c1ntVduGXDDUKOz6vkiiuf4OB9P0SSHmqwlNw5x7mVggn7p5PmKRl/RtW8T6MFoHBF/pLh9uAhpvk17YDZmdgJZAYG713frNSjXnAIgYFHXEUMPI7N9kNRMsqillYG5SSsymHHmMlatg=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=YQi7OiZd; arc=fail smtp.client-ip=52.101.48.13","i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=kernel.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=hToOVopm+lRkVUB34y+lkJND2SYCsjff9a3fISnii1c=;\n b=YQi7OiZdiws+Og3kxUC+ZzcEP7tSWciILqVOFdym53wuB7W3AjCAEq05k6x26UdSrss9+5uIkvjGuRgkGc/Bwj4G20xKhQaXYKb9Uzc2J5HxD97NRi521TjaI25bmOq1kQnsyAcSSkwG0dJjQEFCXpnfNvTlHF4VqiQN2oMITARIieBl9KMcfVmVBBcCe/V8z5xilYxh+ILoFmgc1AHaJyOfF3cJY/pInxs3JAbr56B4xAqUPSXKyleKj2ACyxao9DFCG7sgW+Xhf3ShgzJUigTJfyCVwNTIrd23FMMeMxrnrmFbJe6szabjyFd4etYpMfksDRtv/0VGP5pTjlL3Vw==","X-MS-Exchange-Authentication-Results":"spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;","Received-SPF":"Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C","From":"Kartik Rajput <kkartik@nvidia.com>","To":"<ldewangan@nvidia.com>, <jonathanh@nvidia.com>, <akhilrajeev@nvidia.com>,\n\t<vkoul@kernel.org>, <Frank.Li@kernel.org>, <thierry.reding@kernel.org>,\n\t<digetx@gmail.com>, <pkunapuli@nvidia.com>, <dmaengine@vger.kernel.org>,\n\t<linux-tegra@vger.kernel.org>, <linux-kernel@vger.kernel.org>","CC":"Kartik Rajput <kkartik@nvidia.com>, <stable@vger.kernel.org>, Frank Li\n\t<Frank.Li@nxp.com>","Subject":"[PATCH RESEND] dmaengine: tegra: Fix burst size calculation","Date":"Wed, 22 Apr 2026 12:11:34 +0530","Message-ID":"<20260422064134.1323610-1-kkartik@nvidia.com>","X-Mailer":"git-send-email 2.43.0","Precedence":"bulk","X-Mailing-List":"linux-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-NV-OnPremToCloud":"ExternallySecured","X-EOPAttributedMessage":"0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"CY4PEPF0000FCC5:EE_|CH3PR12MB9343:EE_","X-MS-Office365-Filtering-Correlation-Id":"4a5b5fae-cb1f-4f3f-64cd-08dea03a408b","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|82310400026|36860700016|376014|1800799024|921020|18002099003|56012099003;","X-Microsoft-Antispam-Message-Info":"\n\tjShiw859t9Cnqm0lMXcyvpWmV2E0I1FYyRA1aIn+NEy2jKHctraGl4dhmc7+/OO4S/OvmotAjnL49xDyNmolzZHamn6OOM8CWToEdHSUrOEAIQjy2Uqonzr1TOJXGdmPIV5eTrl1KXN5wXM8gGyTU+HKUd9NXnk5Fw6bBrXhG5clA1/runVp9156Wz8xo4VLxZnoQm5DHOsnJLjI2o+R/YBXkVZ62TA9fSdYH8ZfqaQdKboeCRXwoWjtOZIXVPkcXiTfMfkZowKu8RSnwBDcG2J3+bOIvZGvYGWsAx8MtThiJGoLE8MQ2IfDilelnHGaTwqnVepe5gDFtN6da7a2n5eGFbllJniMdeW7/oyRTA6BS25iz4oIpDoJ6xUpE45iwAVrd+4Fycb7pd2JFjVJMMYssDPiEoMfm91psqzK4PDH3Z08K2TeLxQWaI5RI4oPjIrwrJ4IcJ5Iuxc7RYn8jMduTgTRojj7eQk+gH6o+wu96fT1m4Ljn3ItJfe39MjsowPciO4uj/SuZk5/ytRnHeEBOOBBTOVt7q2PepS04d9PHO7dfMlGsJFvIeXTDNqQk8bqb1LhXetv4npvBMOxvBorjbx2B7bcRiphyQ4Vmn1aiT4TyYDMuvL+DwgU1B9YkCTgLT26G1bkUVPufsPvD7AJs4Lhfa1tAKIYG1IJNVw9iOi9rsgDkH41F/DN9ke/osfY7EJolKWUZPZuGkbH5A3zCCIH/4GgL5cxLYGQKHfnE8Bm87ELQsiPlGbobpJ59IAly68s+Sam3oGL2G559m7AL3JxGUDEblL19gOnmA14m8LKQjO/JtdYkItXT7Nx","X-Forefront-Antispam-Report":"\n\tCIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700016)(376014)(1800799024)(921020)(18002099003)(56012099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n\to/wORi2VebzSThtKQyls7NAn7xeV9kxEOkJ3bg0zGnHnlsrdW9cqLkoZ4E7dSC/hLG50nOHDoOeVX8GVtG0tcCcPggfv3SqMk7XE2PyeJO89xyKdxogrQlPQEL0JX2VaE119eSJljQGw9TTnOnK3O2+h/URvVZaRfLu3L0kLu4SPKb0udeAIfua5/uwpUNaF/cyFXeagVRNS18bH7TtvLNnXKx+pIYngIkmDI45Xzr+q8qmmA5e6O/7kTNPJQgwG5o92RjZs2zSQVMWEq6nWKcnNFW1PMhgU3mrJsQwuO9JtUX2+iSPdQqOaj0dpmIJL57FBV37Epp62F2pP2Bs2hKR+/co7JVj36FBuFev7RxPej1oWRTSiKfOQ0YS4GTT1+E3DPDM8CAzUae/uFGFU3JapeFMRZKetnpblMJD30Mpba7OH8mWukMgSUO5bi73z","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"22 Apr 2026 06:41:58.3407\n (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 4a5b5fae-cb1f-4f3f-64cd-08dea03a408b","X-MS-Exchange-CrossTenant-Id":"43083d15-7273-40c1-b7db-39efd9ccc17a","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com]","X-MS-Exchange-CrossTenant-AuthSource":"\n\tCY4PEPF0000FCC5.namprd03.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CH3PR12MB9343"},"content":"Currently, the Tegra GPC DMA hardware requires the transfer length to\nbe a multiple of the max burst size configured for the channel. When a\nclient requests a transfer where the length is not evenly divisible by\nthe configured max burst size, the DMA hangs with partial burst at\nthe end.\n\nFix this by reducing the burst size to the largest power-of-2 value\nthat evenly divides the transfer length. For example, a 40-byte\ntransfer with a 16-byte max burst will now use an 8-byte burst\n(40 / 8 = 5 complete bursts) instead of causing a hang.\n\nThis issue was observed with the PL011 UART driver where TX DMA\ntransfers of arbitrary lengths were stuck.\n\nFixes: ee17028009d4 (\"dmaengine: tegra: Add tegra gpcdma driver\")\nCc: stable@vger.kernel.org\nSigned-off-by: Kartik Rajput <kkartik@nvidia.com>\nReviewed-by: Frank Li <Frank.Li@nxp.com>\n---\n drivers/dma/tegra186-gpc-dma.c | 7 +++++++\n 1 file changed, 7 insertions(+)","diff":"diff --git a/drivers/dma/tegra186-gpc-dma.c b/drivers/dma/tegra186-gpc-dma.c\nindex 5948fbf32c21..0aa3a02b2277 100644\n--- a/drivers/dma/tegra186-gpc-dma.c\n+++ b/drivers/dma/tegra186-gpc-dma.c\n@@ -825,6 +825,13 @@ static unsigned int get_burst_size(struct tegra_dma_channel *tdc,\n \t * len to calculate the optimum burst size\n \t */\n \tburst_byte = burst_size ? burst_size * slave_bw : len;\n+\n+\t/*\n+\t * Find the largest burst size that evenly divides the transfer length.\n+\t * The hardware requires the transfer length to be a multiple of the\n+\t * burst size - partial bursts are not supported.\n+\t */\n+\tburst_byte = min(burst_byte, 1U << __ffs(len));\n \tburst_mmio_width = burst_byte / 4;\n \n \tif (burst_mmio_width < TEGRA_GPCDMA_MMIOSEQ_BURST_MIN)\n","prefixes":["RESEND"]}