From nobody Fri Sep 25 13:55:50 2026 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (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 E76413290B0; Fri, 11 Sep 2026 17:29:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.135.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147767; cv=fail; b=OqVtsCVy2HhrVbGuC2jtdK/CTnnxVZQz80jc6Do/9c0Sa+m16l7u3h7btuALCyuAC3+Q1GMMu1hxQvXc2TYfJED29Vn91duD2Gt6IiaUwZ1SHZ0yRC/5g6J+IenG1JfYx/X8MClM8zVlnFKtBu1o9ASkAfYV1TrElguHV632pOA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147767; c=relaxed/simple; bh=JlvBrSrP3AS/idy56pCpU/pekk2KV+oeF9Ima3U9tGo=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=dthnfcS3a9HJWdxeVc9dAbGP8DZecn2zXSsgIKlZUNI+JAburrk1xk/p+HKXBjUEZ+jgQk2BimFt9MEzMOSHSfjS5odhrGoVmOFjZHVtikOF6DDnDLN9Su45P6A7NMMLOFvJX5TDYjZNp0K5mdy/SvoAwhclaS3z43K6YPeMRAA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=vlyTp4jY; arc=fail smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="vlyTp4jY" Received: from pps.filterd (m0516787.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEjOTg2838823; Fri, 11 Sep 2026 13:28:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=NYG1Y 2lzyg6iKVuGzhPVhHBAUs03OoLlZRATtJJ9ei8=; b=vlyTp4jYPGs9lIvB2E97i 2hNV8D142w7+uDe4P96n2fnVaMw0/CnBKMblUzqZB+rns/wH6++++Zh2LtWFiKuE tgMqQrr0ptiTvsa5dPiJ9/Z2adeL+XaA9e4bv5Ls6TrQ39twSBxH0TpXhUm203/t djsptxKbI1LEb4N1gkzYhcaylkH7ywcMTDHCRlYl1FAbJwA0oxc3AJdEyBv6DnmA vZC3vw7INbilPXFAZLrwRW+9kgTFo+Tm+UDMuRmDnJ3ADCtFtfrMafqE3/rsfZ25 MEnu1LRm0QJD1bhxrVPf5hRk17f4aLmTHrn+U6dfWlrGFF3akm3yiyAUTwFtXXEh g== Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010014.outbound.protection.outlook.com [52.101.193.14]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcxd26t8-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:28:49 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yC1PXtZ/fC2aht323lR4Weugb77A+jANzs4fQmL9mbRpIPnaDcRvNfs4n6+7B21sU513wOxkOmBvELJ7BLfeKon4oKRJ6dIMnAM/Yl36cvqW/X3za8hHxlvmFcDm3jucVggw7Wqkk+a0vqknYyRCjbcrPKolXNjJrzQFotfrkUKOLFcvfH+RjBxFIJkPS8ITqSjU1Vuu5uJII3Czid7E/8xzPUlFn8MV3WcprqiuRsUid2xCn9BS6P888JW0AoBHb1f1+zoJ69O+EyYZfeFooQFgj5rCeYb56aKrAOF9z+zhdvW26dxxBRcWsaTbrCfV0grcOTRpatwHkNGF+KlfDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=NYG1Y2lzyg6iKVuGzhPVhHBAUs03OoLlZRATtJJ9ei8=; b=wjVmaSDvh1i7JbBqCblmRwAvGYe5HugLyE4k8WkwaQIdQPOvId/yRCr6yFSGyYofegNCYTzDvigd0EPMa+SjzqKNgUG7Rm+cwbcxK/NKE9DuIn4v4LZrngfnzrtyK5vPoMuBj1oS+4XxbneW0YjxCmZJSPPetHJlYfWTeqAC99q6wC+eGgMVx3qNzTuOd3xdtznNtUoEttqlWvTmXzumFtEtJvjBeZF0SE9OXFSVSxMr1sarFq0Eg8IlGtfoVSQjGwTP7RZN8GOhPuk8PSwlDtogsNETiEfEWi1xhtVC0+4kw32hLcc8kWhrEzfmvRdliKaIMH0/zJpW6GNQwllHiw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by CH2PR03MB8027.namprd03.prod.outlook.com (2603:10b6:610:280::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:28:47 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:28:47 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:36 +0100 Subject: [PATCH v4 01/10] dmaengine: Move enum dma_slave_buswidth to a new header Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-1-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Andy Shevchenko X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=3950; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=JlvBrSrP3AS/idy56pCpU/pekk2KV+oeF9Ima3U9tGo=; b=OSFnDJKw/bp5GIa0xCz8N0CwWcM4iB9mKHwCpcVarkB41pph7OmZOOAmkEfoM0bRmjdd3qqu/ dlp4d3uemDjA5XnETVnBy4GqEk2gGs+YEvWNcr+UnboueMQdFSVBcqp X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MA3P292CA0073.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:49::13) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|CH2PR03MB8027:EE_ X-MS-Office365-Filtering-Correlation-Id: cedb9fb3-f5c9-4639-0bba-08df102a22bb X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|7416014|376014|366016|18002099003|22082099003|10067099003|56012099006|11063799006|6133799003; X-Microsoft-Antispam-Message-Info: WSOiRamZd3WTPZQ7ZSUSx3LVma7LFnIMYO8ob3AjHmCVSNFRxQ8GVfkDwPQKopzh1EOb4xvyPVpn0TaDkhleBsKyrUAWtv1rbvWw1Z+Ynxc0UBMG2kN27au2yBGogEMNrqy4xcWVaVUzjEkRiB9ocIIyPS+0E1/FNzg5ZBuUX8g3+T8YVRcBnNVLGfDzDvPdadVy59854hgoqr19ky2W6io6UP83Fex0Y+tTWZqvok9X4IAJYYqLhnu9FbCgrTL4TXaA0IxYtBG0YhPbfnTxYxVkYPDcM+zryr7F1cFhsg9OlXfbeomeZ5/0aPxVzaWZPtogky5xhJgGIclCIo4NirN3NeUCMmJ0cTjEb/G0JqnosiWVHrLweTgfGygus+VosfU3v6gO5CWfuAEGsAgWuegt0AZrOTYeQfjKWlmonCPh1X5+5AskZ9hCuVuoX5fq3livO1No71lPepMU7ajoyi6VCIekYVLOcNKUhX3Hy8yYvjZcG4ajoUEA5Cdc0i/CfGwMb5QHFYGy4LmmbZsS990S236jpsRBsuU5OcS8TJ2LTC78bdqyjWJd26V0PsvXNQ0ysr8IOkTVIEdNnGTKkA8XwLvauSDvWn/gN9TJl5rRF0/huUHThbxRRc3fUpUjyQYZuvL527/3b2PMaavTj2W8j7frpXJ4vk+jTNP/N0A= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(7416014)(376014)(366016)(18002099003)(22082099003)(10067099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TEZTMGwxaEluV0lpNDI4Y0ZGeUR4SE1qNGtpUW9YN3JGaDJ5RGVYaVJ3bFRN?= =?utf-8?B?bVptNm04cFhQTFRCUkpqcDcvbVczQ0VVZ2hnOFVWckNJR3dQVWp1cmpFVm1V?= =?utf-8?B?WDZlaWFIY0g2SUtBUW92cjJvN0dJTFlBWXFCZDJkeWZCYm80VmFpeHhlV0FE?= =?utf-8?B?eVNlRmtkQ2FlWVE1b05ud1BLT3Z2MVY3RXlGa2Q1VldBTG1ySWlrcWRkM1oy?= =?utf-8?B?WFdKRmppRVVkMlVTekhPVmVvZTczQkxmeVBqUUJsL2NjZlF5SjgyMmxaaldC?= =?utf-8?B?cW00M3VsNkxDRG9nS3ROa2xtaHNFd2RTaTJLK1VHREF1L05ZSVdZTWt0VStP?= =?utf-8?B?ODhDVzhXd2IvWUk4R0xQVnRaZWdTSzZiRldRQVh1YzlIblQ0b3lXTkJhQ3Bm?= =?utf-8?B?T3JJOU1La2xPVFhrWlQxRGlVbjZxY09MOURLaWZJbGhhekVySFhkbmdJNSs1?= =?utf-8?B?c1F2b3hDemRUVm9WRG5zbk1qR3RvTU5DVzY5VmVMZFZuSlk4U3JEcmNrVlRx?= =?utf-8?B?VlJZL3BIUzVzdFVqQTZ2NVBJNFV2anFlUSs3S3hjSG9hS2tJNVhhd0U2OFNw?= =?utf-8?B?WmZxUklTK3R6UExaS0huOUgwdGNOSFFUci95cTBYNmFvNVBoSUh0aWJMc3FO?= =?utf-8?B?OHdOLzVuaEpEait6YmJpRmwvUU1nL2VoRFhxMTQ5cG8zWUlRam10MUFGcUN2?= =?utf-8?B?RkpJbUtvU1k1RnY0OHdvT09ZNno3Z0Jzd2ZtWDZRUER3UkxPVHloVVZFenRE?= =?utf-8?B?UzU3RnlUTGZQVXBIQlFYRkpuL3dzSUVPamoyUWNtUFN4aGNGZUt0V2pRMGtP?= =?utf-8?B?MjVzcDNHTk5nd2JPNXhSWDZiS0ZzUVV4WU56SktBL3ZWd0lXbjJaWnhoeW40?= =?utf-8?B?d2tuSDdlS0orU1pXbGUrTmI2c1VXcGQvRzJsaDN0aDlCYUQ4VkZHZDV5WlBj?= =?utf-8?B?c084YjQ5cTIzNXNjeU9VVngrZmJrYUlGbVBhNWd1MFpBUjNWWlZnbmtnTklZ?= =?utf-8?B?Mjl5VytCdEpVb3ZuWnJSMGcySjNXVisrTGM1RTRZWmJBc0grWnhCQkphcnFZ?= =?utf-8?B?VU5Sd0g4M1B4WURrMC80WithTW1xUjhnNzNKcFdwMUlQd1VuZHgyUFV1OEpQ?= =?utf-8?B?SytGeTdMbjM0eEV0c3Boa1JTRi9ub2hpN1MzMlRZUHhJQmxEK1pDOGpZYU9z?= =?utf-8?B?WTg0UWJyNWtwRlpZNStOR3BWR0ZrcndNekFwUzg5eWkvTGhvWFY2bW9ZVmh5?= =?utf-8?B?N0VMejdaVWkwNEdaUEplcWM0c2hLZE0wQU1RdFZjZkl1QkxGRnFIRGZ3azFZ?= =?utf-8?B?Q01wS0lyV1Q1MnM1L3lTRXFJMHozKzNFTHJTU0kvaUtiRXJVWnB2Z1JtWUx3?= =?utf-8?B?cWFwMUpaaFlFWGtONHBxc0l0MTBRcWVDbHQwQTRjYkhoc2gybGF2RWlkN2xs?= =?utf-8?B?aWRHQnBRTUlTbjUreVN3ek00TWRrN3pEOC90TjhCejN5UE1rTUszRkI3WTZY?= =?utf-8?B?eHNxVE9iVGRoQzV6RjZBRVBpVjlSWTgrYUZha3pIVVpGNmE0MFpYejNtT1h2?= =?utf-8?B?bkFSVU5YeExEMmFTM3l3ditTdUJOb3VQWW1nOHVnekNRbzQ2V050WWtCM01k?= =?utf-8?B?Y2tHTjYwb1hVUlEyaGRubmxlTXBiMnExbmhiZ3VUeW8rNU1TOUg2S0pRaTl5?= =?utf-8?B?aGFwU3RVckJKemJiMWxZQWpHSzZ6Q0FYZjBJaFROOGZJSSs3Rm5JaFBwcmJi?= =?utf-8?B?ZXMyUUkvZmMzUmZLeUFyQkxKZVREdmMvSS9wVHlscWVpUWY3cm5JQzdpOHNP?= =?utf-8?B?ZTlaNjVGN2RKbUlDeHUzL2I4L3BDL0R3UFBTRkRIeUpQUTZ0dDN3MVE0aU81?= =?utf-8?B?cGJqSGxrNHlyT3ptZkFsN25BUjdLTXFrTkdJbHk1OFM0ZzA2TGhUeWF3MkNG?= =?utf-8?B?N0gxOE91akdaa1JDQVo4czdlYjJLckNDeEZxWUN1Y2dIOExVK3UvN1h3bEFQ?= =?utf-8?B?R2xLQkJGUmg1VnhQcE91WXNCTmV5bit0UDdwUnZYekRjREtEVjNLODdiVUF5?= =?utf-8?B?YWxqaU54U2NtRTloenVxZzBQZWowU0FYdlJWMlpRaFh4bkdSQVQzZFp4MkFt?= =?utf-8?B?ZXh5YWNnTjFONW9scFNyTHZmWVdQREdZbWRPMVZPZFBab3NTZDd5MDlSV09u?= =?utf-8?B?SUw0ZzhTcDBRR0FlTE9LNVhKV2lyb2FUTlJZV3FSVGxiWTA0SndzVWh2RE1M?= =?utf-8?B?Z1lBM3pkc3dHa0FiREZBejA3RGxkNmRKM0ZBMVhkM3YyaURwdWdPelVXOFhh?= =?utf-8?B?ZVN5UEsyZ2wvSlp2bW5vYVV4Y2pjRDlhRmQxOUd5cjlLRi9kS3ptUT09?= X-Exchange-RoutingPolicyChecked: eGFolheNLeCjEhlCuoiqs+OYO9mfsYTjdyFpU1XnXJeTGfNb39juye1mWKolG9Pj26Ma1XwMWOYS00/DLv1eQs0XiKNJ+GJq0YWxvMQ3skx3WGQ1KswHKPOJpZQC7Ctr5q+1OanMaScAncgedaVlGGr4VE8kyQVTl1ZRyKv9ogkcUvcndZ5YH0vOhR8ncsbj7IDuKMYFnIlLIJ9kWfDQ6iKZPmXpTK7d47vOKf217VPDj5kIrGd72iVpTUm+lmYzRrzgl0Su2II5dBwphNncA1HGRkV/r3clumIKRGwFS260+CbsfA9ZDGynd8HA2chkNg4dmCqJsNjAIBj3VxtKpQ== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: cedb9fb3-f5c9-4639-0bba-08df102a22bb X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:28:46.9873 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BuPlyoC2kgKhikfKyifupZFVl5tveOus2tZwrkUqhNWts3jIg8dh4TczayYEhWafjSGCeP+e5YHfoVn5bpXkww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8027 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX1HnJyX3L7gBZ OOIaeoIus3CP/7CT3NtXMeM7BBnFXE+yioW/yWp6DXkR+nBHqzacVJnk6/KFsX6UUwlQ2upxBb+ qw8SbViGb15NXmw0hsf3r3yhBBg2wiVOnclA/7UmM35ci4Kv1i92aUNjnHL3oexiawuA2sMVLhm ReF/j0iJkfPCHwtDaQUNLWQ21kKtcnmXxuvfXJ6VDW/HwZRH7NChugu92zVHc9yjLql0QlGdp1L dTM0sb4UnI7pOPZ7Ay/BXza6o5OykDDvsmjUcvVRYROYvmpsl8LqXeZDrFiDaL2FEfJ2aBsNooA T2WzUNKYscuDGsieMs14N3I4WGyrEoYg4AKXoLncrG6Cu4UVFksSUofmpWoOVCK+VIUkG6htmWD Abvdj3GD0AJOUk1sdQzXmmvOpZh257jV343Pz3lKHzs4tPpbYEiJXWY8g2Qhw8vstPqIYTKeoFJ 4hpVghnCAqQqnYg7ecQ== X-Authority-Analysis: v=2.4 cv=GoTXaU1C c=1 sm=1 tr=0 ts=6aa43a51 cx=c_pps a=gJSDm7Sez3IyWyplfMHn2Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=OmVn7CZJonkx5R5zMQLL:22 a=QyXUC8HyAAAA:8 a=gAnH3GRIAAAA:8 a=8rQE5u7KU4cnMVh7pvgA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX6/rGfyDleOar 2PCTCcOpaP+iRAnrf046/icdxbrs6NaV3r6krNhAqdQ/uA36ar56mppnzNihwqEQWb+3tJld4CZ bXoQWsKY5fBJvnMRvPXbSGy0pGgZieNrbFXDPXrDkgPQVUiIfBLI X-Proofpoint-GUID: ilfFtJixFVeshb_YvaDvQBt_FeVGDQQl X-Proofpoint-ORIG-GUID: ilfFtJixFVeshb_YvaDvQBt_FeVGDQQl X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 priorityscore=1501 spamscore=0 clxscore=1015 impostorscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 In preparation for the bitmap based bus width capabilities, move enum dma_slave_buswidth out of linux/dmaengine.h into a new include/linux/dma/engine/types.h. linux/dmaengine.h is included nearly everywhere, so growing it with the new interface would make every one of its users pay for it. Keeping the basic types in a separate header lets the new interface live next to it without that cost. linux/dmaengine.h includes the new header, so its users are unaffected. While at it, add the missing kernel-doc for the enum members. The block already opened with /**, so kernel-doc expected every member to be described and warned about each one of them. Describe the UNDEFINED case in particular, as its meaning depends on where the value is used. No functional change intended. Suggested-by: Andy Shevchenko Signed-off-by: Nuno S=C3=A1 Reviewed-by: Andy Shevchenko --- include/linux/dma/engine/types.h | 41 ++++++++++++++++++++++++++++++++++++= ++++ include/linux/dmaengine.h | 20 +++----------------- 2 files changed, 44 insertions(+), 17 deletions(-) diff --git a/include/linux/dma/engine/types.h b/include/linux/dma/engine/ty= pes.h new file mode 100644 index 000000000000..2e8a266e42ef --- /dev/null +++ b/include/linux/dma/engine/types.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Basic types shared by the DMA engine interfaces. + */ +#ifndef LINUX_DMA_ENGINE_TYPES_H +#define LINUX_DMA_ENGINE_TYPES_H + +#include + +/** + * enum dma_slave_buswidth - defines bus width of the DMA slave + * device, source or target buses + * @DMA_SLAVE_BUSWIDTH_UNDEFINED: no bus width specified. In a + * &struct dma_slave_config it lets the controller pick a width, typically + * derived from the transfer itself. In a bus width mask it is a width a + * controller genuinely accepts, meaning it imposes no constraint of its + * own. + * @DMA_SLAVE_BUSWIDTH_1_BYTE: 1 byte wide bus + * @DMA_SLAVE_BUSWIDTH_2_BYTES: 2 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_3_BYTES: 3 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_4_BYTES: 4 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_8_BYTES: 8 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_16_BYTES: 16 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_32_BYTES: 32 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_64_BYTES: 64 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_128_BYTES: 128 bytes wide bus + */ +enum dma_slave_buswidth { + DMA_SLAVE_BUSWIDTH_UNDEFINED =3D 0, + DMA_SLAVE_BUSWIDTH_1_BYTE =3D 1, + DMA_SLAVE_BUSWIDTH_2_BYTES =3D 2, + DMA_SLAVE_BUSWIDTH_3_BYTES =3D 3, + DMA_SLAVE_BUSWIDTH_4_BYTES =3D 4, + DMA_SLAVE_BUSWIDTH_8_BYTES =3D 8, + DMA_SLAVE_BUSWIDTH_16_BYTES =3D 16, + DMA_SLAVE_BUSWIDTH_32_BYTES =3D 32, + DMA_SLAVE_BUSWIDTH_64_BYTES =3D 64, + DMA_SLAVE_BUSWIDTH_128_BYTES =3D 128, +}; + +#endif /* LINUX_DMA_ENGINE_TYPES_H */ diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index fe33a20abc61..573e5ea34707 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -12,6 +12,9 @@ #include #include #include + +#include + #include =20 /** @@ -384,23 +387,6 @@ struct dma_chan_dev { bool chan_dma_dev; }; =20 -/** - * enum dma_slave_buswidth - defines bus width of the DMA slave - * device, source or target buses - */ -enum dma_slave_buswidth { - DMA_SLAVE_BUSWIDTH_UNDEFINED =3D 0, - DMA_SLAVE_BUSWIDTH_1_BYTE =3D 1, - DMA_SLAVE_BUSWIDTH_2_BYTES =3D 2, - DMA_SLAVE_BUSWIDTH_3_BYTES =3D 3, - DMA_SLAVE_BUSWIDTH_4_BYTES =3D 4, - DMA_SLAVE_BUSWIDTH_8_BYTES =3D 8, - DMA_SLAVE_BUSWIDTH_16_BYTES =3D 16, - DMA_SLAVE_BUSWIDTH_32_BYTES =3D 32, - DMA_SLAVE_BUSWIDTH_64_BYTES =3D 64, - DMA_SLAVE_BUSWIDTH_128_BYTES =3D 128, -}; - /** * struct dma_slave_config - dma slave channel runtime config * @direction: whether the data shall go in or out on this slave --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0b-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (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 596434A99B2; Fri, 11 Sep 2026 17:29:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.135.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147770; cv=fail; b=YkVUHacKTT0E+NmbNs8zm1d6oqCmAPZfpYxPIr6Qy+45rzTYyxfGCchNRuvQVeaZhD6VMdT5pRMy29X1JXF45WfJQti/G+sXaY1/x628zhnLJ/FHlnPPTuhsvj1Ci4REBkuoCdCtKTlBF7adn8oj/cNDd8blr5IhUOVLnXdc7ts= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147770; c=relaxed/simple; bh=zv64eKL1Q8aK1uNb7IYkfNoWr00BXiSe+gM/IYT7sIE=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=XtauiR7pU5VG4KK1w6MkyFIOIA1RwLNzz6hxOR0Fa6wUBEvnopV1sp2yzXbnBgWPKbIoCmHzWIFgUuApcPUznMz9Pi3ctdHZUTRm5vrZvZ6RBd5oupNQc756ti+peaMETHg7w8vhBTtRLO8SMCwYW3vP/UPOOxKC4awkN5GlDGY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=lR4FQ419; arc=fail smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="lR4FQ419" Received: from pps.filterd (m0375855.ppops.net [127.0.0.1]) by mx0b-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEjAnx1800239; Fri, 11 Sep 2026 13:28:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=U2arv UyAXYFJPJRNcJ3/mRN+xH+HW+GFR7PoE4IYr28=; b=lR4FQ419rm55oNoMa/h5k ajcox1M8yxO74WRri1qTD44ooDjN8/aCpYhR165sP44OBnxggvFRPCqsa9uMw4d7 NtrAGkSFWs3hXC982yoU8jlD4+rBFWeC4zuMRuyeOZIrHamTpQ8E8xq/xWttjxKL gc73Em1Whv8KcqG1OGY/azHLRgrvYBdfdR0jwgyCpfdIXEAiEC1ZWRU1EY9s2Yd/ 8ouq/QhgAFjNG29l1ms++2LzWKEB3zJnDky6tPx78nJeHkaLqhgOEp613wF9nasa 0GM++hYD3VGPHs6qNXEge1AfeADdFDBaLzWfuf8dF7+1M7NbAJmZFy8Sdgq3B6Ok A== Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010064.outbound.protection.outlook.com [52.101.193.64]) by mx0b-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcxcj45r-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:28:54 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tS1+kdNnXLaNxM8EUUi5T34yRVsWjY7X4LVhkB3BXWuZNtDN8RFRwjuEe0W17jjY2XxJpVaOWBfIrYyHx1t4jygNAAPEW2gkfEGMCHgyDPNTBe3Kl1uQjD2QqVKwKxA8leBV9ZpLXfqLBWCY6KjHrZKyfQAhxRqqx6wThET07jPGH3d9KMXrZ4mT4xOboVj1aPqPEr1nK+V0pI5j8usgiZegQAdVri3XPXX/GjWxIQ3qD0GWc5+CZ8v9FWh/oKbzTRqno2yo51idpzZ8SK0K77LdqLIvY9DUbfqZKXCp7V4hW2m97qaj+vvb/cIB9ZEMwKBz4ooLATqlOiigf77zOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=U2arvUyAXYFJPJRNcJ3/mRN+xH+HW+GFR7PoE4IYr28=; b=CGJx5bQx4X5egqnPibTVpvOPtcwaduD5jtwLpBrdvEJyczPXtxMh5ruJgSgSfzXm0hzmxrGlQuDGJsgPf+JraaP2lrlFdELfHyQzws561asNov36H17u7EtusvyOkpfrgNWANlDtAx2aPqatv95V9ujak9jGZmT+KA79y/5t6KWa0LaK2NHd/iTHMqXHseJTFNXSoF43ZwEDXzp05ip2EQMpaZOYa+ERjuUEs01fLlsfZU3qkyP8WTddakVx+3OUP3okIu4Jrh+7FbhisdxVdJ76jX8e8pd4eybthrBTx/ZPdaMBYxPB2iwIg2sLPwcn3GTzoUG054kK987N/AyPLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by CH2PR03MB8027.namprd03.prod.outlook.com (2603:10b6:610:280::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:28:50 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:28:50 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:37 +0100 Subject: [PATCH v4 02/10] dmaengine: Support bus widths of 32 bytes and above Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-2-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=15088; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=zv64eKL1Q8aK1uNb7IYkfNoWr00BXiSe+gM/IYT7sIE=; b=rrplM+TXr6wl5K/11wE/GOkvLmOnm7ZkS6yqJnsrAVR2X895L+eLQeThlAzk8eNz/XLK7AalJ y4xInjZ3d19AnSCBSeAfRpWr8zwm0o/x6Q7yWji7dsw+oR8MYfULSSY X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MA2P292CA0007.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:1::11) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|CH2PR03MB8027:EE_ X-MS-Office365-Filtering-Correlation-Id: 270ec2e7-db17-4456-a1d3-08df102a24f1 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|7416014|376014|366016|18002099003|22082099003|3023799007|10067099003|5023799004|56012099006|11063799006|6133799003; X-Microsoft-Antispam-Message-Info: aBhfEgavlLkXi9eqzCO1htIRbSC3qHyBh+8IYvwLbYg983HXvQokIMo5dGhv8j3vSUmC8ZepkE6mhCj0RBdSoGdLA/PnfcXINsz3DSxhxFjK/mhny5wUSxE1ssHgJL0nRo2ZFlFewrsp7njC/gqIjVvOyoN6J7Ip/zMeFAecSpAGJIusRlriTgHf/scjl37pvHliiEfDX1bpsMjRJRkA09+pm77i/MmG10LpXGJEa230q6HmnMXQp4Rp5T0YD14GrH5HtGfdRoM0cl6tCXOuLIb0/U/Id77fBmI9kB295QlTcjPnmPI0EfZCR4Ii6v0wTbP2HP20mPYBo5Lh0ncPE3yPAVGrVHJVB8oxFxyUJyfWqftMo0PAynjwVjDtM1b+edei/KgGXl+TrftLVSOVh3hpSyNz9W362PIpQf4R1Pht6K29iWi8A07QgeUBvFmbWpGT/KdOxnrXx2jW3Lh0b2zP80+kybKz9etJQF+CNNnBoWW5v4rMPF8vqK9qWlsDo3vz01HfcYov0jx4EE+E30Q6KvYKnvtAPLYbXW0pG7nGudPqkdQNg04BHXcQZmci+pfcudH4H3xIGUU5EPGOYMhScBGwVzojDbpF+Pxba7dHvJWJz7sb7a+GxggD9LMuPv92EpeSYM1C1sVmMaXfKk485wi9ISFPPadjYLqgQ1o= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(7416014)(376014)(366016)(18002099003)(22082099003)(3023799007)(10067099003)(5023799004)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YnRtdU9LSzZYZ1pJeGZmc1V1Tm1Md2Q5RTNsVExOcGRjNFNTcWRwV292M1lS?= =?utf-8?B?VEFHM2pteStITVgxOUEwbmJpWk81bUptckJsQ1dnUElXb2ZmS1RPVFpxRW4r?= =?utf-8?B?blllamhEZzlhQ0tmU050TVJxcElGV1M2SG1hYVVudWhOU2pnb1A0c0NLSzMr?= =?utf-8?B?MlMycDZyVFVNQVBSYmRCYTMyY3JtR0ppUE9sRUpWSDZaekJaVEMvOGxTRDVi?= =?utf-8?B?NWZJa3dURTZTQkdUVllKUm1FUk1WdHpRZDYzR0UvRERobzIyWEFSKzBoUW1u?= =?utf-8?B?eEFnUnlLUEcrQlZOQlpmV1M1QjQ5ZXl2YWxzOFphYjBZWmxpMDJPNnd1WVJG?= =?utf-8?B?U28yYnRCVlNFRTVIVFhIN2grU2JkdHdmVTlMTXM2clgwMUN0MFZWQnhkVmYw?= =?utf-8?B?cUhOWGdBZHdiOFp4WTFmNXhMbC92SEtoeEwxaEsrRGpnY1lLVVdpR0hjZkNZ?= =?utf-8?B?QWc4RTBkd09LMEdWVVFLWWpNazdIdjMyTWE2cEtBckFldURGZ3BhSGhWV2Jh?= =?utf-8?B?cmo5bDBPYzVaa2Z1bW0wWFNidThJWEI2cDJTT05YbnRMclhmcUd6YlEyeEMr?= =?utf-8?B?eUk0blU0bGZENEU1WXRha2hlc292UmJXSnk3S2NzYWdGc2tnbFlMWDR6aUh1?= =?utf-8?B?Mk1YZGhiKzJYeUxDY2QyeWF0NzVNcG9wbktQWmljaWZNdHR5L1hZOWxQckY4?= =?utf-8?B?TE1lSFdSQTZIamJOSnRsd2preUQ1bjJhK3kvcVFpbHZYWkRrbi9mUHZLUDFE?= =?utf-8?B?OHJQU25MNHdjYjJ3djlOMlNsUEFvdUR1VDVtOWl1WW0wSDlsQ0tOVUlCMWJ6?= =?utf-8?B?TThodkc5T3ZDSEdVNDNJL1hnL0EydUo1eWZrZ3ZFZjBKbmJoSXZjM0p3ekxP?= =?utf-8?B?U09ReGFPcHM1ZGUzQ1I2WWk5ZUxvUU9WNWVYcDZBMUEwRHRpeUdIOTFnbWxp?= =?utf-8?B?a1BlbHNnejZ2cHRSOFNWZDV0d1R3U0p4aHkwdVplc0FlNFVQZmk3TmZuTzhH?= =?utf-8?B?eGEzeEJMeVhiOG9HeGdaVTkzN1BaaURrUlFZSnd5R1JmUkQ2cW5SUlhEZnNP?= =?utf-8?B?MnNLZmFHbkZjekxnWkthblZudSs1NzIwMmxmYlIyeHprOE1GNTNlMXhjQWlN?= =?utf-8?B?MGkxa1ZYSUJ2Ly9GUEFMRlNkbmNFRCtVamlxd1RMVHh4YlA4UWM0MGZwZkFv?= =?utf-8?B?bEZCcnJVb2lTUFY3TzVrY3NNQWs4WFoza1JLeDlMVjU5SnZXU0VrQVVrcmF2?= =?utf-8?B?SVk1VzNvN2F2cnp2MmNidlNRZWVTTEZpcDlOWWV2QUdzVjFOamhqL1VVWU5O?= =?utf-8?B?eEcvRit2QWFUTjRyN29Zc1FpRUlVMWVoTStPZ0pkeWtoampvc0ZpTlJVUThU?= =?utf-8?B?VTBXcng0NTM2aFBhMVRGcjErVExXcjVHb0hNaDBuY2k0bElndGZIR1Zrd3do?= =?utf-8?B?YXBRSktTUGV3RFE5ZlArVGNjbWFyVVdVWSsyblVqR0dCdXUrMWp0VlBhQXBn?= =?utf-8?B?TXQ0VUdJSnFMakRNVW9LZS91ODE3eG50aWt6bHMvMFpybGV5YkVSWUErT0pj?= =?utf-8?B?WUdUK1VkQUVWT0w0cWcyaDdPR2J0aXpTd3kxeFdWUUNYeWY5Mi9oT0RteHhY?= =?utf-8?B?cytXbWI1b25xTDVHNzkrN1Y4OTVsNmR3N0xQTEZVV1FGZnZyOUlHSCtRT3ZB?= =?utf-8?B?SUNOaWdjZnNzUlEyUmFtelJwazNxa0hOZzRxRWhJQ1pkSlh5Nm9nVjc3Z3hU?= =?utf-8?B?bGVCRHd4cm80K24rdCtZOUlxV1I2WjhNSzQyRXlmOUxGTzZlRlRmSTVIWG5P?= =?utf-8?B?SG54SFQ5SmlvMGI5MmJHS3pyRlR1aXQvQTFKdDN2SjFWY1NoSHpQYUZRSzNF?= =?utf-8?B?YmNLU1JSMDZ2ZzNPaUk3aWs4QUlINmg4TFR0VU1ySVYrRmRSVW9oQnlvZjJ2?= =?utf-8?B?VW1NQzgrNzVra29DaDg4TFVXUnJYc1VXUzU5eG4xZWRVMFAwdzg3VUlkSVlj?= =?utf-8?B?V3FUcGplNDFkSU1XRHhNRzdLQ3ltSkwvMFFtbFFiQUJnQXJYM0owOC9JMDJh?= =?utf-8?B?Vys4dGVXWmhWNU1rT1kyUVJuLytucU5EbTllMC9TUjN4Tklad0lmTkhSNGtr?= =?utf-8?B?Vm00MlI0R1BLdW9FOHVSMzRrbmxLckJpNEI3WVhJVVRwY1VNajM3aEszZjB5?= =?utf-8?B?RUUwT1VNeGlWSGJXVkJmcmJQdnQ3QUh2NC8zNXlWVHhkZjQ2VDFIWGs2Uy8w?= =?utf-8?B?QjJYVzRTVWkwQ2NZNWtXUjFGWVdUMkJlbm1pSUhIRXJBWXFmbHY4aFNaN1NT?= =?utf-8?B?UGpUUldONnpVeVBIUHFEY2lnS3Juc2NaYlV2RmE2ZTl1QXQzT0d0dz09?= X-Exchange-RoutingPolicyChecked: ZUllCaxxb7ac3CeWDZCv/1oIpPFC4h/tCX+JxUUlwvfaBQ9W6mM1DpvaL0KlPeovei7dJVZI+u7U3WKqPbhAEtfU2DI7LFM3FcwKPsaLOVUmGUEDZsF9aCkyHRZHmVE6SO+l59STILHcBbQKxnRL8UHt4xXdY2gv4xXzLK9BFjMdye3uW+LV31mMCOYHH0i6sVotd76zQsRwCId2+Wfepe1eOYtytXYKEpldlB8gsJNtz7h1EKu2KbjdSfAEv2ZOKZo+UdSVM/dBn42kQoKyAhP0g0lg9yDL4BYfAJoMIepwieuPe42xWeFlOb+e39kbqrHKRYcybDKGqxXmq7LQnA== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: 270ec2e7-db17-4456-a1d3-08df102a24f1 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:28:50.5373 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: eqGIWd6WPRGkzDJM2BpTdt5sCMSu6MyJJV66qZTpQnOZLsowgCXXTq7OLlW40SCv0a98f7X7ls9tMHh5icX95w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8027 X-Authority-Analysis: v=2.4 cv=PZFqFShd c=1 sm=1 tr=0 ts=6aa43a56 cx=c_pps a=z9epfWMNo9LgPPq3nTJR4w==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=N--XFCr6TIEc_64PeIT2:22 a=gAnH3GRIAAAA:8 a=zqpTpWyWpzdCgpraOQ4A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: CinYij4p_jZrwrsc6RUiR-W4vIh5j0GV X-Proofpoint-ORIG-GUID: CinYij4p_jZrwrsc6RUiR-W4vIh5j0GV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX8ENn9rTEs7u8 x4OB8bwn3sQ8zaYNgYgFtNg+amqxZeLuS6mKVk1aVgsb/gYVylG52ZGMX9CwOEkTgggs3blqoIu VcWHjOgexOKS5Epkr0N6AeM96P/vW8ZXO8Ru73eVaPMqRCEFZK5Y/v/Pwo3FDCa1fWdausUEbX1 ZgaiLOTmjTcVey/rnG7OJVo/tktaS0M/OsQSYUQdQ2/C8H2xWHcdi9eV/DsxfwhpakXqD2kq1o7 wwDxXFcmDg7L4zN77RDb58aVlfbVvvGa63xgrdnt8QIXwU4bLJuA6x1GLP2igYoSWgqq83xLvxD 6BgTiv3bhrc2sWBXLh8Xv80986Zf92U12WsPCz349jETh6OGTg6/zlKNU3egJAXoxBjfxo/1wT0 I5qz8nTRL2sD/+ekDex883u0yUFBO0gSYnQ1RDsPK9cT8CqDyWoQTkbch8124EbevQDnqt2kAXl E9fYVrFeKoAvwSrxGMQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX0GUy5MLnfvgn YGoIunXxm3GVJvgXXR19h7pp1PHo12wUSCHiNUUMIeDe3Hj3ETTWRjzygHloE2fvLaDF1LlSFGt Epw1Q1JOa18KchoAfNCv03hGRgmE8roD/4cSUP/gFE08Z2pXzAAG X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 impostorscore=0 suspectscore=0 spamscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 The src_addr_widths and dst_addr_widths capability masks encode each supported width as a bit whose position equals the corresponding enum dma_slave_buswidth value (e.g. DMA_SLAVE_BUSWIDTH_4_BYTES sets bit 4). As these masks are plain u32, widths of 32 bytes and above (DMA_SLAVE_BUSWIDTH_32/64/128_BYTES map to bits 32, 64 and 128) cannot be represented at all. Introduce bitmap-based bus width capabilities that span the full enum range, through a new dma_buswidth_mask_t type modeled after dma_cap_mask_t. To allow DMA controller drivers to be converted incrementally, the legacy dma_device u32 fields are kept alongside the new masks and the core folds a legacy-only driver's u32 into the mask when the device is registered, so consumers only ever have to look at the mask. The accessors live in a new include/linux/dma/engine/widthmask.h instead of in linux/dmaengine.h, so that only their users pay for the linux/bitmap.h include. They all take a dma_buswidth_mask_t, which means the interface will not change once the legacy fields are dropped. The fold is bidirectional while both representations coexist. A driver that only fills in the legacy u32 gets its mask derived from it, so the consumers already converted see it. A driver that only fills in the mask gets its legacy u32 derived from the mask, so the consumers not converted yet, which read the legacy dma_slave_caps fields, keep working. On top of that, dma_get_slave_caps() derives the legacy dma_slave_caps masks from the new ones when a device_caps() callback adjusted them, so that a converted controller narrowing its per-channel capabilities is still seen by the consumers not converted yet, while a driver adjusting the legacy masks directly keeps working. Signed-off-by: Nuno S=C3=A1 Acked-by: Andy Shevchenko --- drivers/dma/dmaengine.c | 52 ++++++++++- include/linux/dma/engine/types.h | 14 +++ include/linux/dma/engine/widthmask.h | 166 +++++++++++++++++++++++++++++++= ++++ include/linux/dmaengine.h | 38 +++++--- 4 files changed, 257 insertions(+), 13 deletions(-) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 6ffd8bd82154..8e68921cf01d 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -33,7 +33,9 @@ =20 #include #include +#include #include +#include #include #include #include @@ -592,8 +594,11 @@ int dma_get_slave_caps(struct dma_chan *chan, struct d= ma_slave_caps *caps) if (!device->directions) return -ENXIO; =20 + dma_bus_width_copy(caps->src_bus_widths, device->src_bus_widths); + dma_bus_width_copy(caps->dst_bus_widths, device->dst_bus_widths); caps->src_addr_widths =3D device->src_addr_widths; caps->dst_addr_widths =3D device->dst_addr_widths; + caps->directions =3D device->directions; caps->min_burst =3D device->min_burst; caps->max_burst =3D device->max_burst; @@ -611,9 +616,31 @@ int dma_get_slave_caps(struct dma_chan *chan, struct d= ma_slave_caps *caps) * callback to override the generic capabilities with * channel-specific ones. */ - if (device->device_caps) + if (device->device_caps) { device->device_caps(chan, caps); =20 + /* + * A driver already converted to the bus width interface + * adjusts the masks, so derive the legacy capabilities from + * them for the consumers not converted yet. Drivers not + * converted adjust the legacy capabilities directly, in which + * case there is nothing to do. + * + * Goes away with the legacy dma_slave_caps fields. + */ + if (!bitmap_equal(caps->src_bus_widths.bits, + device->src_bus_widths.bits, + DMA_SLAVE_BUSWIDTH_MAX)) + caps->src_addr_widths =3D bitmap_read(caps->src_bus_widths.bits, + 0, 32); + + if (!bitmap_equal(caps->dst_bus_widths.bits, + device->dst_bus_widths.bits, + DMA_SLAVE_BUSWIDTH_MAX)) + caps->dst_addr_widths =3D bitmap_read(caps->dst_bus_widths.bits, + 0, 32); + } + return 0; } EXPORT_SYMBOL_GPL(dma_get_slave_caps); @@ -1170,6 +1197,27 @@ void dma_async_device_channel_unregister(struct dma_= device *device, } EXPORT_SYMBOL_GPL(dma_async_device_channel_unregister); =20 +/* + * DMA controller drivers not converted to the bus width helpers only fill= in + * the legacy u32 masks, which cannot hold widths of 32 bytes and above. F= old + * them into the mask so that consumers only ever have to look at the mask. + * + * Goes away with the legacy dma_device fields. + */ +static void dma_device_fold_legacy_bus_widths(struct dma_device *device) +{ + if (bitmap_empty(device->src_bus_widths.bits, DMA_SLAVE_BUSWIDTH_MAX)) + bitmap_from_arr32(device->src_bus_widths.bits, &device->src_addr_widths,= 32); + /* consumers not converted yet still read the legacy caps */ + else if (!device->src_addr_widths) + device->src_addr_widths =3D bitmap_read(device->src_bus_widths.bits, 0, = 32); + + if (bitmap_empty(device->dst_bus_widths.bits, DMA_SLAVE_BUSWIDTH_MAX)) + bitmap_from_arr32(device->dst_bus_widths.bits, &device->dst_addr_widths,= 32); + else if (!device->dst_addr_widths) + device->dst_addr_widths =3D bitmap_read(device->dst_bus_widths.bits, 0, = 32); +} + /** * dma_async_device_register - registers DMA devices found * @device: pointer to &struct dma_device @@ -1231,6 +1279,8 @@ int dma_async_device_register(struct dma_device *devi= ce) dev_dbg(device->dev, "WARN: Device release is not defined so it is not safe to unbind this = driver while in use\n"); =20 + dma_device_fold_legacy_bus_widths(device); + kref_init(&device->ref); =20 /* note: this only matters in the diff --git a/include/linux/dma/engine/types.h b/include/linux/dma/engine/ty= pes.h index 2e8a266e42ef..41c8771f9c0d 100644 --- a/include/linux/dma/engine/types.h +++ b/include/linux/dma/engine/types.h @@ -24,6 +24,7 @@ * @DMA_SLAVE_BUSWIDTH_32_BYTES: 32 bytes wide bus * @DMA_SLAVE_BUSWIDTH_64_BYTES: 64 bytes wide bus * @DMA_SLAVE_BUSWIDTH_128_BYTES: 128 bytes wide bus + * @DMA_SLAVE_BUSWIDTH_MAX: number of bus widths, not a valid width */ enum dma_slave_buswidth { DMA_SLAVE_BUSWIDTH_UNDEFINED =3D 0, @@ -36,6 +37,19 @@ enum dma_slave_buswidth { DMA_SLAVE_BUSWIDTH_32_BYTES =3D 32, DMA_SLAVE_BUSWIDTH_64_BYTES =3D 64, DMA_SLAVE_BUSWIDTH_128_BYTES =3D 128, + DMA_SLAVE_BUSWIDTH_MAX }; =20 +/** + * typedef dma_buswidth_mask_t - bus width capabilities bitmap modeled aft= er + * dma_cap_mask_t. + * + * Each supported bus width is represented by the bit whose position equal= s the + * corresponding enum dma_slave_buswidth value, e.g. a device supporting a= bus + * width of 4 bytes has bit 4 set. + */ +typedef struct { + DECLARE_BITMAP(bits, DMA_SLAVE_BUSWIDTH_MAX); +} dma_buswidth_mask_t; + #endif /* LINUX_DMA_ENGINE_TYPES_H */ diff --git a/include/linux/dma/engine/widthmask.h b/include/linux/dma/engin= e/widthmask.h new file mode 100644 index 000000000000..eb50fc2f81cc --- /dev/null +++ b/include/linux/dma/engine/widthmask.h @@ -0,0 +1,166 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Bus width capabilities of DMA engine devices and channels. + */ +#ifndef LINUX_DMA_ENGINE_WIDTHMASK_H +#define LINUX_DMA_ENGINE_WIDTHMASK_H + +#include +#include +#include + +#include + +/** + * dma_bus_width_valid - test if a bus width is a valid one + * @width: bus width to validate + * + * Return: true if @width is a valid &enum dma_slave_buswidth, false other= wise. + */ +static inline bool dma_bus_width_valid(enum dma_slave_buswidth width) +{ + switch (width) { + case DMA_SLAVE_BUSWIDTH_UNDEFINED: + case DMA_SLAVE_BUSWIDTH_1_BYTE: + case DMA_SLAVE_BUSWIDTH_2_BYTES: + case DMA_SLAVE_BUSWIDTH_3_BYTES: + case DMA_SLAVE_BUSWIDTH_4_BYTES: + case DMA_SLAVE_BUSWIDTH_8_BYTES: + case DMA_SLAVE_BUSWIDTH_16_BYTES: + case DMA_SLAVE_BUSWIDTH_32_BYTES: + case DMA_SLAVE_BUSWIDTH_64_BYTES: + case DMA_SLAVE_BUSWIDTH_128_BYTES: + return true; + default: + return false; + } +} + +static inline int __dma_bus_width_set_many(dma_buswidth_mask_t *mask, + const enum dma_slave_buswidth *widths, + unsigned int n_widths) +{ + for (unsigned int i =3D 0; i < n_widths; i++) { + if (!dma_bus_width_valid(widths[i])) + return -EINVAL; + + __set_bit(widths[i], mask->bits); + } + + return 0; +} + +/** + * dma_bus_width_set_many - set the supported bus widths + * @mask: bus width mask + * @widths: array of supported bus widths + * @n_widths: number of entries in @widths + * + * Return: 0 on success, -EINVAL if @widths contains an invalid bus width.= Note + * that the bus widths validated before the failing one are still set. + */ +#define dma_bus_width_set_many(mask, widths, n_widths) \ + __dma_bus_width_set_many(&(mask), (widths), (n_widths)) + +/** + * dma_bus_width_set - set a single supported bus width + * @mask: bus width mask + * @width: supported bus width + * + * Return: 0 on success, -EINVAL if @width is invalid. + */ +#define dma_bus_width_set(mask, width) \ + __dma_bus_width_set_many(&(mask), (const enum dma_slave_buswidth[]){ (wid= th) }, 1) + +static inline int __dma_bus_width_clear(dma_buswidth_mask_t *mask, + enum dma_slave_buswidth width) +{ + if (!dma_bus_width_valid(width)) + return -EINVAL; + + __clear_bit(width, mask->bits); + + return 0; +} + +/** + * dma_bus_width_clear - remove a bus width from a bus width mask + * @mask: bus width mask + * @width: bus width to clear + * + * Return: 0 on success, -EINVAL if @width is invalid. + */ +#define dma_bus_width_clear(mask, width) __dma_bus_width_clear(&(mask), (w= idth)) + +static inline bool __dma_bus_width_test(const dma_buswidth_mask_t *mask, + enum dma_slave_buswidth width) +{ + if (!dma_bus_width_valid(width)) + return false; + + return test_bit(width, mask->bits); +} + +/** + * dma_bus_width_test - test if a bus width is part of a bus width mask + * @mask: bus width mask + * @width: bus width to test + * + * Return: true if @width is set in @mask, false otherwise. + */ +#define dma_bus_width_test(mask, width) __dma_bus_width_test(&(mask), (wid= th)) + +static inline enum dma_slave_buswidth +__dma_bus_width_min(const dma_buswidth_mask_t *mask) +{ + enum dma_slave_buswidth width; + + width =3D find_first_bit(mask->bits, DMA_SLAVE_BUSWIDTH_MAX); + if (width =3D=3D DMA_SLAVE_BUSWIDTH_MAX) + return DMA_SLAVE_BUSWIDTH_UNDEFINED; + + return width; +} + +/** + * dma_bus_width_min - get the smallest bus width of a bus width mask + * @mask: bus width mask + * + * Return: the smallest bus width set in @mask, or + * %DMA_SLAVE_BUSWIDTH_UNDEFINED if @mask is empty. + */ +#define dma_bus_width_min(mask) __dma_bus_width_min(&(mask)) + +static inline void __dma_bus_width_copy(dma_buswidth_mask_t *dst, + const dma_buswidth_mask_t *src) +{ + bitmap_copy(dst->bits, src->bits, DMA_SLAVE_BUSWIDTH_MAX); +} + +/** + * dma_bus_width_copy - copy a bus width mask + * @dst: bus width mask to copy to + * @src: bus width mask to copy from + */ +#define dma_bus_width_copy(dst, src) __dma_bus_width_copy(&(dst), &(src)) + +static inline bool __dma_bus_width_and(dma_buswidth_mask_t *dst, + const dma_buswidth_mask_t *src1, + const dma_buswidth_mask_t *src2) +{ + return bitmap_and(dst->bits, src1->bits, src2->bits, + DMA_SLAVE_BUSWIDTH_MAX); +} + +/** + * dma_bus_width_and - intersect two bus width masks + * @dst: bus width mask to store the result in + * @src1: first bus width mask + * @src2: second bus width mask + * + * Return: true if @dst has at least one bus width set, false otherwise. + */ +#define dma_bus_width_and(dst, src1, src2) \ + __dma_bus_width_and(&(dst), &(src1), &(src2)) + +#endif /* LINUX_DMA_ENGINE_WIDTHMASK_H */ diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 573e5ea34707..8236a1b274fb 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -5,6 +5,7 @@ #ifndef LINUX_DMAENGINE_H #define LINUX_DMAENGINE_H =20 +#include #include #include #include @@ -481,10 +482,11 @@ enum dma_residue_granularity { =20 /** * struct dma_slave_caps - expose capabilities of a slave channel only - * @src_addr_widths: bit mask of src addr widths the channel supports. - * Width is specified in bytes, e.g. for a channel supporting - * a width of 4 the mask should have BIT(4) set. - * @dst_addr_widths: bit mask of dst addr widths the channel supports + * @src_bus_widths: mask of source bus widths the channel supports. + * @src_addr_widths: legacy bit mask of source bus widths the channel supp= orts. + * @dst_bus_widths: mask of destination bus widths the channel supports. + * @dst_addr_widths: legacy bit mask of destination bus widths the channel + * supports. * @directions: bit mask of slave directions the channel supports. * Since the enum dma_transfer_direction is not defined as bit flag for * each type, the dma controller should set BIT() and same @@ -503,8 +505,14 @@ enum dma_residue_granularity { * resubmitted multiple times */ struct dma_slave_caps { - u32 src_addr_widths; - u32 dst_addr_widths; + struct { + dma_buswidth_mask_t src_bus_widths; + u32 src_addr_widths; + }; + struct { + dma_buswidth_mask_t dst_bus_widths; + u32 dst_addr_widths; + }; u32 directions; u32 min_burst; u32 max_burst; @@ -797,10 +805,10 @@ struct dma_filter { * @dev: struct device reference for dma mapping api * @owner: owner module (automatically set based on the provided dev) * @chan_ida: unique channel ID - * @src_addr_widths: bit mask of src addr widths the device supports - * Width is specified in bytes, e.g. for a device supporting - * a width of 4 the mask should have BIT(4) set. - * @dst_addr_widths: bit mask of dst addr widths the device supports + * @src_bus_widths: mask of source bus widths the device supports. + * @src_addr_widths: legacy bit mask of source bus widths the device suppo= rts. + * @dst_bus_widths: mask of destination bus widths the device supports. + * @dst_addr_widths: legacy bit mask of destination bus widths the device = supports. * @directions: bit mask of slave directions the device supports. * Since the enum dma_transfer_direction is not defined as bit flag for * each type, the dma controller should set BIT() and same @@ -882,8 +890,14 @@ struct dma_device { struct module *owner; struct ida chan_ida; =20 - u32 src_addr_widths; - u32 dst_addr_widths; + struct { + dma_buswidth_mask_t src_bus_widths; + u32 src_addr_widths; + }; + struct { + dma_buswidth_mask_t dst_bus_widths; + u32 dst_addr_widths; + }; u32 directions; u32 min_burst; u32 max_burst; --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0b-00128a01.pphosted.com (mx0b-00128a01.pphosted.com [148.163.139.77]) (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 6713A4A206A; Fri, 11 Sep 2026 17:29:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.139.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147773; cv=fail; b=bHhNJXCxZwQrKCULrH9scpSbROIlCjk5PpMvkr0TOi7hWCkObSrN/PDmU3U1k6zDYtrVd2xaCJkAhQVb9rMi1eZMiNekVhgaaywNYAo54PFZJq5VEKwO7WOwAe9qMwLyaI9MFzvBt8d3pbf9eBuNX2JJR3dwcwiFrtWk/x2v2/U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147773; c=relaxed/simple; bh=wst0ZIUBRODUkfrbgY/rvym6W5SBHIZCofay+FzSDa0=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=lMdJElTE3/oXRphOY3jia43GEeyvnDWv0ttfa156PD6UcAAweDYefwv2fw+d55n+0s3cH6kW8IzbpEhcEtqpBXYTZqBvQ4rbuTSnYUwU3H+72lyPfDV7jBogxi1dA1E1hTGJmDrE6KB++ZGx+ta262SzSrE0ivLdNrQMjdQvqKU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=e787kCFx; arc=fail smtp.client-ip=148.163.139.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="e787kCFx" Received: from pps.filterd (m0167090.ppops.net [127.0.0.1]) by mx0b-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEin2T685441; Fri, 11 Sep 2026 13:28:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=y99hB n7LKG+sZeM/8uW3+XnQwWBi33FWFw+hj8G/nJc=; b=e787kCFxfsCjLY2Erww9Y u4q2MgJ+xHXzZ8vPNEW5flPsVnJ0SvHFDrSyVVrHRP2MX4IkYho25Hf/UlYPcMdG lxjMoSONEG7h5is8dnYcAZjoC000Ys9P6raKuQP8FV4ghJLurIJtwDmEBgjR/2nO ATbBWFyDw2ofapAZAnnygI9sTtamgqMLd63oh0N26Bmua6GW09RHl7iKhfEH8vQO UAlfSUJ4lbMVyq10AMpEoa8ULPQzCsFFWde+iDsPBztVW99Ez4n9RzDUIjpsyil+ TES99auGbu7me+zr5ekcETqgb+k6Hvuk7u+1sT7sNxH/EVxlUhKIGj3FOLzPeX5W g== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010022.outbound.protection.outlook.com [52.101.46.22]) by mx0b-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcx8rfun-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:28:58 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S2oGXykFxrqPDc6XLRMhW0fyzYUnB2sWiLnG5d2L8UhP+jdLveltPgkVmAPyvgUB7G34mulRRLocsMk/BcTVCe3P2IGXjBqMg47Z4xJf15X4GQumnAR4FDQUnv/qiqoVwisaUUAyl9kqYNkTPpSAriIIBz7twVSU/44y9UA3fI7cTdOinq0AxRdijUolLZ5Vv5pu7hkYqBwFArVW1bWavpkjE3NC8srFZ/5vTOxKsHEdglPVTyI/upzD9VOWwOmpIggSEo5f7/S8rQXIUeUSH5ah2MVf01X0kDf5AjhrnpSWHxfjZ5a0piqlQiPi05g0HE4IYS+Ht/tXHBhK3uLpug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=y99hBn7LKG+sZeM/8uW3+XnQwWBi33FWFw+hj8G/nJc=; b=qLcNu1sGmdOhcE6niWF7RCL+XJmCBSdmjsdrkMmyF4hYkYMX4zgw6RJVWKyDiKYIomlPCc5ChWqBaCVuDuVFtyGATs0cMVDR0oi2ri5SE8COXwqSnLwolEud7E3rG6DqoVyZT46qaUsdA1UXfCS/+JBj6ZSxJ99cutO6ZMP/t8IagcAj7fY1r/Gk8lNS0eIvy+uUMFWsL5JdFXTyQ7R8+sc5SMu7mN5DumGAfRaJCKZcdB2jXp8G8sDkE/U3thvbKVN90Yttnphq76JvTTu6kzS5hWnz1W8tLpOc6aMlfTTHTCUpg76XhhVZ4ii6sX+sdkEdS7Qm+anZA3Atuv/CxA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by LV2PR03MB293829.namprd03.prod.outlook.com (2603:10b6:408:3af::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:28:54 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:28:54 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:38 +0100 Subject: [PATCH v4 03/10] dmaengine: dma-axi-dmac: Use bus width capability helpers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-3-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=2064; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=wst0ZIUBRODUkfrbgY/rvym6W5SBHIZCofay+FzSDa0=; b=Gih9kjSWiO+Qw1NAf5MyxoNt5peSoh+OpHbBhmzEE7p5H3/JHgNUtCiwlCAAPwMGgCIQkt874 0++vS7rgpQjBZrd+ZlpNeUN7AtNkRtQfaPYCIR+ctOpU/slaE4L5SVR X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MR1P264CA0163.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:55::10) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|LV2PR03MB293829:EE_ X-MS-Office365-Filtering-Correlation-Id: e570e9e4-30f2-4632-741f-08df102a2767 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|7416014|10067099003|22082099003|18002099003|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: 9QNV00zYY8ZUolsQzMbC8eRsuLhupcv4Exls32F7uhD4JDQnb9V1xKzslwj84rgQKHEOm37h79MjGibSNofGhLgCPC5n+T7k19mKscVKD6X4LFxpToA0b5YiHG8rTM3pZ5rxRqtGKbvw8Ndy5XmhzQA2oFMomGoTuyUsj/7/yaAh9cdaDFShmb7Mt3oCCire6Ejlor2XY/vZW2ID1Zggzr7R7S5AzOd+dlxVKkTd8CVrv3lZpdoRBLZcl7skEhmCY8wrNIGz3DIB+4mzE2n/6GJnpl3ecpBQxccqDtQ/QYoMl2O9cQ8q0brzvlR8+Iqgip3imiY5ge07zWF10TT85ARnwFPa8dWUm2yg7rrAt0anEHLlzzohDsCxiJKIh0qDGee/evnNSOvxblu97kkGcwVMdm29huog/qst5874A08yggXEscyJtgH/gS/NmM0J0ITP5p+ZiIoTXBc9Gm9tLnQahb+FVlI9DlwwSSPro9NZWHTE0yCzfvG/HEU/r/hL7H0VpBaqFTMcyIKREpaZst+ActaAzqycnHVCVK+/6c+EtqoA0xQna/1qxUyS3xTnajLDOCMthSBCsLkG/GObChmzyq8GpogMjrcP792Sq3SEPLWN9ZjoVqjIvjme7o+asA8Q0YChOoDaAMsRDCrKKHpEp5lfcgZHZmXGkDdGFKs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(7416014)(10067099003)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aE1rQlFianVlclVTYlFVbGs5YlI2ZjFWODFTcytEVjZkN0dXUzUxZlZwUzZo?= =?utf-8?B?a2hxMU9CWEZUTmpraFV1S3hVeXlpOTB6SGhmNjRMQUNLVjEyYmY3a0NLYThO?= =?utf-8?B?ejViTVZ5SzhJaGplNlBWTk5WQjFpRVF5Q1dxQkhOWHNyZWpoRW1YdFlhTjhh?= =?utf-8?B?cUt6dVhZYWtFTkYyWlBrdU9sU0QxeDkyTUg0MGo2V0pOckdWZGxUbHAvb0JC?= =?utf-8?B?Yk1nMXJ5U2ZJZnhGbHZvdDJtS0VYRk9menVVK0Nxa0N6QUZCS04xSU1uUjNG?= =?utf-8?B?eDR3eGl5ZnoyVk9McWNQdm9YbldGRnE4Q0FJaGtmY2xFcWVrV3QxSEhYWHJB?= =?utf-8?B?ZWtNZkoxd0xSMXJkeWNCc0JXNXFIV2hxVUQ1cW1pK0hoTHZRdFJUQWRIZWFG?= =?utf-8?B?NXVCZ1NoMURUbW50aDAvYlU4eFh1R1hId3RGZEpHNHhjaHpkM1FMTnNrdW9m?= =?utf-8?B?Z25JVUFNMThjbUFqektnZkVrR2tENDZUOTNYSU01TVBROURKbXlYZG9uVC9P?= =?utf-8?B?bkgvMkZ5M0JoWDRZL25QMENZN2pEcFNxOGJ0WE1XOXdtcm5qdkRlc3Y1OVhM?= =?utf-8?B?bjVwUC9nQXB4RjJidjVzNFd1c2FWTVhaOUVWUlYxK1lWRldhcHVWS3lpZi9H?= =?utf-8?B?ZldmNFhrazRTRWNReGNVU1hTTUwxMmNRSWhUSFU0a1N2cWo5UWJWcEpGYlhl?= =?utf-8?B?czJxN2dkaW1JSDRJenBEcDIwQzVUL2dtNlBQeTc1cFZwOFFGbmp6azYxWWIw?= =?utf-8?B?NVlNWEZybDArVC9EN1NkMXdxRTcvNU5tZVhoNEh2azV5V2RVcGhrbS9vZmE0?= =?utf-8?B?M0h5SnlXKzhEcjh4Nkh4WXc4ZzlVaUxQb2QwSVgveEhsMVFiWGJabkhLaDhY?= =?utf-8?B?YnZLSEpOZUhZK1BMbndLa3NyR3BrZUs0TFJXbXkxRHdrZjJWOVRNaXdad3ZL?= =?utf-8?B?bmxFQS9QVjZ2NDRyejZFeFVaR0pQRmg1Rkd4U2Z2K0RzVFg0a3cyTFFKK0VX?= =?utf-8?B?enFhcXArMkNTa0RkcFUvVGlTRVpTL2hPaXNVQWF2Ylg3NlQyUlg0aGRsYUhB?= =?utf-8?B?aWxDdlVSMHgxUjAxOHltT3pBVEVhc0FjcEw2V0k2K1BMVVNZeFcwdEI3a1pS?= =?utf-8?B?czNUMFdFT2x1Y2trNjVkV0NZM2RQWDdxS2JRdnlVNVJhcndzT3VxZFI1QXgz?= =?utf-8?B?VlZMNVZDSXhlZEU3cmVxdC8wb1hEdTRDVGVSK0lNeEpxZ1YvMlkrMThLQVZF?= =?utf-8?B?QXIxdW01S01USGJKaERxVGIweXFaVlRONnhoaGt5Qi82eVdlbzV1U2NiNklW?= =?utf-8?B?QzErUzM3ZXo2RDR3OXVsTkNheU1JNW5iMmFTZUFJK0h6WjhOem9RUFljQTgr?= =?utf-8?B?b1RwempRaThiTUhaZHViMzR0TFJDaVYxM2ZrbEV3cUtVazRuMTNsTXFBV3VL?= =?utf-8?B?aXRQVVpweXl6cytEWFdCMW93cUhFVkhlU0hrOHVZdlU3YXRnUVpMMURWUmF4?= =?utf-8?B?V3Z3dndhWEMvQll4amFqbm9xWVJCVUpueVJhMmhUdzM3N0UrSGVBZEsydUhT?= =?utf-8?B?TmRRNHkwMHo4eTYrMEdYNUxKbUtIaldOYzU4R0orS1NaejNnZU9DSUc0TTlB?= =?utf-8?B?TFdjUDdWcUY2S1BJN1FxdCtDSEpVTlhTVFRsR3hpaDRsZ3cyWkFrUXZHaFpr?= =?utf-8?B?Vi8vM0lSamZ2cXhpaVVKSkdCbUZyN0paMk5oQ1IzV2g3c2lkTEZoNWhQR1VX?= =?utf-8?B?ZkJ2V0dLTG9PMWtPdVpTNW9nNnZvU2NkM21GK0VNbW9SWmxrVmRHdFRsY1NL?= =?utf-8?B?ZkNoTUVNT0wzcC9EbU14cUowNkcreEkvN2tkZStmcnBEYzliamVGRmo4enNi?= =?utf-8?B?b0hjbXBLem9pTTRJVVFpNWRWZ0R0WDFsODJsRkFDM1hTUjUxOERxd2pxNVpo?= =?utf-8?B?d1dqL1ZPVnJJbjZ3ZG1ITkhmc3lINU0veCtyMTdkYzBGQVl3cld4S1JqNVE4?= =?utf-8?B?dmFOdWdVSEFqeFp5ME5EVVlMVm0wZGJ2ZVUzY2JHd1FtTDZRTnNXdmd4dlR2?= =?utf-8?B?cVFDSUN1MlBWWmFxbndPQktXNUpjVVdBMktGZm1PTEhRcjYrODRSOGpZT3U0?= =?utf-8?B?eUo1T2tiSXVPSklYR1ZmeWFMbWpSQi9lc1oxWFBSYndadFNHckM4NjJoM2Nr?= =?utf-8?B?Y0IwN1ptRTZnZE5YUjVmU0F2b0d5b1dra3BKdEdUdzFCbFhjTFlhNmtqNGlO?= =?utf-8?B?MExkYW0vdmdUWXFjbXpQVGJZMjZsV1dXMndXMEZqS3Y3WnRDMHk5b3lzeGsr?= =?utf-8?B?TDFuQ21OSnNFOUdRNGQvMllZQUxEaTdPdTdVN3ErSTRId1hiZ01XUT09?= X-Exchange-RoutingPolicyChecked: pwGP4WJslOFQYKVuPSaz2O/SmBvxY0R3Zq4EmXyxHbzrmVi3sAkMANY3SAdh6lBxYcFnfFzqindqVKKg++fppYbT+m2LZ2Oi4PAXQ4gmOV1i+iSRprmVhFb/wM7RkcxQQAnPX7pV1IXbAHmJJqEvW1BSo3tsf6u7PSIxXuDYtQEWLzUYgS7/O5NPhzjhmU1CwMqK4kGH9V6+8xeDJWF+If0ozBmmADD2GCvLigiI7sZJ9rB2TuYWTOqJT7/INdHmVPeB40OmEGzTLWRYR6KoIl/T9xMXt632zPUXyy1qZ+TaBFZaMBJSBgPPLq3swm9fn3JMU+Wi2ayV7MNhTYM3PA== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: e570e9e4-30f2-4632-741f-08df102a2767 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:28:54.8286 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MwLJ8P3d0zYLYt8iULFEEP136Sbv/DGCbVhZ/Yzeqw4i12EIt+7q8q+85mSQtSt7uCWOmhGmqI7Jg/gsRNZz/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR03MB293829 X-Proofpoint-GUID: 39i4gTTndBgDnI2AFJgCaIHzDwptU49e X-Authority-Analysis: v=2.4 cv=JaApPkKV c=1 sm=1 tr=0 ts=6aa43a5a cx=c_pps a=QRdqWuRaZ29IqTB7rU1R+Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=_jAD5XSDOtq9-5Nde2OG:22 a=8AirrxEcAAAA:8 a=gAnH3GRIAAAA:8 a=Qd3EMPMlLGY8qSusABcA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-ORIG-GUID: 39i4gTTndBgDnI2AFJgCaIHzDwptU49e X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX/3w4qXVph2rF uY2U0in5MhscenhTWyEUg1u5KVz96iI2gedkbiX42ZerBSqLm961ktUO5P+dnHhLlmWDKI0Ij2F rH3BJ/tT6sCTLSrFsxs/0Ek7tLgjt7C0zVPyNgm9IGA9LZcBTwdW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX/72ylJXKE54U R6iBkIhLRnMRo6P7NMsKNQ8C1WI2DSm2zttVFyz4OFB0X8BZpkhTCExYYzHvht3wU9AzgUqS/io /YEPrCs9sk8iIJtpiIEJVFE2NqtnMUICnpU6t5QG1QaaU3Flmjxt9cpyK5c3Evi6MyY3KF5U0Q+ n3MSUaFi4wEwNAWbJMrqyHf7FKxzeRPkdq5MjtKO2dSpqeBRFN0Yp5KL9rGTjA9OwneAZ+JIYU5 VbRh4ds5vTN6M941tCSbTmkioGluDmJs+w9gobGcWZuft1/KXtAFEcc/nZf4czllUJ7FJ9SlU2S qAbAQjVvdaApEFiEvMvb91R5z4Lkh0CZ7ZK+XVS2D28n5Ax94x2mAPfyuEm9KJezcWv1YR3XkPD wbyU5qspwG0Ct+X2IowQK8jvL5qCESc7V3QzXKsm/sC9H+qYQVkifeB2YpJM4QewMTOHn+Budht x/w6IjVLLT3a+oZCIeA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 phishscore=0 adultscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 Advertise the source and destination bus widths through the new dma_bus_width_set() helper instead of open-coding the legacy BIT() mask. This moves the driver onto the representation that can express widths of 32 bytes and above while keeping the legacy u32 fields populated during the transition. While at it, give the channel width members their proper enum dma_slave_buswidth type. Reviewed-by: Frank Li Signed-off-by: Nuno S=C3=A1 --- drivers/dma/dma-axi-dmac.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/dma/dma-axi-dmac.c b/drivers/dma/dma-axi-dmac.c index d47ff27e1408..dc56178cafe0 100644 --- a/drivers/dma/dma-axi-dmac.c +++ b/drivers/dma/dma-axi-dmac.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -152,8 +153,8 @@ struct axi_dmac_chan { struct list_head active_descs; enum dma_transfer_direction direction; =20 - unsigned int src_width; - unsigned int dest_width; + enum dma_slave_buswidth src_width; + enum dma_slave_buswidth dest_width; unsigned int src_type; unsigned int dest_type; =20 @@ -1262,8 +1263,13 @@ static int axi_dmac_probe(struct platform_device *pd= ev) dma_dev->device_terminate_all =3D axi_dmac_terminate_all; dma_dev->device_synchronize =3D axi_dmac_synchronize; dma_dev->dev =3D &pdev->dev; - dma_dev->src_addr_widths =3D BIT(dmac->chan.src_width); - dma_dev->dst_addr_widths =3D BIT(dmac->chan.dest_width); + ret =3D dma_bus_width_set(dma_dev->src_bus_widths, dmac->chan.src_width); + if (ret) + return ret; + + ret =3D dma_bus_width_set(dma_dev->dst_bus_widths, dmac->chan.dest_width); + if (ret) + return ret; dma_dev->directions =3D BIT(dmac->chan.direction); dma_dev->residue_granularity =3D DMA_RESIDUE_GRANULARITY_DESCRIPTOR; dma_dev->max_sg_burst =3D 31; /* 31 SGs maximum in one burst */ --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (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 9FFBE4AA034; Fri, 11 Sep 2026 17:29:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.135.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147783; cv=fail; b=TPIEDdsCdthIGJBdT/Su4FuMuNio+ewL4rZNX8g2EeC+lP0vWE7D+HZpVa9i6cfBjK8MG9i2eGeaWzePFSM+Wry+mrn2hpmMVDN0NfrYpwpYXwWsFw+ePmbNXaNjvsPWHhftaxeEIPZEInDDWyu6A4x13V3eT9+x2E3RFHwakwY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147783; c=relaxed/simple; bh=r/PWK1x68UPKUiyGEqI5poQQWFjrE60CfvC5TyS44NU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=VykzBuuxFaq21OERYKd2I1Yo1LuYDsFR6FPnewDvvfKeNrVGLI+dnF9vRD8P7ty2EZA1vi343oPWDf+44RJE1F4y+w6HVvKsbu7IlC/cB8le8etRaXQyR8MWtAcmbZKfwpSoWC0lseS+Gw0N1NoN8rvm6Js2Sxb2H4Wn+cuPcMI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=HQm+Ra9v; arc=fail smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="HQm+Ra9v" Received: from pps.filterd (m0167088.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEioAK3088364; Fri, 11 Sep 2026 13:29:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=OWujc a/b+MNJzrwug9V4oxfe+SNCIjU4kHV9FhMRWPg=; b=HQm+Ra9vejaylktDE/gA8 tJMeXQwBC7TzcnI/NFD8i8ug/8tU+rYb56XKbOLsBa1Kep1kTacFB/n3XXvSOXmn imMZDeRkedjBw7+7wA1p2XlexSJHZSaVUqzaLwquPAUDmWi3F8EnL9fUiaC9V8Fo 4eBxOndUM9qmWUMBB62Eeox2Rvtb4qI4jqAOKzaDQe1cqdTfm+VwygFpTzrzCqes ojqQK2+u0wrQGRRUt8XhfnAwQlyWqjjyimv27qvYKSpq2D9zJyv2qN/kiSnSUmcD d59FRfR5WcXgem7senQCUgVR5w9Oh8uIidJaV0Cj6jU2jrHiRFNMRRsgvMuIOWX4 w== Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010063.outbound.protection.outlook.com [52.101.193.63]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcx9a7qc-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:29:02 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NRX3vfVh4PvSkVmBWwA6TMRTY9zxSMXsX5k8Svtd7szWG40kqB3t+ttP7IM//12+6Hq+eyPlJuGpkF3nP0cOoeNw+x/FDzE+/GIlXyIfC5x9xJDaySy+zXTd/zSZq1JgzoPXe6Qet21GkvgKBcc6TsV/9QCKtWqZGHKI3QoxVKn/KReWsLZqyqYRMns9XC4JXjB6YLYEdZUMLuMHgdxfxGz67n/UDBffwvPJ0riMZW4fZN1QuVMoxUCZpl8Ee5kqLbZctgqcmLpvUgNQCvgYzDNr+Wk56NP11oTznMDEbUVmz2CWfHxiLCNr6ABj4ibXCgLSLT2ybTyaDwELeTTeQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=OWujca/b+MNJzrwug9V4oxfe+SNCIjU4kHV9FhMRWPg=; b=llNOyFAFyH6t2x0scN5jmicH0y2RMRt1AmZBZEcBz/+ITLKnhiwTACZPbetn/m3cCDE6UAYJZM4gS+gWep6S4ILOj/HFzl56aXgtj2x7TtZ9eMcwXXoO2VxnXskifnfiORXinwpbmWgtkVlOB7X4XPyNAscSYIp87tuTX3oY8x+utt/lo4CmKzCt+QrK8W4vRzvFbYN7weun+fXCXCfrecJN1+ZQXNHglY/vci9+LpSFxkOTVoPUy2nV+EItjAGnqsSwQX1Di+wEwrPa3kYp3Gr0CzE4GZN2JjxWxiv2NolY4dxbJXzLorkR+0icyeUU46JTwkqLEKuQKS5BP616TA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by CH2PR03MB8027.namprd03.prod.outlook.com (2603:10b6:610:280::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:28:58 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:28:58 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:39 +0100 Subject: [PATCH v4 04/10] dmaengine: dw-axi-dmac: Use bus width capability helpers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-4-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=3028; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=r/PWK1x68UPKUiyGEqI5poQQWFjrE60CfvC5TyS44NU=; b=7KsOdn+eN7wBKjVi3CQET77cevNyk00aXQt9u9B3xRYJo7nofoPhSyZxSBqsHvl5sfKYtnYni JNEH0h/91ghAXiqgM42Nrsb/XBIyOq7Ff1pKkFppOIAr2SmqfM1Ox5o X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MA4P292CA0001.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:2d::20) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|CH2PR03MB8027:EE_ X-MS-Office365-Filtering-Correlation-Id: 1a7971c1-dc7b-4d5e-3afd-08df102a29c4 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|7416014|376014|366016|18002099003|22082099003|10067099003|56012099006|11063799006|6133799003; X-Microsoft-Antispam-Message-Info: jn725KuK/EjxyrtjGn6G+fr6BryaxxKCb2XT6FNzJ2Dl3QQ0dnYHFrxp3HvqrOyVGF0btN/us1wGoG1aGNTdjWikWhzGy7Tcjd+38sRXQIJKmn1yEazEjGmf0AvOt4Hy+MPh2jA/4utReLmIJ7r+3nEHd6RiLPrKz9H/QqxLieAWeEiQX/28UQ/t+D0j/BY5IAOUFmjvO/BCH/kbkt3IUHJKrykUMdXcRE+ymdiL650xbSmcrhdPomkmXdx2OshbvozqRgxTu3/sdr1OaDjhU1HMVQf7MTcV7BVO/hHoXKhV9zVCA5QQmIGqghUx4hM1r3GA9uSH6IRmJwwMy1PYqkggCiTGxcAXYvQNSc+N/qcrEFuQx72tuPocwMicey6rqOztcVvrZEzKuv550ADmzjJc23TXcZTsVlD0z1KflDoZeObfyIQzcG11k3aQmucd586hg9ExcrZF9e7iboNTKR9hb4aqEkYrIKoKNA9TjfkWz5iUwBAaPtqCtPthWqHOSShpVy7MqrQi0h6S4XGZUQ+NXoDpny/CcFK4+JGlGEmwlv8Cjd8RJ2q1EcFO1GpkLNwPJrwngVRNT6lFEvcTGnl1cKR+jsZcLP5iQYFIx9JT1YIfuTLe3eXiShJ56iFlVbPicmdRlAwrqCgi2t9VAfZRdGxOJztb9QtEPPLwSMs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(7416014)(376014)(366016)(18002099003)(22082099003)(10067099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QldsejR3RnlHR0VTZElzR2pVRGN1RERxSUt1SGRvc2tuVmVQTVlLNDhaMno0?= =?utf-8?B?NVltZXdIOHN3bnhHYWxBaVZLSVdXSlZTMEt4OUVVaXQ5QjBIbEI1MldtUjF4?= =?utf-8?B?YVBtQWhtZGZRWThIMkppdzZtMnJPNFJkZWtGa3RSK0MveVRtZnBXMnJRRVBp?= =?utf-8?B?T2hwUk0zMUt6ZUMzOUtJQllGa2M2a2V6WHZKV2ZnS2NWQjF4NXo3N3VuaWdC?= =?utf-8?B?TlM0VStmSDd1QU5OTjFSODAwOFo1TWFPbzlWSUlZajBZU0VwZk0zQkp6MDdY?= =?utf-8?B?U2w5ckR1Wk5KOUlsSDBGK21GeGJxSkNlcHhKZTRzdWxwaFY1bHUrWVZyV1N6?= =?utf-8?B?L1kwQVV2aEJUWll4N2xGYktMeDBpN1pkVE5GZU9KYXZUS0VGVDRVMlNZSFhM?= =?utf-8?B?QThuTUZpOUFXY3dUMzRKKy9xUFlMZTRGekZJUVdoSXl4Mm4xR3hsTm9MVEpw?= =?utf-8?B?eFBmajJmQWNoVDV4Z2RXbUo5WWI3TCtEYXlTQkdiYXRZa3lrZVVDamVhaHB3?= =?utf-8?B?RFRHZk1rdmxySDVvQTZyT1RGbTdpR1p3Rm9POTRWT0RQdWNIbHdiUThlZ1NE?= =?utf-8?B?Z251WWdOY1J2YXBNUUdBeXBPVGI3YjkvRE9ERE5LODR0QmZjdmpGaTIwZm5x?= =?utf-8?B?VXBWYm1tUEM5OVJjRC9UcFVuc0YzS3dKTEt0bFdwbFo3ekViL2ZKS0VmQ3Ey?= =?utf-8?B?ZFloc0pya2w4UENMcng3N0VUemtWdVlpSXg5bitRQTdZQUZTSEE2UE1qcHFD?= =?utf-8?B?aW50SWQ2dUFxc2lxVGUyY0E2aVhBbUtoMEZWVmxMeWRsZzdQbDVnOGFOWXA0?= =?utf-8?B?NHJPcnhuTXRzMWloR1N6UzI2cnFYNHp5SXE1UjFnSnl0MTFHbkhCbnZicUxP?= =?utf-8?B?R3JJeVVFdG5JUmsrOTl1WXhpQ3FycXowWDBHYVgwVW5MSjJwRC9pV01xNWdj?= =?utf-8?B?RWw4RXlpaW45SnFnTEc4dU9FTHZBcXcrcklQM0NHTmpEVWExenM5R1BRMW5h?= =?utf-8?B?Y0tJMzg0a2YvSkFsKzdML1llUmxRTGVpcDErNXB6aXNrOHgyVmF1Y2lJVERp?= =?utf-8?B?Si91OXFKOFJ1UTFIVmNwRkwvNGQzRXRzY1RXRENyL3hEdG9nbDZtQ01xUURR?= =?utf-8?B?L05wT1l2R3FPZzIvVTNDSnFFQis2VFVWSFBOa3A4bWRiS3pMbWtBN2wyMkNC?= =?utf-8?B?TkdhRkhsOWpicFRHZ1dJdFZ5aVpzS3VCTnNqcUVqSWNydkptL2hHU1BQbmEz?= =?utf-8?B?U2Z2MkRQNSs1SlRNVlZzWXdoSkh2OStuVStmS0s0YjcwY3laOFRabXN6QUhj?= =?utf-8?B?OFV3bnY3UmFUU2VSaHNISGk2QXFQWFpKVjVEWTJLZEtYMUgrbjJ2ejV2ajIx?= =?utf-8?B?SUdHbi9FZzlVejhHNTBOUG9xQWVISTA0RzBTM1B1aFRiYTVuTE0yWE5CbWRt?= =?utf-8?B?dGdXVlVXeU5sR0lOSzFGNUc3RXloamJvVWk2ZTgvNDVBQnlhdHIwMXp3VnVh?= =?utf-8?B?VnpOenVEdi9yL3FrUDNuMHNuU1RWS2JGaHc4NUlHVFQySWVVYjN1Ti9GU20y?= =?utf-8?B?Z2tWZlEvZnQ5aXg2amRUcmtENnB1bHNPMVBLRVBqQWxkQVkvbTRZN01KWkl2?= =?utf-8?B?bzg5bWVreXNjS1ArcW1EMWFHSmx4KzJBVGVXVVp4ZGMzMWZLK2pGOTIwWWRL?= =?utf-8?B?M2JDZTNuSWNMZi9yeVNUV25UVjVEUmxicEsvVVVLSngwNEM4V3VDem5IdDNw?= =?utf-8?B?NmhaZ09NZEI1L2VNYWJtRk9nMTJ4ZUhnVXRLcmxIbXV6V1I5Z1NocWNnYkZk?= =?utf-8?B?V0dBKzVtdzltUU9kNTc4YkVZdkhweTk2NWJHYlFsVllpWGdJSVc2QUdIejJ5?= =?utf-8?B?V0tDQnk3MXN2aDlwWXB0M0tUT2ZqbnBJZ3paV1piMGxKUmwydnBiZm90WkFE?= =?utf-8?B?dEk0RURmQmZFUTZLaVBwUnhZZHBYWFBsQUk1WXZhSUI5VW9SUjI3Z21QZERJ?= =?utf-8?B?d290YW1xcUFTbDd5RXdLdG1mRHFGeDdRWWhyTDE2QXgzbkNBTUJpSEI4SHBs?= =?utf-8?B?TzhRWENIZnBUWk1VMW9EUEpTdzl2VHhGbTkrMXU2eDdaSkoyUFJxdzNFVHp5?= =?utf-8?B?SU1SZWtROEJldmtVdXBteHovZFB3Z2lqNnVidE1JMmRqdHNvRFZIa2syWEZy?= =?utf-8?B?T3NyMXEzOCtOeVY3SEdqOFVKMEpaZmEreTJlZGtKcll2RFBJRFJDeGlSQkth?= =?utf-8?B?UjVlOTNjdUx5WWUreEtKWWlDeXhML3VjaHNiNWNtV2xDVko2aDdzNkZtWUFU?= =?utf-8?B?WlNKZVFvbGlNbHJIVDh2dkxWbS9LbjcyZEVoaFlCVWxIbUtqdTFDZz09?= X-Exchange-RoutingPolicyChecked: jT+bHHQnn2GSMePfJwEKBVvzX3Tv1slmXFGzuWY6yKaK/sQ5z30MItq61oMpS/X9BB6VQaDEC9bhpV7yE/+SE9tf+lhrPniqEpcro7F3TuBqRSGK5YhAmVavZ3DhSAVK7Nyxexn2voI+tyhlsdI2eKJuYMDxaHOgVNXpU9JRLfHyePklBsiicGUW7PdHWsoN54sCkGAbiATGsFUyYkz5marHDapWGLSHAWpae//JRrmHq2oJHC7iW0DsnB+yrknKwyb0n4v3iwAX6VoAEYjrBAlxRPbNtyPilhRsSEORgPH2oAsOGyywJ5B+MYeazbkIleJyNmH94ILk6DO9c8n3rw== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a7971c1-dc7b-4d5e-3afd-08df102a29c4 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:28:58.6648 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: yuJe4jkzPyELjPTevO6tnwVq9Mn8W3nLVB5S2KjHpPYIDhVN/TCgp+SHP5Tq4g8nXFxdwHa1BVn5kbInS9XQvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8027 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX+VSSDHyGpFFd TiA3SHSYg/rUWa7RRrtIiTPpgWNsq7gmfayFPvVtIT7zzJ+Y/lMeDI2Q8B7QURSBGf8CZe2dPvZ CwBLerhQmI5oCdOWs0/lio9UEDd9Yt+3dLwMNfS4eJxo2IFfmMLp X-Proofpoint-GUID: or0NjK1GknwZapmkyTeBiqQV0g9_NOK9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX/W/iciyad9N4 KPKKVN+7wUa4yBNlxElDxivB96xgSsT7imom3aODKO+aqmwCJgGknTytLXFx90x1mPDCs7PEJb9 JRKhY/FYYy0TWvSs2Z5Q2DOBAJaFzXuJZFzLIb50AGoDFrAaanYhXBzOr8rsKXhGDfdjmLWkf1L 85QS355zTQqZZ5W7KRoK/VprTcXTxshOf8AmxehDvf/VOWwXn2wa3MwCkbDokvjgShSBOyHLcYQ iyze1dRJmJZQMeSJRo0KwWsIA7UvMzeVkui3CoS1th5JTt4NvcsfW7mUrRa6or9zgwan9NMxUP6 quyrVAmZImqW/8oi1ZOIZaFhjyMJhJwcO/2S9iGWDwCMlaT0eQw2rIILQoos8pXaoA9HxhBzMl3 q2+JhMPLO3+SFEjzVriHj3lKFJY+bsAIBIJwSNFIjBCFs7cPtOhKDXS8lpLAQjSTgugOBxmeXoM cynk8qb/NGSvXJAr0HA== X-Authority-Analysis: v=2.4 cv=G8CJgNk5 c=1 sm=1 tr=0 ts=6aa43a5e cx=c_pps a=FmVrivm6CVS+kYk2MGmjxQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=uXIjobp8t2wMuQ0fPvqm:22 a=8AirrxEcAAAA:8 a=gAnH3GRIAAAA:8 a=y_OmukUNvUlgtTeSwsgA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-ORIG-GUID: or0NjK1GknwZapmkyTeBiqQV0g9_NOK9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 spamscore=0 adultscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 impostorscore=0 phishscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 Advertise the supported bus widths through dma_bus_width_set_many() instead of assigning the legacy u32 masks directly. This keeps the driver using the new bitmap representation while preserving legacy fields during the transition. Reviewed-by: Frank Li Signed-off-by: Nuno S=C3=A1 --- drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 38 +++++++++++++++-------= ---- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/d= w-axi-dmac/dw-axi-dmac-platform.c index eebed2474210..ca0ab8dc5f59 100644 --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -33,20 +34,6 @@ #include "../dmaengine.h" #include "../virt-dma.h" =20 -/* - * The set of bus widths supported by the DMA controller. DW AXI DMAC supp= orts - * master data bus width up to 512 bits (for both AXI master interfaces), = but - * it depends on IP block configuration. - */ -#define AXI_DMA_BUSWIDTHS \ - (DMA_SLAVE_BUSWIDTH_1_BYTE | \ - DMA_SLAVE_BUSWIDTH_2_BYTES | \ - DMA_SLAVE_BUSWIDTH_4_BYTES | \ - DMA_SLAVE_BUSWIDTH_8_BYTES | \ - DMA_SLAVE_BUSWIDTH_16_BYTES | \ - DMA_SLAVE_BUSWIDTH_32_BYTES | \ - DMA_SLAVE_BUSWIDTH_64_BYTES) - #define AXI_DMA_FLAG_HAS_APB_REGS BIT(0) #define AXI_DMA_FLAG_HAS_RESETS BIT(1) #define AXI_DMA_FLAG_USE_CFG2 BIT(2) @@ -1482,6 +1469,20 @@ static int dw_probe(struct platform_device *pdev) unsigned int flags; u32 i; int ret; + /* + * The set of bus widths supported by the DMA controller. DW AXI DMAC + * supports master data bus width up to 512 bits (for both AXI master + * interfaces), but it depends on IP block configuration. + */ + enum dma_slave_buswidth buswidths[] =3D { + DMA_SLAVE_BUSWIDTH_1_BYTE, + DMA_SLAVE_BUSWIDTH_2_BYTES, + DMA_SLAVE_BUSWIDTH_4_BYTES, + DMA_SLAVE_BUSWIDTH_8_BYTES, + DMA_SLAVE_BUSWIDTH_16_BYTES, + DMA_SLAVE_BUSWIDTH_32_BYTES, + DMA_SLAVE_BUSWIDTH_64_BYTES, + }; =20 chip =3D devm_kzalloc(&pdev->dev, sizeof(*chip), GFP_KERNEL); if (!chip) @@ -1565,8 +1566,13 @@ static int dw_probe(struct platform_device *pdev) =20 /* DMA capabilities */ dw->dma.max_burst =3D hdata->axi_rw_burst_len; - dw->dma.src_addr_widths =3D AXI_DMA_BUSWIDTHS; - dw->dma.dst_addr_widths =3D AXI_DMA_BUSWIDTHS; + ret =3D dma_bus_width_set_many(dw->dma.src_bus_widths, buswidths, ARRAY_S= IZE(buswidths)); + if (ret) + return ret; + + ret =3D dma_bus_width_set_many(dw->dma.dst_bus_widths, buswidths, ARRAY_S= IZE(buswidths)); + if (ret) + return ret; dw->dma.directions =3D BIT(DMA_MEM_TO_MEM); dw->dma.directions |=3D BIT(DMA_MEM_TO_DEV) | BIT(DMA_DEV_TO_MEM); dw->dma.residue_granularity =3D DMA_RESIDUE_GRANULARITY_BURST; --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (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 107BC4A9D42; Fri, 11 Sep 2026 17:29:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.135.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147787; cv=fail; b=AHgxW61Azq4QAA+7EQdjXJjm3f/XE15h+Wkj5maBIU9crbjE2B1NFTOH5vkMz+19gqGT+SQ6TwqYGGgRsfLJD8hGDf9ZphUuvL1cWpSxYoMxa5DY/P4WOudWmZrHyEQHfs2r4La1umEK079kUT+bAkAN1XJ5uzk++nynQcP2O8w= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147787; c=relaxed/simple; bh=K9CJIv6gWqA4R9j+4edOp8Q8yJcduc93BBDhknJylU0=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=ZivTQodcpc5s15UFe1tRS+g1Uc88WLtqIVgXw2GpCZZ+ZoP98gdFYliqFZJgsbHU10V/QFu1kA1FIKdIvIg0pi5tc0VezQSzFe93j1rnzPk/SjOnBsr00eGGoOw7MkeUrOXaOx29T5P1yIHj4/Js/XFbDH+NAp2Gtvbyzh+YEQQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=Hvc9SdEk; arc=fail smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="Hvc9SdEk" Received: from pps.filterd (m0167089.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEjXL72377428; Fri, 11 Sep 2026 13:29:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=Myz5u ZX4bj8X/wWn/3wPxxcd8C7XpIn8Rc8c6djDTsE=; b=Hvc9SdEkvOkcplyvpj0SD xTLKmW+64En5OcY6CKPe5yyl9kLA7nC751A3WtCXeaG/3XeeV3AxWULt0D5mIygF Sb/BJ/KR2uBkbJ2krt63u+mK2oxLM/H6c8W8kzakP2IkQbBpofoWHYODPuP67v+Q iuTtuX4VM2z6cuAx/ll19nG8AnwbAx/vZGCUTNVSsNZSzL+Ua+KoPHbW1Fri7OWE pwp6bujSViomLh2sPbsCVoW1v9XOK8FXkpPsOvasyohHeZk3ppXmCVXr5kxz7WOb h4MomcRjXuLHnu6dLXov6SWc5dA6wEdCvLJNc7ijud7dH15VMcRM4s5pWiBcoemF g== Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010052.outbound.protection.outlook.com [52.101.193.52]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcxaj66y-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:29:07 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e5nyi74tjlAUcGuVKoTYRon6Moo9vlj0/RPc3PtlbPwKWWeZMU8/VTGbxy3VQYm6pyyD1W2br6UyMoi34Zb70cxS5nKkVItJXQiTNn/+IM9N4ZHs5kTn1gVVNTafXqTADIOOndFjGfMKCwKBkriOTTNwPRFw/uAvTmO69ssiujVtgje3AXVBRTkouHBa4AlWYRsek7KUzvs0njzGoDBXXFR1Of1JnvmfgLiMV1JxKfkDmvGrzdfYvQ28DsnJZn2R0saY29nuYVcWvODnR0Rvt74+f0KALBjIhdLEnT+S0FDMkUBUhdctTqpPuczmPleT36EMVSV6Xs5NI/5+Q6l3Xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Myz5uZX4bj8X/wWn/3wPxxcd8C7XpIn8Rc8c6djDTsE=; b=IoV8IEyFznQRCJf2TCWsbhN5ch1PZ8u7lB7ylAKKl/pdZFQtUgf/8w5xN0dT3TmUMyJTzJBvu+MNloNHgfuQ6MYcA6P9gn1edeB1w3H1fxCn0/KOWNtLwOoL199AcKsoSRwelhQ8i4dExUG6GsXN5kXpAcMF7y1IdlqkN8dXHH7+/tPoxJ8BcEFOSzFQdCPl5An64KFDBAX+5joryDQ8tn/7HVZ9WcQbdH+lB5yIp2CUUmOJ+U2YBYOvh9wskxyJESNGEsOHQlyFYV+db4iJzO7sQ8YC9VHv3KKQbtx8hvhxIb2Y7bpvKAlHHkeey4Uc2m+W0dVu2esJCNorLRFvwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by CH2PR03MB8027.namprd03.prod.outlook.com (2603:10b6:610:280::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:29:03 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:29:03 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:40 +0100 Subject: [PATCH v4 05/10] dmaengine: qcom: gpi: Use bus width capability helpers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-5-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=1660; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=K9CJIv6gWqA4R9j+4edOp8Q8yJcduc93BBDhknJylU0=; b=z5+O4fkf422lok7F0dm92cdN9JDhA7UyIbnX+9arjatUhj4Y8kE8V0wBLMNBIpT4+mxEknJ4e ebNSx4IDsfzCxTJAHJrshJXvdUE3X9yVAHadUrgAEaGohBdkaP4xzKY X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MR1P264CA0213.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:56::18) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|CH2PR03MB8027:EE_ X-MS-Office365-Filtering-Correlation-Id: 87262a7a-8c2b-4b4a-7134-08df102a2c3b X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|7416014|376014|366016|18002099003|22082099003|10067099003|56012099006|11063799006|6133799003; X-Microsoft-Antispam-Message-Info: B4jG6aFfxdjy+UYHpn6IX1OAQAHX/E4SOTC4KGliFoQPSCiSkgS9nexTkcjDTswqzhQPgKb6GN5vCm/x6In7RmnCLeR0lgYzN4g8nhklevTC5+Tv4RwIFaq5k7whEKSHJt07Zy44x+MOf3Z54u6UcOMzgoo5hjO+TrdC75vMY3nB6BNk15T7B73u2Bca2FT+p9aGHk6YsC7U7XN20UOaDoHPawMh/UirowpdWCVMKdyJGwkpUEL7aEmFy4YH8cgx0+5peDf313Vx9/fE8N91e2YFOZ+F1py5ccbxjcPWhbPLfOLXgwR0qJf8De0HK4b51blxyhc3YUz9ujWM6fESZ0HCfrJRzhHaRa8BIO4XWb1n3Z4PiMUKhJx3rWdICLIXlDDOwVJHLeBFgGdRdopeClmTbH8pGQticc4KA9uzFXeN23mDB3cHznqDoEEgSdASCnLI+h4ALjn9wLi6oP8nO2Z1wnt9PUoOTsWnRUsRZBWVqc2qa0+j1gbnrTwoFtmAFRM9W4kxTpOrTBbexCEPPBkt5ijW7N8xOTz9eeYE6yZxnS9Zv3vutAAh0UD54OAzOWvyjgIM0sYj/YervdL7sDG0h85XQ2zEYc/etKhvJdTIw41tg+50LJf5wdXrl3DGQNCWBPTNd4zjOCBVz7coffOwxHSGr/fSMxtXseiGmjU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(7416014)(376014)(366016)(18002099003)(22082099003)(10067099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VmVWWWVxN1o5RmJCYndtRlg4TFNXNXVUMjBzM21FNjN4YWlmWTNzT1MzYWhI?= =?utf-8?B?MzJCUjhrNEZJVi9tOUxLT2xBYlhqcWJpY3BBanFPNWVBa3BWZUlyMTRUZ1dW?= =?utf-8?B?QVZaTDZOcTB5UE1SNU92TGFCT2RvekhndE1SK2RSdzlubi94SUdRVGw2Wk5q?= =?utf-8?B?MFlqSXdsNDhudHRScTJhc3R6eWpBdWZWRGVQWWNTK0R1VzhXYnNHVGREL3Bk?= =?utf-8?B?cnJNeGsxdzRyRDFhSFJZMzEwWjNucEtNNDFuUXpzcDV5WUg2eXl0TXdoRTN0?= =?utf-8?B?V0NNd0VNRWNmaC9rWUgxMFpCWWV2QXROWW1jUzZLZm9qYUl0aWZHV2dXaENE?= =?utf-8?B?K04rNUt5ODM0SUVRaUlmQmtnY0hQa2NBZlp1OVdDdlRmYit6d1lkYythM09T?= =?utf-8?B?cTZsTmhRdWhNaVVuTXNVSklieGw4UDFzdGNyV25YbXFLOHpXc1VvNHI5ekpJ?= =?utf-8?B?ZkFSaEV5ODVNSms0K0t4TVVjanpXcXp5WDZzZUc2OWt0ZTErRyszNEh5K3Nk?= =?utf-8?B?S2V2U1BqalRWeEJUV1NCck12c2VFNnA3dlJoK2xUL1BtQXY2VjJwOHRvT01v?= =?utf-8?B?WG90N2RoYmtGc09SNTZ1VHpkVnBEL1NtVTUvdDlLakxvWEU4N3AyaWZpdllX?= =?utf-8?B?Q0ZnRnU1UXJIWFV4MzczTExZMVA4YlRIUG94cS8wSkVFWXVuMytZS0VhNGkv?= =?utf-8?B?TVdDUlhyY0ZHcjU3LzJyNUlidVBIRm5wQkhtVlZ1L0lnL01tUXMzSUcyS3dR?= =?utf-8?B?ZnlJNlVkRU53ai8ydVJKMWJsdHVpckppK1JLRzJwbEpDOExLbHV4ai9oU096?= =?utf-8?B?QkNHek1OdkZsZWJweWIyalI2eHdsMzUwaGdxTGNYUW94dFRCL29Sem5ZWmky?= =?utf-8?B?N016dnR1cWxoVFE5VXZBTDZTNzZaY004M1NrOTZvNkZkd1J5djgvTkRCMTIw?= =?utf-8?B?R0dwUXlUakZQd2gzNE9RemdqZlFTcGNDZ1pleXVGV05HVEllN283QXpLOEZo?= =?utf-8?B?RHM2OU5BWHZRWlBHcVFrVXVzYVZFWS95Wm1rTE4zZDlXVVpWRTJHK3pESDhk?= =?utf-8?B?dXQvci9odGMrNDA5TlpOczRGTG1DbUJib1lvbjBhSEJpQU4xb2ZtZmxnRDBk?= =?utf-8?B?MENtOFNvZXNyYjNDMzRhRjJJUTNBOVQ1V1ZGRVpJNkxTSDFwU0tJN2ZiMkVz?= =?utf-8?B?UXlUc2M3L3gxUEVpUlp0bFFWUzkyWmpxK2wxM29TVzFpbk5PZExLcHIzRVBp?= =?utf-8?B?Q2JBcEJHcW9NN2RwZEc0WmNtUzBRS0Q0UU1wMXljSHgvSFZyMGN4d1JQTFd5?= =?utf-8?B?MFNqR2YzeFgzZkFXeVpZZTJ5eHRrZGw0ekZLVkVwTFBCL1ZTQUxTS0pOSUo4?= =?utf-8?B?YkJWNWQvZUpWbVJNeHBtbmJBYlJEaDJNbDlzS3VxNytFWTV0WXlSbGRhSnJo?= =?utf-8?B?b2J4aU9wRnRwNDhVVkRpMHNuUS9xYmtXdi9qZXNoY1lRYzVIajBLOWlxU3ZG?= =?utf-8?B?NkZtaFNTVDcrZmQwcXVxMGoyZWMwQ1hVNEZHaXczZ2FCOFphMFJqYnd1ZVd0?= =?utf-8?B?Snh6VVFNeThFZEV1NzNWV2FnUGtxRW5hbDh3QzV0SXRWb3g1ZkNUUkV4V3V3?= =?utf-8?B?Nzd1ZzQ1WG1rZ0dlK1lJL08rRzdJR0g3YkswR2FZbnFVL21WOXJWU05LSURu?= =?utf-8?B?WGFmTVVuamp1ZlhzZWlaaHNETzV5aFdRRG8vWDFvQXEyZTdWRk5ibkpwamNL?= =?utf-8?B?SHluVDZsRjdYL1VDS3NjY3BqVzA5YW5qTHBsSTdENlVmNUg0TUFTRkZmN0E5?= =?utf-8?B?VUF2K2dWSXFBaHBtTWhLNG9xOFM1VWovSHpvSG4vTmFBNWtTQms2OTh0dDM4?= =?utf-8?B?djkxUVJnT3lnbElFSDI5RWV1RGloWWFqNCtpZG5hMXpjWUI2S3lpcEQ4YXda?= =?utf-8?B?eEMvZGJqdW1Yb2kvemU4WkM4aUVsUzlCcFZ6QmJnV28xQktHY2FxaisveGdq?= =?utf-8?B?azNaNW5XWlRkVjYwcjZhR1lUcXorV3pHYy90Z1ZvQXdFbDBwcEhqV0xrUzA4?= =?utf-8?B?YURMakhEWnlDc3RYbVBRQ2MzYW0zQlR0WVlnRW1UdGQyUGhUSFk0d1dQNXZp?= =?utf-8?B?MG1sUHdRcS84ajlseUx0UENzaTdINVlwNFgwOGw1VDJWSWJTNDl1K0NhQ2R6?= =?utf-8?B?aCtaUEh0VUNkbFZOWk1SVHY1c05EM25xSkVlaFJ1ZnNPWTRxb2RzR2hLeW05?= =?utf-8?B?MFBXLy9BTVBUNGo0Q2Z3UWZvUC9nSEtWYXp6dHZocjhxZzNtREhkdURSdG1a?= =?utf-8?B?WDZHczVqZGRiYWRFL3hZZVA0K0twaXhmUkFxSk9CazM0amFjNm5kZz09?= X-Exchange-RoutingPolicyChecked: QShNoSCOovg9fatbc3M4uhz2JgG8yOtFgMVfc8ni2DrEJVEUcftS6f7HbuVwhIvE3xbxwt3/BtVGIUxPt2OiIBZB+Q+Xg7UNHldOJv+pDLB1c5E3n20C76qVmOSEcLny056U8J3o1TP3xHEfP728ME8ESG6QHQyhBBKo3VldoJvkcYKm40M9gfui/J2U7T37ARU4Hj25ymQvm/lxsGyXbZ6q1p+olbUXpLDgSxYq6CAKcxRgrOEgkKPvZ6JYwRKna+W2o30CO6ctmJBBAZXUnK5h7C7KxDeaDN5kpNG5HfVfdaXc1F0xeyxNS0t9xhzWz4FPkrjOie7v+oRsbT/lwA== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: 87262a7a-8c2b-4b4a-7134-08df102a2c3b X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:29:03.0117 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UUBqo1mtqXAEymAL2V8xc/oRj+yBh2I50o079aHxmOOoQyc+W9qwxh4DOfqj0S8dNkrxobXsdpBFLPRUPJFV7Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8027 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfXyo+8uAk0AF+Z ghqtlMyKjmZx3dhPdmuv04wkgcK6TL08uL4Z1WArDwjySlZOrsilq8SlduiBta48LiK48RvJ4+7 +s3tOujBmcaGyPo53nsYulnccMvubXSt4zsvvmAyiJ9Y1fsZFa+O X-Authority-Analysis: v=2.4 cv=Ao17T+9P c=1 sm=1 tr=0 ts=6aa43a63 cx=c_pps a=N8fQrVaeAljVkTo8kKJ49A==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=Z0pTeXoby7EwIRygza74:22 a=8AirrxEcAAAA:8 a=gAnH3GRIAAAA:8 a=11eJKpf74FRv4loUduQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-GUID: Hh4BlkHbHMML-AHNt4Y56M-pDIOSfEDW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX2dB0FcES4yKo VvUMAEFyB8vHgosGeI3dT2ZJxwQXq3CkhDGvDTt1jwV7rLs8dU1xeXQsk6RCqzEZvlbOqO4tMqX gxIKpcu9NS7am9US05isJLUqF56sEeEvBJlkDlqswkKo0JktGiDw216TFd1kzUYZbGXigIzlLpA dbBHrDFDrq6DN2SR4z/P2zcYtvHKwwzYMQPtiSfU32HTtotKsIuz3mdhJhphb5kbjri8alfXETf NuLYCy6SF5knzn9XZIM7/yUzr2oyENI484OF57WeXX2DUIUL0sSqyBvTe9ndeTKIrFPxGvIvt9F Q+mSKxvRMBMUu8HC7S1sTJ0hmVo92tg67WvnC4tjEVultAgXcyfsf+mTn9mwwr5rj4Wnqt2kqg0 NF92lFftqe5cIORPHG9MY1u7Zy1JDuWFTpt2vxqDRLU8TdbfawHb4clGthq/o/rfTHsWxGp9eW9 BdmPNiVx52UOswKUcuQ== X-Proofpoint-ORIG-GUID: Hh4BlkHbHMML-AHNt4Y56M-pDIOSfEDW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 adultscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 Advertise the single supported source and destination bus width through the new dma_bus_width_set() helper instead of assigning the legacy u32 fields directly. Reviewed-by: Frank Li Signed-off-by: Nuno S=C3=A1 --- drivers/dma/qcom/gpi.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/dma/qcom/gpi.c b/drivers/dma/qcom/gpi.c index a5055a6273af..3a35bf4c3397 100644 --- a/drivers/dma/qcom/gpi.c +++ b/drivers/dma/qcom/gpi.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -2265,8 +2266,15 @@ static int gpi_probe(struct platform_device *pdev) /* configure dmaengine apis */ gpi_dev->dma_device.directions =3D BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_D= EV); gpi_dev->dma_device.residue_granularity =3D DMA_RESIDUE_GRANULARITY_DESCR= IPTOR; - gpi_dev->dma_device.src_addr_widths =3D DMA_SLAVE_BUSWIDTH_8_BYTES; - gpi_dev->dma_device.dst_addr_widths =3D DMA_SLAVE_BUSWIDTH_8_BYTES; + ret =3D dma_bus_width_set(gpi_dev->dma_device.src_bus_widths, + DMA_SLAVE_BUSWIDTH_8_BYTES); + if (ret) + return ret; + + ret =3D dma_bus_width_set(gpi_dev->dma_device.dst_bus_widths, + DMA_SLAVE_BUSWIDTH_8_BYTES); + if (ret) + return ret; gpi_dev->dma_device.device_alloc_chan_resources =3D gpi_alloc_chan_resour= ces; gpi_dev->dma_device.device_free_chan_resources =3D gpi_free_chan_resource= s; gpi_dev->dma_device.device_tx_status =3D dma_cookie_status; --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (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 01C444AA1FA; Fri, 11 Sep 2026 17:29:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.135.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147788; cv=fail; b=CbL7O8Dyo2p8iqHCarbOqsRyovVlJNYD+mN0O4cZDdO7g2lE3GdYT/2rcEdp7oxR8G6k/JrFCP2EdzBn9daauJi+MVnTUDKG16FTnXhnxm0886lzBAiTm5iK0oxknOOwdgU2xlBA1x2bXZTKeoFVUdVP/e7hCuSYFSpFaCo9vqM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147788; c=relaxed/simple; bh=C1suLkDVyeodvS8GGrnNEkOU7Luo06K7ULH4fxxDN1M=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=pShOemhZa0fcEpNBW39zg2+EBX+HbjK1qW5or+gnEMXI7OMDJD5V7s4sTLO1puGklNrX1co87/VC8AZa/oyMwuJaNP0nUZy29SWtEvWyCviJ8yRKSY70Zwf4Fa74484nDLCIqP3MQs32EWM8+NoLs2V4v1dV4p2eHbaENDaG/CE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=R1MyhUEe; arc=fail smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="R1MyhUEe" Received: from pps.filterd (m0167089.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEjjDA2377849; Fri, 11 Sep 2026 13:29:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=/SewG vFrNnAacopnfB9NH4PMqMLk/0SSFZqobVAZwoQ=; b=R1MyhUEe6DSmVO5Y5bGmL hUb3Us+lqA0y5oM/0UI7X6UQoiIAsihTeLDXIs1GQPwSubPi3gIsMoOf1WNE4+lg q4l6ks04dDwuK70RUodEGkSSbtmCtYzPRGfCJ7FjTBvftB0SaILx8wo+tllZpPW+ P/u19/N9KjjDoe3YfKtW7HFSO7KP9oIZCZiEvPrrWXogN86CGuoNNVhl8Avq4t69 7IhAjvm7gwtjlED1Yo5zVT5juRECX7tIkrPT28zEDsuOyVGlLN/qh43rGjOm+JkC crIn3jECEn8t4a3qKTN4s/H6NCWFObTSxchatsGioQcPBMwONQgOiRj+cbofhzmG A== Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011032.outbound.protection.outlook.com [52.101.52.32]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcxaj671-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:29:09 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WO5XsUWsprhX2Rz48FSnKH1DK1FPfVR6Vjplg0+4Z7/K/BPdshEcEp69LQRNuO+X1DWjXxujsCRNaF0oTf5NCKeKh3XA2LUmRhyDrWk2UeAHSmgDm1kTdUiO6MW/thkeM78gXnoPw1x7Ov5u4SB4OCwzDQY4MvLHpPZi4oSZEsnMW7LhfFWCQG6tLuVD15StoSBG3kIJj1TV7iGCBdOhoae2x+RiIBiTmVE+vYpBSOdWyxsdruGzQJvhS0uPfkQXJB72CmfvM4kAJwBQX4JdCk7of2G0YPnVtiZdNNPbl0JodVwVT/nem98eR3aZfVB1pS3TqDm/gS8tov1DKrA8pQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=/SewGvFrNnAacopnfB9NH4PMqMLk/0SSFZqobVAZwoQ=; b=N6GVb6vXSTAW70FCEFkA/TbEa+iXaEYdlVT4+jwAjmkZsqKweVD3J0ogoeyMD5WtzFkF7IJ3l/makRv+ZLZFeTX5PPaXtrnufYsQcePxvv99Q2HahBVAZs4tHOWALFiHjqhWC8QmK24GxgVI1Ica525foz8j0fZyM8Cm/oaMapA7+P3MUwSuCtVTmaepEemOsSddNpDpNTHu/erK+CtqTfXAYEdKjK8ZdSz1wHJgKdXdpSlMionFdkGBLjFJJIELENlWqsbNK2yd7yB3qYYc2NTws0Vn7HNIWqcnxh9e34cLyh5G+Uvr+1F/Z0zOpitfgs8btrDtj/uxKtsojJ5Umg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by LV2PR03MB293829.namprd03.prod.outlook.com (2603:10b6:408:3af::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:29:07 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:29:07 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:41 +0100 Subject: [PATCH v4 06/10] dmaengine: stm32-dma3: Use bus width capability helpers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-6-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=3976; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=C1suLkDVyeodvS8GGrnNEkOU7Luo06K7ULH4fxxDN1M=; b=ys9gr9XoZsyh4wl6f18XPUIcBk7bi0M9TwglApHZ6ZZtAnpKc1F1sTit5pDePPlMcrXgo8W5Z VS2TslpDx5jDxQjM9oSCJ5U2ASV9HphViw3Uw03aiIr+vox8bQ7KgTw X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MR1P264CA0098.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:50::8) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|LV2PR03MB293829:EE_ X-MS-Office365-Filtering-Correlation-Id: d326c553-2518-4e6c-3fe5-08df102a2ee0 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|7416014|10067099003|6133799003|22082099003|18002099003|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: YHHfl85BqoBfJzcwbs/+I9+MLWBUKsbt7DFulK7IP4BuUGitKgVO1HXV374uhwk3GHMI444H4iB/q74ypoREQp5iiquLFzwt6+OZwMltF0CFKTQyvF56NBbzjucRqycXv5ANGX//3HQHeW7A/lpCgptlUZJHJ91CCO6tNZmRdQfYxjijnslNf6w1urB7wykSfXAdT+ew7ouGpWMIEOD9mIE9gc6rtXANWz0EpqBPeV+1FT32r71nrcdi6wVyiDpGtE4udxz0VES7ietqa1kTmIc6jOxX9mCrje1OFmlrhfnOnZ6qvelnCoQv82uH2wSiZoOH6xctMiYtY1S15RlOZoiwa93Ci0wRFrfxDOU4ycjItkMeC1LDKuWsaM57cWPKvaVFWC5IGzkI07PZnLF8sklpo6usZEyqniWHbTpN7Mfop/Vk/7IDBxFt49UX5UkfTkGv2RnMjFr2ksyN7lXLsKENZjgxycZ7dxOif/QTrNQzvWkYOo2t9ACsqPDC8TATZ0XVRcCZXTBIndrkCsJWuOt4qqgRDzm4RGhH89z8pyK26HGvna9C0FCSwn9Gc5BSzSr0yS3PvwwdwmzN+FdN4eLkhNrK8QZhIFDMBuAfxjTmZL1IRcVaa2hd3zs9kkx1XY7cCY+cxwQ8+hXE3CEl1cfb+G6KmtAKKezRjPOr5Y8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(7416014)(10067099003)(6133799003)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YmFiL3V4UkJvTUo0dy8wVEJUYmVRZ3dwaThndENsVUJTTHB5YjF5N000THdO?= =?utf-8?B?V2s1ZStocUh6YWRkSXhBK24xd3dJRGR2akdKTGMvNDdZODJ0M0NtdjY3WVhw?= =?utf-8?B?a0dTQnRneGlQVHZqUWdla1RPUHg4WWJxT1g1T0x3d3o3Z0NGSWdpektiTlVn?= =?utf-8?B?aWUyWUxVT2RjUDUwZGlIaU80TmlJTGd4RWFFaERvd1A5M21JWndLQUtOQlBE?= =?utf-8?B?YXltWUU1Z1l2WTkrTjRxYnZrb21OM0VBeDdnRXExTG5QSkNGdDc2NnZHS0JM?= =?utf-8?B?VWVKRVBVWWRtMHBzNitOL083MzFxd1d6NFZSallUc0NEblNOM0svVk1mMGc3?= =?utf-8?B?M21hcTlwNGpUQmhmcFFabkxUS3hra3hIOGdJczhkQnRBbEN0V1NnYnV2cnZl?= =?utf-8?B?djl0NHVBa2lia3dscDlMZjE3WmtzVFhWbVNzWjNiMnFRdnIvblp2VDQxOU00?= =?utf-8?B?NlhrZHFyTlVrT3A4cXUwMnpqZW92dXdvNGpxMjZYWXplS3Vzcm1GVjljM1o1?= =?utf-8?B?SkRwUzZaNjBpN3dqYit0RzhvUkg5MGxvNDRCVGNjYzZhMzhuVFJOZUtvWXRH?= =?utf-8?B?NDBMYXZHZEExbkljTlJmc3hycGVrdjI1enY4cVdrbTZDNk8ySURKN0RiRW0z?= =?utf-8?B?LzR1Z1dVcDFnblVFR0FkRnFPUTRJSFUrTTRJejVsbUtQL3hjTnBxQ3U5eENw?= =?utf-8?B?WGtkNWNuMW9lSFM2dTc0RjhFZEdvREJIeXFzVUhqWVgrb050d3NBNEVla0xa?= =?utf-8?B?b05nVlRLR1dFblo2dG9uSklJSGs5eEhvS1pId1RtcFRUUXhmRVZXT3pXQ3hu?= =?utf-8?B?ZFNDTmJBVUticFBoQmNIekRjVjMxd2p6VHhDV1I3SWVkTTBRbXU5ODZoeWUv?= =?utf-8?B?VkJpVTBNaVpPTFdsYkRUeTRaUkdtNnRMWjdYQ0QwYklzM2tJd2YyZ3gyWlRz?= =?utf-8?B?TitlL05lbkNJYlBwTXVQV1hldXd0ZDNYU29rWHZZQ3pnL2ZLNkRocWRENkpj?= =?utf-8?B?czJKVjRHYkV1d0VRaExDaWx5NldRQURvZlg0REhLMVN2WlBXZXNHZ3BkMk54?= =?utf-8?B?UUdWWlA3TlN6KzhHQUdkbzlWWGZacEZFRHd5emhLdktZb2JzZG0zUmxuOU5L?= =?utf-8?B?cldGRTU3NEN3SlFEbGZhaVVWbGREeHQ3OVczNGZSWmFlQ1NpM3I2cW0yUmRO?= =?utf-8?B?M0x0cmlvWDI2d0J0NVpxQ2YzZmlEdDg1VDhiaE1SVFJSMUkyYTAwRlBxRzZv?= =?utf-8?B?VEhuUVh1TEVZOVNkb2oxZmpXUlJFUEhWVy9FUXFUVjNIVkd3VGI2R1MwaXlU?= =?utf-8?B?bEU3TUdlekFYR3N2WEdYbENoUHQ1aEw0dXl5N3RxcGVPZ1lpL1Myc2lQVUV0?= =?utf-8?B?cUxsVFRxQnYwNEl1ZzkveXNaekQvZzdveUFiRVhpbEw0bENQZ1dybWNZRDBU?= =?utf-8?B?Ly9jeFZHREZpS1dJamcrS0hIY1JmL0Q2aEZBOXNSU0VhRWxFaDFsMVJlSktF?= =?utf-8?B?L0M2U0F2Q09vUUdWRDFyV0p6ZFBhN1g3Q0hYR1BoZkdzVHk5aWNMdXJheStu?= =?utf-8?B?SmV5aTI4OVl5TmFPVTI2emI2OER0K2dNY2xWTnkrMGpyZk9JTnVGTDhEckxx?= =?utf-8?B?WFZFUlBWQXF4bUNyb3dldkMrbVR5a0E5MlVuTzcvckt5aXBINkxneFd0ZEw2?= =?utf-8?B?Q0xmeHRSSzd2a1Z5NkNCeWRENWQxRWZub2ErRzdoWVFpYlJtZkRTOXJ3b3Nt?= =?utf-8?B?cU5icDVUSTNJbktuUjhhdlBDWWt2VDhUQWtpSGl3VDdnL1RrU3RTTHRodDlB?= =?utf-8?B?NVJtd3AxNmtlZzdCNmh1T093b1JtemlmRVVmeUt5WUphdTB6dkcvSysxS3V5?= =?utf-8?B?OUlBdjY1TnlabmRtblhKaWtCbVBmR09NMHUzRXZOUStLU05WV1FLTWFUeHRu?= =?utf-8?B?dTdkMGlndExPQ1RvNWxYV1h5clAvOFY5M2hzTVhNTHpCQ2gzZXZpaGlnYmpw?= =?utf-8?B?bnk2RXB6QnNYUlhEOHEzQmZoa2c3TXlVd1NzZVFjMGpnVkYyWUZ4LzF4OUlj?= =?utf-8?B?N0Vxby9TNnZTUXVHRWdlT0hFMGN3a2xVbXRmZmlaTHVDcnBLbjhCUTJ2a25K?= =?utf-8?B?aERkbmcrTFNlUFYxMVJKR2VDd09NbkdmZnhSYzRzNm1GRUF4MWVsdVdhbHN1?= =?utf-8?B?NXhocEVRMUxKalJOUjBWWWIveXNSRVN4dGw4enZ5cFFnOWJwNmVaT0l5aUlT?= =?utf-8?B?dHFuQUlxbUREaUVLRE9VYk55TUcrbnZ5VDZjREE3QXJHQi9LVnpEdnU4ZGJx?= =?utf-8?B?K1AwN1VDYVlGMWowR3ZlYXVSUWFpbm55eWRXV3dLcjV3R3lJWWQ5QT09?= X-Exchange-RoutingPolicyChecked: qv8zM/+58QKaBRpIlL28XiGBbVKFiRmJsKqvrZ+S8WmB3kQjsY0ZyAJIcMo+bvFi/Ay1aGcbfUi8mX9Er250iX5ron1HDfWOjHDwP84kL8ZpuipEbX6Qk6PszuajYOZ+/+1+7h3sDNkiDUpcbTvKV117H3BQT2ojVf4pUQdOK3VBIkjY5LEsgVcNJ6wskVC5dBRgoxsyagYPUHk3wExV9Mgq6NW4HzzzD/nd0/8QiViVxFLRrBLenQyT8uzupdwEl40tqkhWDzjmS0jXSJ2DBbRNRBd8WoSyJQYJclmH2WVQ+4730MQd1rI03pStdxlSv5ow5iwaV85m0sOrfRjIXQ== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: d326c553-2518-4e6c-3fe5-08df102a2ee0 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:29:07.2834 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GTPNY/R8tY5Ml76ElUzxum1GwIdPUy4i+IEf9dly9Xykb9NQ0qEUYuZg07Y79GddakjaCkiLoMd3SMrz+VL5Jw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR03MB293829 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfXymD8Ipi1bB4T eE/9K+NK0yklIZZCki9YHOo0xLoQrh6x0Xunwq2patyWgjVKgBBX5bRHKs8l1Sp0cZ5oETtTdHQ jMaZ6spY8V3XiVgbSSNE6EJlJtTNC0wizX4yeizzlF+DrANzmb69 X-Authority-Analysis: v=2.4 cv=Ao17T+9P c=1 sm=1 tr=0 ts=6aa43a66 cx=c_pps a=vMZ8N8iCC09X6dpNzQs02g==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=Z0pTeXoby7EwIRygza74:22 a=8AirrxEcAAAA:8 a=8b9GpE9nAAAA:8 a=gAnH3GRIAAAA:8 a=hoLHniV83FUdLTyWGJsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 a=T3LWEMljR5ZiDmsYVIUa:22 X-Proofpoint-GUID: hIdthm0y_x3Tqdw4BvHMYkX3unLWsPam X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX5IDmP66s1Ahs GCLtway7qRyqMv6UseX8zkVoBprO73zn8HsUqlEfs7msJ4nhpXCSyPH2WUyUQmysgZ+kQxMZbB6 +4QJm1hMoeR56Vkg85QzTxf7G6yvdd+9mGd8byTdfaB5njOikZw3Vv/3eJoowFAECaHAlrKOeCB eu7ckSTbsouOiY5I95qHT8i2LHHws172aCbNw5FTqCBaD4E52npGrh7qaPWSQo7mgXyYPD4rgwh 52OR3JoCbdZA1LL3U7nLMZWmLBK3V/8/tNPon7+kvAHNRWqdvyseK0snvS3X44IwjEMaPu8DOxQ abn89be3raoTexkAL1PjRKf3+dzlxS9nPPr6CWXatCR4vJwz0gvtp0h9WUPiM5AVgBQHmTyk8Hj mmXY6nvTDZ/oa+x/IRgzBtOGFsLjyP5iko8GHksxaH71c/AnfVkniAnGmmJw4KBkjGV6Q1CHjcE wCvpIlW6hKDg2XzGKXQ== X-Proofpoint-ORIG-GUID: hIdthm0y_x3Tqdw4BvHMYkX3unLWsPam X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 spamscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 adultscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 Advertise the controller-wide bus width capabilities through the new dma_bus_width_set_many() helper and clear the per-channel unsupported widths through dma_bus_width_clear(). While at it, validate the requested transfer bus widths against the new capability mask instead of the legacy u32 one, so the driver does not depend on the legacy field anymore. Reviewed-by: Frank Li Reviewed-by: Amelie Delaunay Signed-off-by: Nuno S=C3=A1 --- drivers/dma/stm32/stm32-dma3.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/drivers/dma/stm32/stm32-dma3.c b/drivers/dma/stm32/stm32-dma3.c index 4724e7fa0008..0689aeb7cff5 100644 --- a/drivers/dma/stm32/stm32-dma3.c +++ b/drivers/dma/stm32/stm32-dma3.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -588,7 +589,8 @@ static int stm32_dma3_chan_prep_hw(struct stm32_dma3_ch= an *chan, enum dma_transf dbl_max =3D chan->dma_config.dst_maxburst ? : 1; =20 /* Following conditions would raise User Setting Error interrupt */ - if (!(dma_device.src_addr_widths & BIT(sdw)) || !(dma_device.dst_addr_wid= ths & BIT(ddw))) { + if (!dma_bus_width_test(dma_device.src_bus_widths, sdw) || + !dma_bus_width_test(dma_device.dst_bus_widths, ddw)) { dev_err(chan2dev(chan), "Bus width (src=3D%u, dst=3D%u) not supported\n"= , sdw, ddw); return -EINVAL; } @@ -1469,14 +1471,14 @@ static void stm32_dma3_caps(struct dma_chan *c, str= uct dma_slave_caps *caps) =20 if (!chan->fifo_size) { caps->max_burst =3D 0; - caps->src_addr_widths &=3D ~BIT(DMA_SLAVE_BUSWIDTH_8_BYTES); - caps->dst_addr_widths &=3D ~BIT(DMA_SLAVE_BUSWIDTH_8_BYTES); + dma_bus_width_clear(caps->src_bus_widths, DMA_SLAVE_BUSWIDTH_8_BYTES); + dma_bus_width_clear(caps->dst_bus_widths, DMA_SLAVE_BUSWIDTH_8_BYTES); } else { /* Burst transfer should not exceed half of the fifo size */ caps->max_burst =3D chan->max_burst; if (caps->max_burst < DMA_SLAVE_BUSWIDTH_8_BYTES) { - caps->src_addr_widths &=3D ~BIT(DMA_SLAVE_BUSWIDTH_8_BYTES); - caps->dst_addr_widths &=3D ~BIT(DMA_SLAVE_BUSWIDTH_8_BYTES); + dma_bus_width_clear(caps->src_bus_widths, DMA_SLAVE_BUSWIDTH_8_BYTES); + dma_bus_width_clear(caps->dst_bus_widths, DMA_SLAVE_BUSWIDTH_8_BYTES); } } } @@ -1734,6 +1736,12 @@ static int stm32_dma3_probe(struct platform_device *= pdev) struct reset_control *reset; struct stm32_dma3_chan *chan; struct dma_device *dma_dev; + enum dma_slave_buswidth buswidths[] =3D { + DMA_SLAVE_BUSWIDTH_1_BYTE, + DMA_SLAVE_BUSWIDTH_2_BYTES, + DMA_SLAVE_BUSWIDTH_4_BYTES, + DMA_SLAVE_BUSWIDTH_8_BYTES, + }; u32 master_ports, chan_reserved, i, verr; u64 hwcfgr; int ret; @@ -1775,14 +1783,14 @@ static int stm32_dma3_probe(struct platform_device = *pdev) * channel, and can only access address at even boundaries, multiple of t= he buswidth. */ dma_dev->copy_align =3D DMAENGINE_ALIGN_8_BYTES; - dma_dev->src_addr_widths =3D BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) | - BIT(DMA_SLAVE_BUSWIDTH_2_BYTES) | - BIT(DMA_SLAVE_BUSWIDTH_4_BYTES) | - BIT(DMA_SLAVE_BUSWIDTH_8_BYTES); - dma_dev->dst_addr_widths =3D BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) | - BIT(DMA_SLAVE_BUSWIDTH_2_BYTES) | - BIT(DMA_SLAVE_BUSWIDTH_4_BYTES) | - BIT(DMA_SLAVE_BUSWIDTH_8_BYTES); + ret =3D dma_bus_width_set_many(dma_dev->src_bus_widths, buswidths, ARRAY_= SIZE(buswidths)); + if (ret) + goto err_clk_disable; + + ret =3D dma_bus_width_set_many(dma_dev->dst_bus_widths, buswidths, ARRAY_= SIZE(buswidths)); + if (ret) + goto err_clk_disable; + dma_dev->directions =3D BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV) | BIT(D= MA_MEM_TO_MEM); =20 dma_dev->descriptor_reuse =3D true; --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0b-00128a01.pphosted.com (mx0b-00128a01.pphosted.com [148.163.139.77]) (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 1C7E33E0C4F; Fri, 11 Sep 2026 17:31:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.139.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147888; cv=fail; b=hwoGCS2HS/zvhb5MMx7TCrPsmWz+pwLxrxgSpQA7zDVia1gT360UoVf0iXJRxcFRRwE6sc/2kslsGb23XRBX7mXNvM3I1K0FHNVmMZ3uH+b7sC78nBgQrMw183hzy4SAgCURBqk5SRaYMWIBEH9lMZg8n4NcINd5+q39rLTyAGs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147888; c=relaxed/simple; bh=9s2xSKUmjvpnSiCLGiGlOkijdsG0TcrAchxhIjBwN9M=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=PUiHBLIaVKoKCB6cDE3n42zykDoCqIpTZ1NeMzqGXEVisjw+QTAPwaekWEJCBA2jOlXYqhPMf++xj0akd+ZyVtOWr2f1OhmkrKL3ppv/yKuuEvUjmCPiXcl6TQGJTVaN/PTU9mJI0wybta3DAk2vAzNhbjv5inGb21d23wTh3AY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=Tp3MkZJp; arc=fail smtp.client-ip=148.163.139.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="Tp3MkZJp" Received: from pps.filterd (m0375854.ppops.net [127.0.0.1]) by mx0b-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEir203945920; Fri, 11 Sep 2026 13:29:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=1MG6n wmrIdRIkADIv0DMlHSkRz46fNZ1RRkqgfB15rU=; b=Tp3MkZJpCwm9XlYLfBFlc erDy5U5d1uya2ulFn6u8FZup1ePFSJc5cOW/5+91iLZOsQUVJjmgT5ei9RmfqZkW ZYL3RxpJeK4TWl1Kr2X4RtGaL/jrPluyXh4upuVcvn8kh9s1Z8Di9IwDjW5uuBT+ WJp547+HvIHj3M5i5KlooOAhawGfeq3f7yBafJF4q+jq7nOuQj/yfP5L9Wu8Chcg 5XojiRtpNrj34hCjCMQoldJRjinWI87tjmHrpFoTExz94LfnGTo+C1Q6sZL17e7A rMbHTx5FHh2QhgwP2vjX5ZBXqULROtGwRuZqXerVMCyrmGeIKYGCdU3A/EHyjYeY w== Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11011056.outbound.protection.outlook.com [52.101.52.56]) by mx0b-00128a01.pphosted.com (PPS) with ESMTPS id 4gmeeg9j7a-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:29:13 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ulGKGqJj9jYlD4gWFBet3AXQOaUSAuV2StfKNmt5x2xSND7TqWfUI+L55QNfMmqBFMTz7FEy6oyq5zNrXvql7myIesRaPl2ufPjp39oO44xI3cVv7R3rsq0BG3QdFdLF1rNzuc8GOuRjA4fDPWMO0pfFaIFvjZRIWGcjEl81En2LGlswp3dy/mB+1wuaAyWEl3uRQrNA5nqj0e2PfxSQhOz4QU4SI6PZruZrBPr1K+JLj+ucvJUjWil/BbXQ8XqZkxsLZwVLuG1lV+RIURIJEfGaZQSg2n7mJMb4JT3U+0pe8ldQWhzGEhtT0mmYSCmPfEf8rd4E8JaqrVOQqmjuYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=1MG6nwmrIdRIkADIv0DMlHSkRz46fNZ1RRkqgfB15rU=; b=HNrbzZgYZyHkjgi0ifGy69TT9YCzo/ATrFst0031eImKDtSgmE4jvJHcAyC5dgB0n5x2zHjNK6mM7r9G577AE4nlkJam9EnD+7oSVB+LpHN0x0FkaUZc+AWRt7qFqzkDxsnjBgNVow8BWlFiD+U1BDkuTvK7DW6E7B/qMdJPHglfMfIiU/EqxE7b3crgNhdQQIH/FvtB0N5nqRzVsOPPWo72k9sVTCRYJHSJiMOeyvqojF3xLas9X3wdypL4y/Uq5l0oMu0K18d7N7AYzuoEzeSgCCSTyjm8CjB/vl79TkIEbXyyegfR1DrA+9/qHy7RTAV3DUxMM23pPse72NoaqA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by LV2PR03MB293829.namprd03.prod.outlook.com (2603:10b6:408:3af::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:29:10 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:29:10 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:42 +0100 Subject: [PATCH v4 07/10] iio: buffer-dmaengine: Use dma_slave_caps bus width accessors Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-7-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li , Jonathan Cameron X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=1872; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=9s2xSKUmjvpnSiCLGiGlOkijdsG0TcrAchxhIjBwN9M=; b=Ss4aIRFpKgkCpNjuTcmF927RcE07VdD2D5Ds4Gj+R68sYWqPYRnU413WoW4KHJeW3VxCa318U Q6nov5CsQEpCKu+Kk/WzwwFQX5Lhm0CnSFvpIFSrwfXIKJhsH80buF4 X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MR1P264CA0213.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:56::18) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|LV2PR03MB293829:EE_ X-MS-Office365-Filtering-Correlation-Id: 421faddb-c584-476d-a0c1-08df102a3100 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|366016|376014|7416014|10067099003|22082099003|18002099003|56012099006|11063799006; X-Microsoft-Antispam-Message-Info: E0G8MBatbaEIeAZaprCIYoZbaz9bzRyvY/AygUBa8WvavPJlAMjammU14VSIILbPgQUHTK5xMt2cyPioWKKPOLsKf5DTI07lZuXLL9YtVuZMdVvvESSGwYm0ASelQXx2KTXblYxS/WqepLA4NFZ+szLBn0cpjyH/eca0wpnzd6I3+ie31r/UcLrA7WFehZ5g2IWayTMSDCXSXN+62KgQn96oRvibAqCUTf91TGpkYXNoR2sgVNjKjBebhoumlbBvSuqKkBbjw0fZPJQpgnuNkxysQo/bnGLAl7celsJxziQ/bPAotl+xGg0ztI93bTYBIeTsJB/54/7BIrwED/hmtQlaqYaV3k4rTJon+F2P3cRESdwbis3ibWouPX5aDXdICziq89xzH8tZSHN2/bomB6quomrNLhPFeIvdjvdm7kxBsiGzJZMBdaj9gh5CD3kMIgG7P1D6mVlU3NkEdlR/gEtfHaeO56JpECfBiN//dxWCMD8Vsy3ZBDz9S5IFGi91WLthErfRAlaFXvjaAJaNlKXLiPE4eAhmtZpvSFNPc2mA8ud+9EQBzPlu0XQ9TUPACclNizvoNLdJHeSXidtK7jK2ZFxE6sWxQSmaFFip964QkfAIEPy9wWYWECHhuxVpM1wyDnRuvKQ75R8XsjmCa7FQAsDvy+LahLiUpj5OGeg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(366016)(376014)(7416014)(10067099003)(22082099003)(18002099003)(56012099006)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZFZiK2N5dWpqY2FVcVllcTlCeXFxd2xCUVU0VHZXcTFJdVBUblBIWUVrRmpy?= =?utf-8?B?bmVDQ1kzMHNBRCtBSGlIQlBub2NsSUtzTDJrOGZCQzZ0SldIQzU0LzdkUVVS?= =?utf-8?B?M2lpTUsxTTdwL3hyajNrUXhvbXVMUzFFMzRKV2JXamRpNDNsL1J2ekxIZW5t?= =?utf-8?B?T1krTFRsYjJoVE1iU1pSSE9oSFRsWFRKRGJVZWRlSEZLVXFDeDdKNmFERkw5?= =?utf-8?B?bTYyYWZOZHpFaHNURlNjOXl6dzdQbUdIUktNWUZVQmdRVk9zeWNiZEQrUVdq?= =?utf-8?B?QnZmamc2MlRCbzJIRGtQRG01b0dnTXhGdXFscVFRUUpUUEtrZEMwaE5iWTlw?= =?utf-8?B?V1p1RUY2bS9HRU5ZQi9GMGxkVG5tOGpYRS9tWjI0UUFQb3VlcXlOR1BGUTBT?= =?utf-8?B?WUI0Q2IxekUzZkl1QTNweVZTcUpXc2ZncWs2dHlqQ0FpSlFxME44SWd6WVVZ?= =?utf-8?B?a0NkWjIxRDA5ZFpBTHdabitTSEJyT1RUa2dETG5CYkdlL3BvSUhrSGt5Z094?= =?utf-8?B?V1pWUVB4UWdMOVBXMzBUMm1ZZGFTSVlVYUlIcEwyL3MyVGg3c2x5U2dqZXVE?= =?utf-8?B?aVpsU1IrUUJwaTVrNHJCMXZwdjFLTWM0Q3VoWjBQUHhVT3NGVVdjTE0wVlZB?= =?utf-8?B?aVVuampvMVcxaEl2UjcrNXR1U1NyM0pML2tzWGYvbHdyaFQySmhwSHcxYlhl?= =?utf-8?B?cHFmOTRjU1EwakVnQnJ0Y0phL1RjYXZGS1ZoN3V3QVExZS90REJqdHdnK2tr?= =?utf-8?B?dmZPaC8yOW93dndCRnkvWHJ4TVYzQ2NtYlNPUzE5TU5CRUVrRUlqdnE0aUlR?= =?utf-8?B?am9VcTRnckdEUGlpWmsyS2JPVEZaWVE4LzhGUlNXM3BtdVZxK3FHYk42N1Zy?= =?utf-8?B?WjVTK2lEeXY3aVg3ZXlwNW1CWXMrcHJFNzBZeUU4SzJTTVVNNlBHa2YvZUZZ?= =?utf-8?B?RGhFV0R0TlQyYW9Ga292WEd4NEt6NWRkN05BTXlVbEFyYS9VKzVDOGJFcEdT?= =?utf-8?B?aENFb0pCbStIelU1N0lodGx2dmlUQ1hqNWg3TlY0U2pQU1ROUGZqVUgyR1k3?= =?utf-8?B?b1NVbU5yZ3ZtUUdTOTVETjBIYTB4eTVWdGw0WkNjU0xRUkxGQWI5NW5TTUk1?= =?utf-8?B?NjBFaVdPQmFiWUgreFppSlRoZGNUb3NzQmp3NUg1UnpwK083Y2w2dTZDODVK?= =?utf-8?B?VHB1WGZKbi9kQkw1MmdRa25GcjF0TGlvazJQQXhIM1dnNGFHRWJNMVhpaFZi?= =?utf-8?B?ajRTdit5V09Ja0ZzdW93TkZCc2NnMERDbFlxRnljVXlXVnVFaHBKTlVmTWtm?= =?utf-8?B?OWZlVjFWL0E3eFduUTQrNUZoNDhsMkllVkhyMzRySktBcEZCREdJOUhYRm5F?= =?utf-8?B?MFdXcVJNb1FyTlliUWRMWDdqdGdFQTMxbVcyZS9nOFlOa3BwdGhqRVArZWJr?= =?utf-8?B?czJ2S21uZkg2ZnRvYWVvMkpZQXBjUThRdWl4TFJsRnRzUkxqaXR3WG4yZU5t?= =?utf-8?B?TFBuNE00cFF5VzA3OEU0bEZKbm5UZy9tRU5CNGNqZTJXbGNlSHR0cmppQlY3?= =?utf-8?B?NEtZcUx1UlhPdVNUeUovUlQ0QUtiU3JpSU1TaDlCSnBBV1h5ZElSSVZSZ1dx?= =?utf-8?B?V0d2MnUvQUZNUUJJSkwxckt0ZEsrTVZKbVZYNTVPNW13MDZwaWlxbmJzcEp2?= =?utf-8?B?b1lwZUZNYmNsMGRDNysvemJIanVuZWpIa1ZmRGZFbjRBS2RwUmhCb3l2T3NN?= =?utf-8?B?Nmp5VG0vTTBaTUUrWVdyVzM4Y3paU1JiMUsvL2xLcXJtcWIwZzNPRG12ZitO?= =?utf-8?B?M0piS0hLNkYxMlVLVUFVWCt6RzJkaXAzWFVEVXdaK210UVhkRE96VGI3K3V6?= =?utf-8?B?bEJpUUthblpBbUVHSHNGSkFJYkdvZWsxemlvclpoWkh5NDBGcmpmS01ZSThi?= =?utf-8?B?bStham52WEpKWEZxRll6c2JYdjJuMWluaVlCbGg2bVFJMTdQbDlRaDhzSGVS?= =?utf-8?B?ZVJIZmFtdjRkYjNBbkdvYXErZk1IWHdZK1JvNWpVUEp3QnIvTzlXVVBnWmJz?= =?utf-8?B?aDFXL2dDZXJXN0JaQVB2NVFNWTUwWGsyS3hvVU1LZXN1VGQxeDVsK2xhZHN6?= =?utf-8?B?dk1YdDBoUVY2UkFhSVIyc3RpVEFJQ2NwaFNXSnhQWXVSNnF1Ukh6R0tTR0Mz?= =?utf-8?B?VWI5QTA1aWc3c1o3czByWk1sYU12VHZFcFhmUzlsSjhXaW4vbW1JU2lQNlBZ?= =?utf-8?B?YnRFbjRJRWxNUlQvK3BlQW1vMzExYmNoOTNITE5OSGpFL3E0dkRvVHQ4OWhI?= =?utf-8?B?cDFvT0pyY3owQWlCSzNqb3hrZ2Q1UzRDeFU5SVVtUkcwMmdUQ0YvZz09?= X-Exchange-RoutingPolicyChecked: GU3eXdhPBAjWJoiekMnP02lQJvxXQpODCUkKk2iaq+c0G+a+r6h1MxpPtoUqSqF/s8ajHGjNjCBlEgo6kpNoxtz81rL5eeFhskFhho2Ps8pS4NFjop61GulF6p0dkYeFLEqZtrgrvJoXTd5nEW7aO0uf/NlcKWdjgd9J1BUmmYbBYtJ6H/gjRbEyk7objaEth8U3s51kE086ML8HgydjqVi8kVDzQy/E9XrNBFiVDQJnSVxXk6sGqjfMwd99OMKfAiKBwyizSeB7HGsBdIA9/6QTHBPS0PK8syEUUDoqQHk7i5RaLFVzP3TNIRh0hBZf0dR/l+gOVZKCBkNQghM6yg== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: 421faddb-c584-476d-a0c1-08df102a3100 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:29:10.8136 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: E+GVP/JuABBh9XULo3oCY7hJEGhgAQZIc2yhRX1xkfV+5oHZ+iPieXhOpt/3L921bQypWgUG1tXhl9bSU8e9Ag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR03MB293829 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX2DSJizaav5GQ 9NwzpiQx/ay2HJJokRDKblZmWAsUcfkadKHpvcVBWuw+a6Qp9UMMxpUG1q4HivRf/PzHgoM44yi U/8fjT9YS4LAHl+3jaVSxxMOyplcjad6M+08p73mmHJduMUcdYN1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX1+Bj+fVbY0qd Fq4LGSdjEIFCrIe021PW1TDZUayVUzxHUUICBE5i97+hZwmbGopQqtgSMI4t5oJkTnSnu5K4aGS YxwBj/wNtYPSi1S+nmw0jl3SU/lxe8ad0/AqW1cWQ4tc6/XHu54NZzGqbfiGOL51JM47du6oDkI QaXi0+hPvTyCcDgDKPqgDZZdHmB2ck3rw+S1XO87iMxTEQIu1tQ8eofegUNWpJKhRzXtvDCf8HU HkHzG1VtZpOP3khAGhXk/uwUDnUG3cAcmBvtKboSXBHdNqUZh951Ft6Xx9Cs0AY8nWGCA5DaWLN iHu/cDKZJNdFg7hw7afXTHdo6yDYfWsJ9HKupqpE16lgjrWlWZxTIxMLZ6J/RwALOg9gn0DgCkD VX4uCcjn7CYNQwt9vmRWXXAZzUKaswrRepEo0i4oFCJ9DCU3T34whvWxEIEpF2bMEIM4TacRO9T 0RIImkGdn2xsz+Yg8SA== X-Proofpoint-GUID: 8SCtHunbAwPqcAw3hHxX1ZGYZarQelM_ X-Proofpoint-ORIG-GUID: 8SCtHunbAwPqcAw3hHxX1ZGYZarQelM_ X-Authority-Analysis: v=2.4 cv=HubjiETS c=1 sm=1 tr=0 ts=6aa43a69 cx=c_pps a=oQiTq6cBShE1BE+bdGc2Dw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=iZSIUCweCk2Oy3QsdGPA:22 a=8AirrxEcAAAA:8 a=EUspDBNiAAAA:8 a=gAnH3GRIAAAA:8 a=PlQVE8PmvpCE9iZECF8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 suspectscore=0 malwarescore=0 adultscore=0 phishscore=0 spamscore=0 clxscore=1015 impostorscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 Query the minimum supported source and destination bus widths through the new dma_bus_width_min() helper rather than decoding the raw legacy u32 width masks. This keeps the buffer working with DMA controllers that advertise bus widths via the new bitmap representation. Reviewed-by: Frank Li Acked-by: Jonathan Cameron Signed-off-by: Nuno S=C3=A1 Reviewed-by: Andy Shevchenko --- drivers/iio/buffer/industrialio-buffer-dmaengine.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/iio/buffer/industrialio-buffer-dmaengine.c b/drivers/i= io/buffer/industrialio-buffer-dmaengine.c index 98acce909854..e1aea691b732 100644 --- a/drivers/iio/buffer/industrialio-buffer-dmaengine.c +++ b/drivers/iio/buffer/industrialio-buffer-dmaengine.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -229,14 +230,13 @@ static struct iio_buffer *iio_dmaengine_buffer_alloc(= struct dma_chan *chan) return ERR_PTR(-ENOMEM); =20 /* Needs to be aligned to the maximum of the minimums */ - if (caps.src_addr_widths) - src_width =3D __ffs(caps.src_addr_widths); - else - src_width =3D 1; - if (caps.dst_addr_widths) - dest_width =3D __ffs(caps.dst_addr_widths); - else - dest_width =3D 1; + src_width =3D dma_bus_width_min(caps.src_bus_widths); + if (src_width =3D=3D DMA_SLAVE_BUSWIDTH_UNDEFINED) + src_width =3D DMA_SLAVE_BUSWIDTH_1_BYTE; + dest_width =3D dma_bus_width_min(caps.dst_bus_widths); + if (dest_width =3D=3D DMA_SLAVE_BUSWIDTH_UNDEFINED) + dest_width =3D DMA_SLAVE_BUSWIDTH_1_BYTE; + width =3D max(src_width, dest_width); =20 INIT_LIST_HEAD(&dmaengine_buffer->active); --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0a-00128a01.pphosted.com (mx0a-00128a01.pphosted.com [148.163.135.77]) (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 71D244AA030; Fri, 11 Sep 2026 17:29:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.135.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147799; cv=fail; b=i3srMoC+6agldWcZDGVOFxZ5Git/ifTBCSMRa9ebLc2iukCqk+melvPLM9MgEiuy78Ug5zdP1ENLprbvQyhxyPnHj+xJYsE02UIt74k07NZoCY6XE+qeQ/JJVehUtIJFGbX8lfyts8tGLGFMv+24h1AiZHnD3ZYPBMeNQOXNx2U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147799; c=relaxed/simple; bh=L3zTWoXqw5a5O5elg45zji72d5Z+MGFOr1XPYeUs5sQ=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=iZAfjc0WbmD8M+1t6TL0vUTm76FibCWqrphVTLEouAJhDiFdY7kGwizUiXwtaiEreDYfNTc6NVfXhVhZTa1kLxWxl8cjCQ9XSSKuckkKT9UMAb+HWnTCLAaAIcb77Sd8HPj+viAWdAla5gK79uyz0cv6bqym0t1cORUvnZyoJTk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=nhvAyABj; arc=fail smtp.client-ip=148.163.135.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="nhvAyABj" Received: from pps.filterd (m0516787.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEj96r2838484; Fri, 11 Sep 2026 13:29:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=KDDlD NpLMuKV4XAh2Dp6JCydXIqCfjFMue8NJHS97H0=; b=nhvAyABjZRMbM5t0ViV5v mSz3zPGkgWyhWB98+dPO0PaA9F9h3gfw8on1RQ3cEjS4e3QKLO05YYthS/lnOtiq mhccQ4llA2kSCuZaCf58yjwGGAjKC0RM3J8AZDisa0YE3dT+h68soM13J3cjrTtv t+P9+4QJ2W4jOKTxeOtGY93m2pFp3tK+cwVPZXEcSeRL4pn/MRQWJWcOYklI4185 eKdaXEQ+zLoRtno1lWPPDYEVNrRDY3Pn2bhAHmW/3F0XTKKC5Nkw+Sw5fkXYXcZ2 WTz35aExcNugfueV8m+PzqHDCOEDovHjv7YC690fq0nueTiRywmxaEO7bEPw+rrZ Q== Received: from ch1pr05cu001.outbound.protection.outlook.com (mail-northcentralusazon11010002.outbound.protection.outlook.com [52.101.193.2]) by mx0a-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcxd26ux-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:29:18 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fPGwa+vvKL31Q7h7J3awZB1T1/5PA04D0MMczmZq5Wraw+y7zqPHpE+JL9974c14Pz6SB5t7+wEfqUz9oQPeNm9+onyN+8t1f7av/Ko/1PvqOv1QIIWm8d2QKCdJsCO+GiDMH/ezAAkav/6FYbU82BIMWpaYSxnJs7ePfQl+yOr0OimN+1Ku7l5lM0G65TeEzE0esd+cCvbxhbYfxw1DNFO3kDMQkc3EtnE4qQZGwxt/u3ExIlXiI68gZuZWWiQ+OxjzLEvBvhEdLPgZ35GiaGmXR29oBMeGhHnv9w3N7kd4VXwZRUSByWpT75sKLGyjo9AReNhRvZYzSUR+kYQXMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=KDDlDNpLMuKV4XAh2Dp6JCydXIqCfjFMue8NJHS97H0=; b=mD21eUryUlenyTr3Cgz90Y8Q2NOAoiWB0W/Tpel8kb624w4cKUTMXdZmUa6r+19h7W6m7r3fKKYHID45gG8n6oE3RLb3Wn8Zf8EUGZsuC0R6OadEhU92FmGqDt2vpdBzx/5tp4f9yTOjcPSRob3l4RpORAwn37wa70mLnQ3yb8DXoA04wCGbtyE49eqb2ILItvsMqCm5IrcCPWZVUzU+7/V1PYXHVjOIkMxIQ7vluNSZwwTIOzIZl389ndQCFTPPPK9fJ4ZmiCVZBczVKHAPefxI93gJLjme3Y8aljXCmPu26EV0I2HBD+3OmSa/flRRDz2cVkRYqhjK2tG7p/mlGQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by CH2PR03MB8027.namprd03.prod.outlook.com (2603:10b6:610:280::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:29:14 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:29:14 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:43 +0100 Subject: [PATCH v4 08/10] ALSA: pcm_dmaengine: Use dma_slave_caps bus width helpers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-8-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=2367; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=L3zTWoXqw5a5O5elg45zji72d5Z+MGFOr1XPYeUs5sQ=; b=WexmwxtRRICrMCsvBDW5+cZiZIhyh9+g6IcaG63e6amAp9zLbDuAeou9h2bMNQyiJMnVpY40w I0umw2ietNRAn2KdgV4dCW83BQJGJolT4RFdJw9WUL5oRPWBsFghEJ7 X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MA3P292CA0045.ESPP292.PROD.OUTLOOK.COM (2603:10a6:250:48::10) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|CH2PR03MB8027:EE_ X-MS-Office365-Filtering-Correlation-Id: 45858a28-5c29-4534-3ee3-08df102a3324 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|7416014|376014|366016|18002099003|22082099003|10067099003|56012099006|11063799006|6133799003; X-Microsoft-Antispam-Message-Info: v9koXn6PtVIq3q4iRVOei6Yz49YOOiiEiEc3Lkm8ZJRxFbsAWM8v+yjF/h5jxtl4pswczeA+LGs1Mae3gobqkGPVoVwUnCD82KDyaP4QRAuk3nUCx/fk4kfRfG6ZQcCpK76mwYnHPj/BznUJreSLGPXWkcqk+PvUzAgqwBoJfO6JZbK0DgpMhWeSsMzGPk5xhhN8DlCu/qZH5xA1M/FmtO3yWtKCUjVA8KC+ULjP7h0hh4wGeuQbKj2rSvg+2novWSVWSOF4dfl7IQH672bswr3ItXlTenRAoEjRdMmT9VklWNHzygFLZzQXLQO5venraaA3e/7p4L1AqCTTDNteQDZBefEfa/7nYU4hbDoKBwe3xUNZfAiWZkfrKXvd00lknEVd2K0+BOcbxF+KxAOtLQJk/9eVIrMdTuzqw7AGA++fUz5H40pXhv/RJ5EjCUA9ejHjtja6PtaEEg7LW8rVdF1m6L2I0Fuy7JqdjQszVAPNVecmE75h1OvDX4CZN0W6F3nSErHHj4GXxsXJs7FCwN5yf0CYtjdnP2GDUVXhC6ezWJlJJSts4774Wio4RYrEHc5+DsZTDoAfGhawZN8l0aEpN/J73kJdALkV9bghSMW1wtQ3PjZ7Xr+mmWSUxksGWqcoKNjLeigI4+0RPunf78ktAC6WIhLwNmCmODkCRKI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(7416014)(376014)(366016)(18002099003)(22082099003)(10067099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y2NkS3BCVjdqRGZKUVhzazBDekpTaytDRU1nODZmR21kQmhsbGRZcVdHZW5W?= =?utf-8?B?QjZzOFY4anRHZC9IUGFORDgxdHBSSERUZzZEdkFneFZ5ZUZNcFJIeU1YcEV4?= =?utf-8?B?QzExRnd0QlV5YWo5Z01GQnRxYzBzZHlvMUpHaS83UHFveXZuS0hLL3lHY2ll?= =?utf-8?B?cFFSaTFjMHozNWhnNW1nb2hvZ2RuUVpkYjI3UkRGbis5NDBQaFZGVTgvOWZa?= =?utf-8?B?NGdWZUFybVVZV1BoUjI5T0ZheGh4Q1FBNnJ6SHQ2b3ZCRDkyelk2eGprY3Bp?= =?utf-8?B?S21oRGF4MlFiZ01PODh3dUd3NDFEZEtWVml4TFhGcmR0MUpFemxaSjBYYXNG?= =?utf-8?B?ZWdWTVNLemNSekF2eTVoRFFhTWo3Y1VqbEVhK1BVMWdydWtyaEMxY0xRU3hz?= =?utf-8?B?MUdjcXJ0QWYzV2tqS2NNemFFWERzbTdVYmxnRElYanRjZURockgyOTI0OXFG?= =?utf-8?B?Z0xSUFRMdmxESXJQWGVTZjd4UzJodk5WbHZVQWMxYThNb0F1R0dGeUphM3FV?= =?utf-8?B?SUdwM1lUUDM2NkIvblluaW9LVEFNRVZKdW1Nb1FzNFdNQVRydDZoVTVhL2Qr?= =?utf-8?B?RFNsQk8rMEpSZUR4VjdUSXR4citDWFBaQjAyMW5YN3kveTRTdzZnODJTZWdy?= =?utf-8?B?eTVzZzh4cTBxYUVhbm5mSjlUSWVXck41SFdoV0FLMmRiMHdxcmp4NWJrbldh?= =?utf-8?B?ck9vK0laZVNRUktLejJUazdhRm9GRFlkMkNlWEJFQkYwRVR1MzhaUEQzWDZL?= =?utf-8?B?RlJqbWliNk1hK1BINERoSEdOUHF5bHBiSEk5eWhtMzhjbjlMTllSTVZVaDBp?= =?utf-8?B?Zmt0RTR4SUVLRC9KeFpaZ21pVW84WVZpRERCWUkrTGw3TitybU9sSHE2THZY?= =?utf-8?B?c3B3cWdUYjloTk5TN08yOVlVSkxxMnpoQXh2S0poVC9sZk1TbWNnYk9hbDUv?= =?utf-8?B?UytybGI1bmJiSjVwY3VCYUUrZWcrMGhCNDJzbytSM3pMRmVvZ1lsUDdPTUtX?= =?utf-8?B?Q0NNakREamNZcE83ZFdGVStYOEhBVzcvU3lmZWFrZlZHRmppclRZYjZFM1VF?= =?utf-8?B?VFZHVzRQNGJlelNwZGs1R3J3cjVJZ0JGYUsxdDNPdjBWNVR6bmJTbm15M2wy?= =?utf-8?B?SFBlVTFIZXhtZ29EaXFuLy9QQllFY0VnVjFlS1pwbjhZSlpmbGJaWVpHdlQ2?= =?utf-8?B?bk91eVFqV210YUpWUFpaOGhmaWFJSUx1MEZNRm51WXcrYjZuMitYdm9VOXl3?= =?utf-8?B?MUhjVXdsWHhSZkJDYy9BN2gxZnFvVU9SbGNTaDlmUHpmVHk1ZHZ5UGtHUEtO?= =?utf-8?B?WXlmMFpIY1paVkxTRERYalowdDEvM0JENitrZ0w5TWkrbHhuaUJHUThtTkpN?= =?utf-8?B?WlA1aEtPTVFuQUZaSFNwRHdqbHdTVTBDUHZSVWNDZGhzejk1NW4xUno1Y1Fh?= =?utf-8?B?SjJVTGFvRkZOdkVLb2E3SDBUWEN6bGpZeWFwcllzaFRTL2JjNzdXdWYyLzdi?= =?utf-8?B?NHNuclpOV1pvUEF2cmxsRnc5ZVlNdGcreGFERDllcEpCSytabVVMZncxUXY0?= =?utf-8?B?TFZGWjM2S21pa0tOL2phN2pnZGhUdGxVY25mZXVJRmhLeWtQUmoySjNHWHhK?= =?utf-8?B?L1RBSDdVckVRTHpxT2pWTVF2elRmTzlCdDhxWm1ZVGxXeWtOQnZGb2E3Nkxa?= =?utf-8?B?aVJBOVRlYUlWZWFXZU1mSjBnOUFoZmNaVkxMMnB0M1M4ZTdyYk10TzBsMnFK?= =?utf-8?B?UjFZL1dyZkFjemZ6dmJ4LzdXd0FTUmxCZVphWnZ4cmNkem1IVTI3MFFRYWFQ?= =?utf-8?B?L2prVndMeWlzUE1hUjFkMXRmdWR3bW1QQWU1VVVlTlV4V3JBa0xZUUYvUDQx?= =?utf-8?B?ZWJDcmNXNHVkTXRGOUJOVVArZ0hycnEwUWNmVzlUSG4vRWhqaGVEZ0FWdlJw?= =?utf-8?B?WFpDZXF3WmRpUmowWmRlNlNINWV2V1ZXc2Y1TkxoYzVBZWFMU1luVDh0akNH?= =?utf-8?B?bVlJZFhnYXNEemJGTkVBVzBVSWpCeGZZVDhzc0NPRkQ2OEcyVWlyUElQcUll?= =?utf-8?B?SnQwTzR6NERGbFJHUWNiaEQvdFcwZjlOY2MrdUx2V2VJT3lacCtiUWtocmpa?= =?utf-8?B?OFFDLzFZMG1INHdUWWZhTHE0aDVHMUpsckdHajRPTzJ6WHliUk5lYW9rbUtS?= =?utf-8?B?b0R5aVNLUkxObFg3U1pjUE9KajZYUVMwM0pRZmNVS3BJUXNzZ0wvSFM4UE9Y?= =?utf-8?B?QWZ0dWFrbmlCVExsYnZPaFFySVQxYlpnd2szdnJIbXVPbDFqY3dFanpOczJM?= =?utf-8?B?OXZHRnJzYjljcEpVL2ZhblRCREx2dHo0bUNBQzk2WjFPSU41a1A4Zz09?= X-Exchange-RoutingPolicyChecked: IStaPjFbEjyqLe5SUUmXgDnNK6REa3rmG5HmDK3NVbViRo18FF7GEPjlBWnhVtzZIDB/EanzB2oPhUz1jE5DB3vVbet35qLGQdfOfIDdGbxgT/KBgOtxpcsHYeKQwxsGJ7ZQqwnM/C5Jsr1Zm9hwcrXTSZCxH3sN2/6OoKvpKd6hDuxVwE3FpTD5mImJMbVx4P7qkPIriVHj5SJTVrGB4ESeB6i90JgsQfV5BzaptqIRRjfR1pQe5vO6uEg3xy3FDw9rxruTWmVEiPAOUAWNFyDM3kVswzM/CTS6wxdU4OxK9KFdjAJkXWSOyX/Ell9TU4VvsnpUVx/OnFsoCa0oUw== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45858a28-5c29-4534-3ee3-08df102a3324 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:29:14.4360 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: /bfQie/Cxgoxpx9hiNBADqZZa8yOhNLbPv/Zt9XgH9l/GRFNkipGZxx3dF2nEBjh8og9Jle7g3M/7GDM9PpvzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8027 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX4xcOuGHjWlPj h0gcYJ+WqXRVtvc8cORpXYW/qz+lOxYNlDJp0lmNQ9Yab4ZDcvF3Tplh0qiRRr31CfUA/JWyEXq Q5cmFbGZnjfP3Xm40TNzqk5VPSB9bkAusXzi4bXX29ZYyyMFyRy+O0Ms0Er35bB/ZGk9u+S2HTN VaF4SoqUKg/OhjO4hgKD/9ZYr9kwTv3ZnrcqiBDcM1Z/YHI1duUvYOy7CWNRJGbY/jGX2yNzKuh STvxFBXNN1f4MU954WW+6SfjelXjOneOsArM8TZifpOxZ1+v8Jj+DS3GBekVjpsCLfVpNjPcacf 7/UvN7oeBjV+MzkwKgObKxUGPl58aanlqirKmNBgK3wsn+mXHWhYWkBFpID0Z08K+Sve01YM5sH Ls9FnKpVMFpxqDZ2Mu1pgVm9j3PHmH/FsR9IJtUrXNcFPteM/AANSdYy6nj9/z1DFiVdtYzuFDr bfLO45y7QE02qFdGnZQ== X-Authority-Analysis: v=2.4 cv=GoTXaU1C c=1 sm=1 tr=0 ts=6aa43a6e cx=c_pps a=NtDnjKqRhcbz7rYDj/0C3A==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=OmVn7CZJonkx5R5zMQLL:22 a=8AirrxEcAAAA:8 a=gAnH3GRIAAAA:8 a=RbNyKOt0vjK77hBBhwsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX/s43oxuRZKyy 0trg91FbeiRelYBg/hXeIn+vAQxdvTX2ZxKLUqe1fL+3gucJ4ypyDacHe6fLlUbSgVdldaMW9EY 1AuRwsmwxIJ9J7wB0k5dXDXNL9rWFHcTJV1mEaHtwjYgINABmwN0 X-Proofpoint-GUID: ZPoYXIDeZ-fHjtXSxhGW7I0HPMU_RHdF X-Proofpoint-ORIG-GUID: ZPoYXIDeZ-fHjtXSxhGW7I0HPMU_RHdF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 lowpriorityscore=0 phishscore=0 adultscore=0 priorityscore=1501 spamscore=0 clxscore=1015 impostorscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 Use the dma_slave_caps bus width helpers instead of reading the legacy src_addr_widths and dst_addr_widths masks directly. Keep the existing default assumption of 1, 2 and 4 byte widths when the DMA channel does not report slave capabilities. Reviewed-by: Frank Li Signed-off-by: Nuno S=C3=A1 --- sound/core/pcm_dmaengine.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/sound/core/pcm_dmaengine.c b/sound/core/pcm_dmaengine.c index 1306b04be171..2dbbdeae6c4c 100644 --- a/sound/core/pcm_dmaengine.c +++ b/sound/core/pcm_dmaengine.c @@ -11,6 +11,7 @@ */ #include #include +#include #include #include #include @@ -408,16 +409,24 @@ int snd_dmaengine_pcm_refine_runtime_hwparams( struct snd_pcm_hardware *hw, struct dma_chan *chan) { + enum dma_slave_buswidth default_widths[] =3D { + DMA_SLAVE_BUSWIDTH_1_BYTE, + DMA_SLAVE_BUSWIDTH_2_BYTES, + DMA_SLAVE_BUSWIDTH_4_BYTES, + }; struct dma_slave_caps dma_caps; - u32 addr_widths =3D BIT(DMA_SLAVE_BUSWIDTH_1_BYTE) | - BIT(DMA_SLAVE_BUSWIDTH_2_BYTES) | - BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); + dma_buswidth_mask_t bus_widths =3D {}; snd_pcm_format_t i; int ret =3D 0; =20 if (!hw || !chan || !dma_data) return -EINVAL; =20 + ret =3D dma_bus_width_set_many(bus_widths, default_widths, + ARRAY_SIZE(default_widths)); + if (ret) + return ret; + ret =3D dma_get_slave_caps(chan, &dma_caps); if (ret =3D=3D 0) { if (dma_caps.cmd_pause && dma_caps.cmd_resume) @@ -426,9 +435,9 @@ int snd_dmaengine_pcm_refine_runtime_hwparams( hw->info |=3D SNDRV_PCM_INFO_BATCH; =20 if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) - addr_widths =3D dma_caps.dst_addr_widths; + dma_bus_width_copy(bus_widths, dma_caps.dst_bus_widths); else - addr_widths =3D dma_caps.src_addr_widths; + dma_bus_width_copy(bus_widths, dma_caps.src_bus_widths); } =20 /* @@ -460,7 +469,7 @@ int snd_dmaengine_pcm_refine_runtime_hwparams( case 24: case 32: case 64: - if (addr_widths & (1 << (bits / 8))) + if (dma_bus_width_test(bus_widths, bits / 8)) hw->formats |=3D pcm_format_to_bits(i); break; default: --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0b-00128a01.pphosted.com (mx0b-00128a01.pphosted.com [148.163.139.77]) (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 A76A74A99D6; Fri, 11 Sep 2026 17:29:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.139.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147796; cv=fail; b=b4nXcGbTg7Y6FLHmwxSOMkxKXvrPeOhW43ZrGEjhCX/1dLv2h829GFpdNASFxcSzqJokv3afSTQbF+pl9KOhRRsDEzjeV5jh6EseK87td4SYolU6CvJCmQtbm4fNvf0Dhkr9O9IdUKdd4VZQiizArJL+8lxSLOK3AUYvuzyXVZs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147796; c=relaxed/simple; bh=TYQ+zqHqTR341dv5f+SspWfAszVjoy8/4PJIlqe7PNs=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=RntLbyP40az+EFf+f57uqocMB3oDQ/jzMBysYJqe5AjlplRD6FA4zuEPcOQpAUcc705j94y2rSSWTVj/BcZ5Sz5qN33wDH0jfjy7/ZYVLgtIWpVOx39BxNnyd+hWqSTCZoX1d1nRKqTfsyjiqGr6TEcHjBOhRqun3vW7sol1Nz0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=p2dCFOe1; arc=fail smtp.client-ip=148.163.139.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="p2dCFOe1" Received: from pps.filterd (m0167090.ppops.net [127.0.0.1]) by mx0b-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEikV1685412; Fri, 11 Sep 2026 13:29:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=mWRqj oiXWeTBGTqr2/LOLQNl6XHg8+lCbuq8hLExL2s=; b=p2dCFOe1O9fcHULs6nmr0 468OiJgB7u/qd8sCKWjNxNIvupvFn7MtyGviFq3VToIwbZCVDepdwigg5lqn166x 8yamAgmulktX1UqVNCyhsZitYq7BW+3zNpAtnjaWgzWT+ecmQfk7dyRJFka9Y4QP kiZPjG+pOTtNNBB3E5VCLvMAHkhZ4FEDiiP2ZUfOe+uURNuS09gdPS2pw918RWP+ rRT4S+PHhoDEJIiT434PUuDOkPBepBhbINdvpBzjq82D9vg+V1NbgOf7niNxwaZr AcecLTxVRJ3uVSfaXYO5Ns9qg8IT5otDflWQN4m+svqe6JFtBkrH1ExgXz5oXwM6 w== Received: from bl0pr03cu003.outbound.protection.outlook.com (mail-eastusazon11012031.outbound.protection.outlook.com [52.101.53.31]) by mx0b-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcx8rfvq-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:29:21 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=edM655tKDsfjHXLVaD/gY1Plhq5LKxpBw+uS/F789A6FaGjsJt8L43ipuuOhKVaCmjlyry79P6XlpsuyWAULp7cplnTgk6MfataM3unCxW5UFsWuW2ctB3EcLpNbZ1PwSxBRPSjSVgDYxiUSe1WtIViwseshyZ5L7kf3qOsm6bsaoajWRBZt4YquzlpiA1X7s2uhdo+9nbPY1uQkkphX1zo290+Mh8bHhjjrdaa/gFPgXp90Lu+HXzwapDJgikfrEvDvOuDK4MROjw/HJy15oQ+KWuS4UrWy73MnAy+7xm5x3LWE+oZAMMUOK7PztRgnxg7McOQiHw3ppmffL3duxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=mWRqjoiXWeTBGTqr2/LOLQNl6XHg8+lCbuq8hLExL2s=; b=A1JvTR6+sukY2T9Sjg+JiDtJWuevnUaf0uijZC/Had77vxKJHq+z1pO/UNwEOdg3RcvN3WABqnTdrOxNFwopApGUfR7DmRp5EsALkuDtquWpEiQUaNdf4qyi0CStgAZSL6BdVAR1hL0ijsgoNGTkwzOrKWUeWc9XB9kKYM3lbB5jtxzpjdc0pDjZocrowcdle4U8090eQgFgcOuj8a1cKS5G99Pqxdqdmi89/Rlpkgwf9/sM9+DWzDJHcqcClyi5C0Y9/9XWuB62BJ8jsX4LBRfJNJslwkxG0gjjn97CRaFMeuC2WJO4NBXegIj35/gJ7+EPYjqk01WRaWaMeM0fZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by CH2PR03MB8027.namprd03.prod.outlook.com (2603:10b6:610:280::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.10; Fri, 11 Sep 2026 17:29:19 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:29:19 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:44 +0100 Subject: [PATCH v4 09/10] spi: dw: Use dma_slave_caps bus width helpers Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-9-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li , Andy Shevchenko X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=2528; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=TYQ+zqHqTR341dv5f+SspWfAszVjoy8/4PJIlqe7PNs=; b=XRVoISB9BEHHHR82FRsN/hIi+nomkAfcZhpyllE2wSlIML6K5rUzRE37CnAfI1/Ie9nNeHRzo wOg+PwITJgcAzmwjYBwbrhojbEfsDFXyrriNNrbOb98KPAfXeT4R7Lf X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MR1P264CA0086.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:3f::31) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|CH2PR03MB8027:EE_ X-MS-Office365-Filtering-Correlation-Id: f1a920b2-4162-4c6f-3c74-08df102a35c2 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|7416014|376014|366016|18002099003|22082099003|10067099003|56012099006|11063799006|6133799003; X-Microsoft-Antispam-Message-Info: trrD5+JUpjz55lmb6E+k2znOGYl3mxKYH3e3ytmqRif0wyBvY2Ba/FOKdAPrtCaTSA+FlwKUucJ0b0NHSV3gj0lH7tGwpeGBwHcyfN8/zK+3pe0H6Y6zXbXnwFkZfq32r3/4xLu3c+VALb0OrRYH2DDwYzPscDMqIBe5OG+9vZ52Tcg88LVXenDg0+6rLGN0ssawMAMA2Xwhtc/q6NhkTcI/8r9tYUjmYQxA0+cncMRbC9hG6726AnExD5TUndNWs9vXia2gDVXgoZuAO7bja3OrLpaJXfRnvcsTZbYWwykWS7lYM/2rjDGS2QyRfjyQVoeXtcBnB4SJS4GLcJeXM628vcmgrr38M8mOTM2X1odVOblS4J5KKp/2pY/TSNpXvMNryDP9PgER0aeM06up3ryuxmU7qvkw3uk3tHZHpUtjm4R4J9D+KBVVW1kDtxbhWKXFEIEvN9WlEznyx69zkAT3KO45LmUzkEqwRXuxNIod/Mf3fZrsPSOHaPUepx2W3ptY2iJfU++5IZ12HnmsYyzsyn5idOhvh4st0I1FgS3Yi0K0vAbFW5pBGEZZWQVFTl5oA4bcS5Qxl/lXyipjMAwtfTjwG1j3ze7Y3TaKA9Ufjzs/P7GWcCyxbxR412KLcqAs2NncR6EUsM94uXe9RRizgrR7cOwZfP9ch7VSx9U= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(7416014)(376014)(366016)(18002099003)(22082099003)(10067099003)(56012099006)(11063799006)(6133799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R1RRd2hZaHYwTkxBWFhtN3dYa3UycEE0OFBvODNhR3NDaUVEM0QwQ3pWQm5V?= =?utf-8?B?Y2FqTVNXUVJEMVRuUk82bVRac2pDZlZycnViMHNkODBwM0xPYmdlQ1p0Y3hK?= =?utf-8?B?ZGFIeXJISkEzRjBaRU1JNlBBVkFxeUhGVmcxcEtIYjNjc0N0NmNGbEtrQW1U?= =?utf-8?B?YVhDVk13Q0ZvM1FkZmI4dXRLdjR0QUpyanRpTkpYUitvc1pZY3UzOTlocENB?= =?utf-8?B?MUQ0dCsvbWJCdk9ydE1ZeVAweHJsdVRDdjUvVFJXUEZtSHY2ajlmQWtvcjlv?= =?utf-8?B?QXdOK24vMTZBeXBDbEp1OE1kZm1lZXRCUlFlTnVBSjJyTnZRbXJmNUlWQzhV?= =?utf-8?B?MU1jQ1VGUFNBb3NWRWc0cng5NnFEUEhVbXFLS21SMy9rTlNkY0VBdEp3SGFN?= =?utf-8?B?OWpWQlFKSnlBbVFQOFc4L3c1bGgzTDliU2VZUk9kVkorUHR5TnFpakRWWWlm?= =?utf-8?B?eFIyVktUUU9abkxvNVhBc21DbjVaQjJhS3pGcGJ2cjZEL3orRW82Lzh0aktp?= =?utf-8?B?V0o0ckdNOSsvUEZNbXloYXh3bGdZbXh0UGdMUk5hMXcwa0xjUWxXVGhpTlU4?= =?utf-8?B?NjhBMy9pKzVCMFVtdGFORjN1cjZmWEl6R3dwODFqeFptRDh5dmM1U0JHcVpF?= =?utf-8?B?c3lzemErOFBhbjBJcmJLMW9SYjhZRk1wb3JuY2crTW9qcjFPb3pBM3VFRlRS?= =?utf-8?B?Sk5PNjdiYmR3ZGh2cWdKUE5yMjZ0TVVCbTBQL3JsQys3R1BlTEV2bi9sVUpm?= =?utf-8?B?MW82TVMyUjkzZE5yblExV3pnV1VPTmpRU3NCcmdXdm5iR0hoS3kyRGFFL0pj?= =?utf-8?B?dWkxYks0V1RXWWZWUmdjbU5KaVB2Q3ZzN2dHV1NpSlg1Q2FaelhjaHlKYmFO?= =?utf-8?B?MEt0ejZxMTl6aVlPSGhoUStsdEordHhmbVFXYXdHUWk4WElpUUx2S3ZxVkdM?= =?utf-8?B?dVhqTW1ZZnppVnpNRmJhZ2ZVS0trZHpMcFJvRHI4WndZSCs4YWkwSlVRejlX?= =?utf-8?B?N0czRkdZUkV5Uk15bHFzZDdkSVA2QTBYWkFqcEVWdVIraVNzODdJLzB5Qll1?= =?utf-8?B?cTdtVkY3NTdYY201NmpBcFdPTGNlTHVQVi9MS0dCS1p1UVNvazN3REpBWWRU?= =?utf-8?B?UmdNUzA4TjBySUZTcm5xeWp1NTJnRW1aUWZKRm0rakx0SWw1Q3RPaFlaNFls?= =?utf-8?B?MWlDclQ3QVRDNjJVQzZnblVFQ2hma0NiNVNlWHFnT1gyK3hWZ2hoSzhoenV1?= =?utf-8?B?dTMxN2JmYy9pZTZtK3FYNmtHNlJPN1hvSlNDTUh2THp3Rm0yTXNxOStSS0VW?= =?utf-8?B?b2NOMmFadm1EMWllSFFlUS8vaDk4TDFMMm4rN1Y0bFpmanFyWlNYYVFZU2RG?= =?utf-8?B?YU9rZGx6VjJvdGcvRDZibW5WS2tHQzJXam82YmxXL2ZMQVlOSFFWVTNmek1M?= =?utf-8?B?K3p2c2VhcjExZ1EyTGpYSjlVamQxRU5sbWtaREk3K1hPN09sSDRYMUQrUWcw?= =?utf-8?B?a05IWG1OM3dHU0lhMjJJUFhyOEQ5cWREQll2UmR0VnowVG5zbVkwRlhvQXJY?= =?utf-8?B?MHZHc1FiMFNKdndsaGZSUUJyM2Fqb3dXTHZWUG9ML2kraWlDcW9xT3V5Qlgr?= =?utf-8?B?bTBDRkJNVUtqaGRST2Z1dkRjL3VSanZncmZnc1VlOExrU2JjRkVxa0I5N2tX?= =?utf-8?B?OFRjNFF4WXI1TlNzc1Nqai9wKzh2QjBnRG13VTZ5VW5WUWVJbU9NVHBiR1ZJ?= =?utf-8?B?YUdNY2VSSHhqSGl1eURhUzFkcC82eHllVXVYL25TMXR4RExFdVUwRWxMcm5T?= =?utf-8?B?OTlJZi8ydmcxekNYeThYUkpzaVl2c1dQN3dPSUo0Z3NNOFVLZGFMcWtFRWZL?= =?utf-8?B?UmRXRWJ0LzFSTk5PeTlpbXlwbjVyakFXZ3NzUW5YUGNwWC9PRm5NQUR0WTVS?= =?utf-8?B?Zis0Z1RwZndHenR1ZHRYcGR3d2JkSlY0U1lWQTc5V2ZLU1FHWWNaOW5ycmlo?= =?utf-8?B?Rk9Hcm5rSWVxYTg0cHN5ZUxWR1FzNlUvWHBoWEUydGlMVmVQem13emxmQSt3?= =?utf-8?B?WEF2MGxhOGZBV2VYOVdrd0dSaThsZVo0aXc2N094MEF3WHhPVXdpRlhxNkZC?= =?utf-8?B?dDZ3NGxyYXFIeGE0ZlRLTXhGUGlIUnVZbWxYbmRGNlVXWVQ3Z09Ybm5WU2tj?= =?utf-8?B?MVhGKy9UWThPTjJqSWZFRlV4M29KUEtGVXdMRWNCL0JMYWVaa0JoMEpFQ0ZR?= =?utf-8?B?Smx4ZUFOdldSY1NWTU5BbFlrU0crSThKQVBvTEhjUkZuNHdjVE80WUtjOUFj?= =?utf-8?B?VDU2SUNaYjFRWVB3TzlwNms4ek8zSVVsdzdocU10Nk9nSTVEZTFYQT09?= X-Exchange-RoutingPolicyChecked: pLZpcmb9Lsz6Lp60Dviqm3V7/P/C0Tm0RG/nybt5Vvvc76Bp0kbK0M5N3ihs93C6J/OPwjdMp0ugtBIBcptEdHXa1sa4dmuxP1V3QgUQkIHuYDAodlYtwdM6Q4A3mCZc/G88GkE65pGdSNRrIJsZkj2Tfm1xYAqTP0hN47cznh4k9TT9d504ZmEBMmE2Hur8kH75CHKW/nTA/7H/dx0u790hjyFzZatgaYb1ThtAp4O4705/ai30GDlrOE4+pgSZfuhLubIXRyIL9BIOY/bRHy/7vxKdfuU0oyIrcwakYy0D5HzNFhLMkU979fGYQkQ9NvpA3rQukNiA51LFZXvVeg== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1a920b2-4162-4c6f-3c74-08df102a35c2 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:29:18.9167 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +qIn2gFPY6RPuZhu/vCfxJ1pAD94Fdm3ZhkMInPaLQr0IMghGXHUbncywYet8z1F5U+U/A1eHjJ2UaqBI5cLag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB8027 X-Proofpoint-GUID: mn_rDM3FSSUhmIy5LaqPe0_B90FLXlKS X-Authority-Analysis: v=2.4 cv=JaApPkKV c=1 sm=1 tr=0 ts=6aa43a71 cx=c_pps a=yf4wneJBeBA4fm5+j3KMTA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=_jAD5XSDOtq9-5Nde2OG:22 a=8AirrxEcAAAA:8 a=VwQbUJbxAAAA:8 a=QyXUC8HyAAAA:8 a=gAnH3GRIAAAA:8 a=vrfzlmHFqV6-XNZspV0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-ORIG-GUID: mn_rDM3FSSUhmIy5LaqPe0_B90FLXlKS X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfXxoUCon1sjYBN siJFjstVavm/Z7llYklhEkEMXyvd6Dlf5oIf5UiRrppLa0AOwvT0C3AjR7E2MjDmDQioRjn3nmg FQDqNpxX8B4trkDCQorXaGdNSO47xLKMKL1jRmb1YLjpxB6Nd2oj X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX0TaZLHchVM3m ky2JBUo+Twdw5UO702yStjBmh5CXXU6kmZ5OACSIEZcNa/of2rbZvIVPPzTp67JnP5TIZQNPg5g Qzt5iBBvFqAJcp4A10teOWqt8DPEgogBziRYk/ZuaBZVLLfFJ5y86oAlpxdN1b9UexxupAP+Naz uv0OT+a/vqQs3VpOsO1Jzi5BjFqfmFpyQnjkkc8Nl+nxf+vKDhO74WEaVs7enq0RAK5NxtHrLem jaJHOobEJpeMfvRWz+qZEgXAqxf3D1U7jgIToJim5LZ+BRBvV5tK5fRHt7mHY1yIUiBHah5joan uSZ2gUqVL3HzYicuw1DmPb5URss0ZunYxS+ChLYDOHqGlPSidxHn7QMlzYeKm5K43D5GkPN1Vgk qY+EiHxC7mnAo3MLgZ3nEqOIAuNNwt5L91oMzH0q/etM5PI2KibpBgmMg47AapP0oA0NO30IZMK SLYQmErFOcrF5pSSLzg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 malwarescore=0 suspectscore=0 priorityscore=1501 phishscore=0 adultscore=0 lowpriorityscore=0 spamscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 Store the common TX destination and RX source bus widths in a driver-owned DMA bus width bitmap and populate it through the dma_slave_caps helper. This avoids depending on the legacy src_addr_widths and dst_addr_widths masks returned by dma_get_slave_caps(). Reviewed-by: Frank Li Acked-by: Mark Brown Reviewed-by: Andy Shevchenko Signed-off-by: Nuno S=C3=A1 --- drivers/spi/spi-dw-dma.c | 8 +++++--- drivers/spi/spi-dw.h | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/spi/spi-dw-dma.c b/drivers/spi/spi-dw-dma.c index fe726b9b1780..bbd7ee884d0e 100644 --- a/drivers/spi/spi-dw-dma.c +++ b/drivers/spi/spi-dw-dma.c @@ -7,6 +7,7 @@ =20 #include #include +#include #include #include #include @@ -100,10 +101,11 @@ static int dw_spi_dma_caps_init(struct dw_spi *dws) =20 /* * Assuming both channels belong to the same DMA controller hence the - * peripheral side address width capabilities most likely would be + * peripheral side bus width capabilities most likely would be * the same. */ - dws->dma_addr_widths =3D tx.dst_addr_widths & rx.src_addr_widths; + dma_bus_width_and(dws->dma_bus_widths, tx.dst_bus_widths, + rx.src_bus_widths); =20 return 0; } @@ -253,7 +255,7 @@ static bool dw_spi_can_dma(struct spi_controller *ctlr, =20 dma_bus_width =3D dw_spi_dma_convert_width(dws->n_bytes); =20 - return dws->dma_addr_widths & BIT(dma_bus_width); + return dma_bus_width_test(dws->dma_bus_widths, dma_bus_width); } =20 static int dw_spi_dma_wait(struct dw_spi *dws, unsigned int len, u32 speed) diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h index 2f2debc64e73..c27533ecbde9 100644 --- a/drivers/spi/spi-dw.h +++ b/drivers/spi/spi-dw.h @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -190,7 +191,7 @@ struct dw_spi { struct dma_chan *rxchan; u32 rxburst; u32 dma_sg_burst; - u32 dma_addr_widths; + dma_buswidth_mask_t dma_bus_widths; unsigned long dma_chan_busy; dma_addr_t dma_addr; /* phy address of the Data register */ const struct dw_spi_dma_ops *dma_ops; --=20 2.55.0 From nobody Fri Sep 25 13:55:50 2026 Received: from mx0b-00128a01.pphosted.com (mx0b-00128a01.pphosted.com [148.163.139.77]) (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 B52994AA1FE; Fri, 11 Sep 2026 17:29:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.139.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147802; cv=fail; b=Oy7DqOI9bo/5oKAO1LeTCa8+oboSBOzZ8o/fCNFR89divNg+rANfbu5ynV0yUxeWcjH5Q9BmXjb8EovlawrmYXQDc9yXAjoAN0uX2pSh/gVuTuMqj/S9SGxmYKMlA/2qnMFCQfne63XEYrmh3rM6MNpmcjONbysG9W/2RWh5Qwk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789147802; c=relaxed/simple; bh=76XKiT8yKdphpWIwXX2fdd01S2c6+USpWDJpxaeXXYU=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=X96KsuaeIgsIBy9jAjRHpjnYcSfoB4fd5qYdAT+1Y9W4eiKH/3yHMastl65QQ5B/fz1Ao1nSxsHzHYfomYT4bDvQdfrlRhf6P6fSIO8eGWmK+dm9DGamy3eni0yK3+MV+wfkfg4u4TOs4Dfl9pcGt6PtgX6X2g4hH8a6eKLzkuE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com; spf=pass smtp.mailfrom=analog.com; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b=hUM3xVlq; arc=fail smtp.client-ip=148.163.139.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=analog.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=analog.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=analog.com header.i=@analog.com header.b="hUM3xVlq" Received: from pps.filterd (m0516786.ppops.net [127.0.0.1]) by mx0b-00128a01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68BEijor1169500; Fri, 11 Sep 2026 13:29:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=DKIM; bh=5awVn jxSXD3BUiBTVVzIW4UDySM4YgsSFwbJW2rV0lA=; b=hUM3xVlq963m/x8x5tQFK gdKjY7+iRPMatA5wPi7rl0Q4jNZ9C3uti5Iy+frpRZ6n4RGi6Awof23/xslJaL9G uV4fF0uQIvKfeQDo4siPhGWwFD+1XhYCYP+ZntW+DUjRSxBLND057ktmjsW+gtOl biktmZvZ/M07ID+yl5EnHMjZdZWveQOuTtZen2M0FYP9BuxRkEzYZqUjW/80TJUf yexK4shDaP7/FJr+cEktsxvNU3g57VcZV+v40l3yZhFQKdpLL7smb/1iU8wvURdt 4Y1nCdIO3VaapeRzoCOBDfSw6zDsgALLf1LDM3e8wdrLiJUHOnksziVWOGlNKycn Q== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010045.outbound.protection.outlook.com [52.101.46.45]) by mx0b-00128a01.pphosted.com (PPS) with ESMTPS id 4gkcxb08k7-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 11 Sep 2026 13:29:26 -0400 (EDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vjqx99SHZ3616M6wtNlSioSMpSpeuyAy4rqlMm3Z74TU+5tPoVp3QkOy4oTqEBU5gkUOt7YwNkcpbUQ2sfMJOfH/cNP0POriuquyFNY8IJltiCAB12AiljiRN3oZLKSVVo8meJL3gxgrjW51ylAN+ROvAk7UjJ2Dop5x/imAFdp79VCDBWSgMorImY4wM4rj6kW4tFd2SmSgbdi29+QSJsHBy6u/ld2oa60lx+c94OR/mCidPDz3CWLSDaeiMI0YDWYZdCF5ZrVVZQHJO/8XwFTqQtwTp/CtWPjGmrqOMUUfA3O7Bavb0wSol6xfxCEdHlyEtNYw9Lc89wbqag/17g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=5awVnjxSXD3BUiBTVVzIW4UDySM4YgsSFwbJW2rV0lA=; b=jcRWFVT1+pKDvScfR80hE2cs0N1rXN/FtynKxVJJrf1G7BMAW2AWcR6c0/176hlKbhf/tsQO10x+8EHk8QNyY+nKfn2oR8YTtkSfXtpIB5D59RQAgoply4xlqvIookuYmWzTxh5vht+Y9EqpUUDaiI2izQriQrSh4XNmaHgl7/tI8lXNkCadfZK0wbBPn6GHnLtMoT2TONK6pVkuWFtlLdu4hnlBkphLcIg+FMAWIF37K3Zyqn5ZAIacosYt87F9SUw0p0rbI1iVVV7o0Xp2VJsOPl2dHLp5LXuGMDB9h0VwFoy6k7dFWIW1wfDg3iMpUg+mkCwJlzrTsUyYBhWuNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none Received: from SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) by SJ0PR03MB7027.namprd03.prod.outlook.com (2603:10b6:a03:4e3::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.9; Fri, 11 Sep 2026 17:29:23 +0000 Received: from SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a]) by SJ0PR03MB5469.namprd03.prod.outlook.com ([fe80::2a19:76b2:e731:8c5a%6]) with mapi id 15.21.0406.007; Fri, 11 Sep 2026 17:29:23 +0000 From: =?utf-8?q?Nuno_S=C3=A1?= Date: Fri, 11 Sep 2026 18:25:45 +0100 Subject: [PATCH v4 10/10] dmaengine: Drop legacy bus width fields from dma_slave_caps Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260911-dmaengine-support-wider-dma-masks-v4-10-72b8fd4cc78e@analog.com> References: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> In-Reply-To: <20260911-dmaengine-support-wider-dma-masks-v4-0-72b8fd4cc78e@analog.com> To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-iio@vger.kernel.org, linux-sound@vger.kernel.org, linux-spi@vger.kernel.org Cc: Vinod Koul , Frank Li , Lars-Peter Clausen , Eugeniy Paltsev , =?utf-8?q?Am=C3=A9lie_Delaunay?= , Maxime Coquelin , Alexandre Torgue , Jonathan Cameron , David Lechner , Andy Shevchenko , Jaroslav Kysela , Takashi Iwai , Mark Brown , Frank Li , Andy Shevchenko X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1789147798; l=4640; i=nuno.sa@analog.com; s=20231116; h=from:subject:message-id; bh=76XKiT8yKdphpWIwXX2fdd01S2c6+USpWDJpxaeXXYU=; b=vLNsIFNOYmpXFzVcYRzX6GC6v1qLxZfmmaKtDzgxPtLSn7ndfKpNmDN/AqmDwTv37YAc55ZTI N/HpveyOBFDCjib3k3g++NSDGinIRgsnf7cey6sGeVsVd8CUJtn+3N8 X-Developer-Key: i=nuno.sa@analog.com; a=ed25519; pk=3NQwYA013OUYZsmDFBf8rmyyr5iQlxV/9H4/Df83o1E= X-ClientProxiedBy: MR1P264CA0128.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:51::10) To SJ0PR03MB5469.namprd03.prod.outlook.com (2603:10b6:a03:28a::17) 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: SJ0PR03MB5469:EE_|SJ0PR03MB7027:EE_ X-MS-Office365-Filtering-Correlation-Id: 204ef4e4-4bcc-4f1d-9d39-08df102a3831 X-LD-Processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|376014|7416014|1800799024|6133799003|18002099003|22082099003|5023799004|56012099006|11063799006|10067099003|3023799007; X-Microsoft-Antispam-Message-Info: DvsIwHh1G+yOJPv0QeVXJM+OJWZs6wzjwt4tanRYv41SnuKAoV44QVUZjonCOZLnELAISBFr6wsNWLEVJa2rhsB/nIUThn94zauvQGrJgQlZcwdLUhWln+jToXKMk3mQ+JxbL+Lq4wdekBeHNWMILvi8C8og/e/Ad9N6Gk/z3Eh3bqDxM4x+h6HSdw58XzJEEzm5MMfdUz3Gun2a7Wtkl6cBELCcbIuQCQ70R74ttR+0usRYBRUoHXNDom1T3FxZzQiotAWO4vVlMRbNxsilPNRNs3FtjtiS8KUnrrkZKCL6mJBeuqjE9k+krMxE2PpbhMbT0cL+av2sgFkCo5am/JkyeqXHYkweN8KBh47CYZcs2yXisxCMIAIpy4loaV/DfKwnKaX15pKS034B1AZEsAUoLfsYJ3c7Txdt1+mEJj9KUOoaxv/ufYjQzlCQoU21UtAEZqLmiF2Iija8XFpgxKmuOhF09Fb75Msmzxtf/EG7E5z+18H4d8LQcSbMpqsWZhJW6GCReUK8xD/+uWzJbZO+RLImkLBYqX3gFZd/FX6dPMjGA7ex6pplmiZaUSfAvlZPWvqy/Lt3ZFFVjB/fJYL8+CFsMOnQfxE/6ap6BrDtlXLRCu7yK7Lvbga2nmZG88ozL0V7ZLZzSQW0NpwkvNoRq7KjHGWrFGo5bh9r47w= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5469.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(376014)(7416014)(1800799024)(6133799003)(18002099003)(22082099003)(5023799004)(56012099006)(11063799006)(10067099003)(3023799007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K0hFTHNOcEhXVXlrNW5Ka3c0U0d4SEdObkhlZWhtMGZXcjhxb2JlcG1tSW0x?= =?utf-8?B?WmUyaHFCcjlpVWtrQmZmMkZWRm5SbjVjY0N5U1FjRVJwM0NSK1RXazFDYXR4?= =?utf-8?B?WjJvUmRNMjFVN04vU3NZRWZQVHhWL1VyVjBnMEFQYUZsZCtmYktsMG9Ec3FQ?= =?utf-8?B?b3V4VDdqOGZXZE9UQlNVY3p3ZFNrOVh1aUxGQklDSCtnRnlMMFVOWjRBRzl3?= =?utf-8?B?U2JsSWlkN2k1blZOeHVVM3pyR0JCOVhONnFrMzFoMTZaOFoxK1VHVGt5UUts?= =?utf-8?B?TXY5dFZka1pZUm5xTVZyYjVsY0hRUmFZYkNnS0JDNkVtbjZWTHpXM2NkeHN6?= =?utf-8?B?cXNkaGZ6cFhidWFycTVqbmJaQ2ZKYUV1NTQxZWZBUlpUcm1ONWxubS80bXhq?= =?utf-8?B?OExiNWJyajJybzlHV0VGZ05zK0EwU3NOZ1dUZ1NZRjgzVVVvdDZOeHRDY2g4?= =?utf-8?B?NFMxWlNUV21kMHhqbmxvVVVlOWgyYjBoMVdRbGlMVVVUTVQzbXFGc0U4L3dR?= =?utf-8?B?eVR6OEpPS0R6QWVUSVFNMnJDcndWaFh1OGNZcUI3Q1FwNmtCNTQ3WTJYamN3?= =?utf-8?B?RkdJWm82eGVNdlNoQ1Avek1BMUtLMUlZc2l3aEhoMkZVUUd3aERBOTF6cVcx?= =?utf-8?B?MDF6VFYvc2c1UWhIbjZRbGhvQlZJazByL2ZCZk0yZ1RKZnB2UmdZOWlDSHkr?= =?utf-8?B?UWZGMmI4YXZ0SFNvRldiVktpRE10WkhESzdwNG5mbkx2clUxV2Q5VEtBYzBw?= =?utf-8?B?VVB3N3JqeUQwMWdkWHJ6dElBcFdRdkNWOFYrUlI4U1ZlL1kzeERtUi9UZ241?= =?utf-8?B?Zm8vNGhWcU5mSGJNbFhhTDdoUi9ERDBoWXIyeXFvNWR4Y2xDQkNLdCtIUHVj?= =?utf-8?B?STJPM2pZanFwemQxNGU4OEtqZ1JLTG1CMDY1Y3loeG1BR21NbStCOG90dmlW?= =?utf-8?B?NVZJSVJwd0xvUjlWcW9iTEdtVkdYa0JQY1pvVnh5c1JuN3RXVVJkdWZVK3hX?= =?utf-8?B?TVdHblFOOSt0NEpncUcvTTFaVlErTUlPYzVoOUtTL2R0czBGbWFzMVFaTkUr?= =?utf-8?B?bXp3a3BhcmZmTERHbHpVZ0t4czFGRVZnZWplUkhnbmhEQmY0cEI2emxJcUhh?= =?utf-8?B?R0M5eGppUm91OTlJdjE5WnNsNzV0dmxjVFRrMytweFVLMmFneHZKKzJkczdF?= =?utf-8?B?SmlscmJLczlBN2xCa0MvOFJMMTFGSzdQdzlLMm1XSjFNeWlpd1hBN05oN2o0?= =?utf-8?B?TUJQSFZmSHlyeDdBbU41M3dhZ0NLYk90eXpqbHpJNVNaMVRISUtLUlZDVzAz?= =?utf-8?B?cURhVHl0OGs2anlqaUNoSU1iN0dDKzFqV3NXd29mM3pnMEhEaEFDNmoyQWRQ?= =?utf-8?B?R214SnpQZS9aVmpLM2RwdHZTWG4zRkN4eFdWZkpwUzNEUU91ZjN6VHpWa3pG?= =?utf-8?B?VUhtZDlhTzE0OGZ5MG9YODAzL29qa1R6WEJpMUhoajByU1ZqMUgrcTJYTURo?= =?utf-8?B?TzdwdjAydHVNTDFIZUpUZi9UUk5UaG0zVXkwb3B4alJkZllMZUJjQllMc3Bn?= =?utf-8?B?TU56VFZoQWJzZ2huOTJvb1lWbHZjbENuMFlFcndFcTRGSXZJNlJDTkE4d3pS?= =?utf-8?B?WGJwcWVtUnZmWDdXeGJVc282dzRGNk5yaGFqWGFFVXExZ3NZMU5BUkYxQzJ2?= =?utf-8?B?OGp0OUNqaXd0Yi9wVVZuVWFoODVSZDB4Z3k3aTcvb3VWNUxKalh1cXFZamZS?= =?utf-8?B?cHJmYUtiMVdpTTYyUUthQXdBdm4zUnRHNUVGaHZ6K1VVQ0tlNWtwS1I0VnM2?= =?utf-8?B?eHBrL3NZeElxU29oQWhheFlqbk1zbEE1L1hOOURmbXc0Q1BoaW94eWlXUUox?= =?utf-8?B?aVdlTXNhcHBlYUFGQXlkTHg1eFNGTzMvY3BGTU1DakNFL2x6aXhVZGJlTU92?= =?utf-8?B?N0hMZHhOQ1hMN1lsZFVtU3ozbyt0cmJBUVQvcHB6alhBN21XdW5UNzVZK1Rv?= =?utf-8?B?TnFpK3h5dVBYZVdVclVWdFVnN0lPV0xyYmpNbmdoclpRb0Ntdldvd1lhVUhQ?= =?utf-8?B?dHFUUms0d0dXQk1TNDNBMTJOOHo2ekZ2Q1cxL2E3Z0JMVXdCUlRXSDdwS1lV?= =?utf-8?B?cE00aFl0MkI3Q0pVN3QzVS9pL0R1U2dUZnIycE1lMk1YZytGOC9IWTRXUHZv?= =?utf-8?B?c29oZm1KMnFMaENiRVBmVWVkcjRQdU92SzNYUVYvN09tdkNJbXR0dDBpNVFh?= =?utf-8?B?Umg4bmI3MDVUaGsrU0ZRQ2hUTTJrbzVxdm9DSk5ocEhQeXVxU1QzVHBIRmJk?= =?utf-8?B?bkdNOUpoem1SK3FwRmRJNFlFZi9sSjlZcGZPOTBsNXNmbjl3bGhXQT09?= X-Exchange-RoutingPolicyChecked: napJfDbIo505NqkPNW3l1YNJl24qnQris+TDane8FP71ryLOOi7hACcq6MRI488zsGmd9mXmzOzWliL05JUm35EEqoLVOQhKyEENe2kBB3J3zoAmdq91M/1kaEi9CpyWxlwzeVTz/KcJGCxcClknu4tmNgamqqhn9P1MIFazszE8iwB7FxZOdl1pd0zWsCRp6/Kkbc+8nmvspv6cUjOEueUIAqZg/G6rozgeNVfSWVJE5VImFYRKGXlnCiMqJaG2pv+bXFRTNuJ+H/VWUgQJlLn6CAcjhLPRrLKtao9o9u3wk9HcbRFVZOAO1u4LsksHb8dGoVBBcGdXoip/aRBAlg== X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: 204ef4e4-4bcc-4f1d-9d39-08df102a3831 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5469.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Sep 2026 17:29:23.2568 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: //qj0B8bU8hTjC5VdlY/x0g6QlCHtXbVgyVFlTteEGLROgDFgG50TnjAuNIaE0E/i2RRftchbLXl05npgB/UzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7027 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX3nxbcxiKmero 6zygizsnQj26D0m8CwlKOGygHu5535H4Io1kfe35/6QegTqlxbRrbrQbZSko4GayNwT7/I6+r1v q68FXrm71NvoPaQ+dSF2Ml2nRejfxI4FhP6LiTivDPHsFn1fn2R16qJVkvaeTGElnP//yqeECAT gclKQapKOjP6leuOcWOzHTNi71tv00pe53blXqt8Ng5Jxxk+BBie95MoeNL56zEnogr3A4+y1dc PhJseBGFEk/dissGjXNTSh9vNr55qRnuN0GKdMeWYXadvmOb7SZMJoh90Pkqg4yGl5v+gr63niO DDmipAcgsJ8udLk5gpALrepf/pUufmwF8R/cbSgneJJYQ8nTgy3BwBSLboH8FIsixjdL5vxHQmw hFjDeDGUZ0DSzn0zui4Pz6m8aR1JHgwlNavQAHIj1jub36/sNQbLt3TiFoxHKVKU+XYfDGUIs3B IT3zANj5G9otmHSooaQ== X-Authority-Analysis: v=2.4 cv=R6yWitRX c=1 sm=1 tr=0 ts=6aa43a76 cx=c_pps a=lEAAG6kgDLZw1ps4cEx4qA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=VdqzKS8jKosA:10 a=M51BFTxLslgA:10 a=VkNPw1HP01LnGYTKEx00:22 a=0sLvza09kfJOxVLZPwjg:22 a=ZQxX5BWu6Z8IJBb2zLX7:22 a=8AirrxEcAAAA:8 a=QyXUC8HyAAAA:8 a=gAnH3GRIAAAA:8 a=CIoI50WrR_K_g9tIiWcA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=ST-jHhOKWsTCqRlWije3:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTExMDI0NCBTYWx0ZWRfX85EhqJyux4P4 t+AeEF+Xw7KTaSL8FCCg+ClosKbENKgvDuE0GRniySxss/ykhoWYmbnope5OaIy1llPYsh1QjAJ 66kp9BfQIvo7Wzus/yhDWGSQ9Rbc0o9cxSeX+5I+ZlTvNCQMbKQs X-Proofpoint-ORIG-GUID: ZbtVjDmGUxFB5inbgERcHa8m9md9PEbz X-Proofpoint-GUID: ZbtVjDmGUxFB5inbgERcHa8m9md9PEbz X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-11_05,2026-09-11_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 impostorscore=0 phishscore=0 bulkscore=0 spamscore=0 adultscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2609040000 definitions=main-2609110244 All users of dma_get_slave_caps() that inspect bus width capabilities now use the bitmap helpers. Hence, remove the legacy u32 src_addr_widths and dst_addr_widths fields from struct dma_slave_caps and stop copying the dma_device masks into them. Note the legacy u32 src_addr_widths and dst_addr_widths fields in struct dma_device are kept for now as every DMA controller driver setting them still has to be converted to the new helpers. dma_get_slave_caps() keeps folding those masks into the bitmaps it returns so unconverted producers continue to work during the transition. Reviewed-by: Frank Li Reviewed-by: Andy Shevchenko Signed-off-by: Nuno S=C3=A1 --- drivers/dma/dmaengine.c | 31 +------------------------------ include/linux/dmaengine.h | 13 ++----------- 2 files changed, 3 insertions(+), 41 deletions(-) diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 8e68921cf01d..945079c677b1 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c @@ -596,8 +596,6 @@ int dma_get_slave_caps(struct dma_chan *chan, struct dm= a_slave_caps *caps) =20 dma_bus_width_copy(caps->src_bus_widths, device->src_bus_widths); dma_bus_width_copy(caps->dst_bus_widths, device->dst_bus_widths); - caps->src_addr_widths =3D device->src_addr_widths; - caps->dst_addr_widths =3D device->dst_addr_widths; =20 caps->directions =3D device->directions; caps->min_burst =3D device->min_burst; @@ -616,31 +614,9 @@ int dma_get_slave_caps(struct dma_chan *chan, struct d= ma_slave_caps *caps) * callback to override the generic capabilities with * channel-specific ones. */ - if (device->device_caps) { + if (device->device_caps) device->device_caps(chan, caps); =20 - /* - * A driver already converted to the bus width interface - * adjusts the masks, so derive the legacy capabilities from - * them for the consumers not converted yet. Drivers not - * converted adjust the legacy capabilities directly, in which - * case there is nothing to do. - * - * Goes away with the legacy dma_slave_caps fields. - */ - if (!bitmap_equal(caps->src_bus_widths.bits, - device->src_bus_widths.bits, - DMA_SLAVE_BUSWIDTH_MAX)) - caps->src_addr_widths =3D bitmap_read(caps->src_bus_widths.bits, - 0, 32); - - if (!bitmap_equal(caps->dst_bus_widths.bits, - device->dst_bus_widths.bits, - DMA_SLAVE_BUSWIDTH_MAX)) - caps->dst_addr_widths =3D bitmap_read(caps->dst_bus_widths.bits, - 0, 32); - } - return 0; } EXPORT_SYMBOL_GPL(dma_get_slave_caps); @@ -1208,14 +1184,9 @@ static void dma_device_fold_legacy_bus_widths(struct= dma_device *device) { if (bitmap_empty(device->src_bus_widths.bits, DMA_SLAVE_BUSWIDTH_MAX)) bitmap_from_arr32(device->src_bus_widths.bits, &device->src_addr_widths,= 32); - /* consumers not converted yet still read the legacy caps */ - else if (!device->src_addr_widths) - device->src_addr_widths =3D bitmap_read(device->src_bus_widths.bits, 0, = 32); =20 if (bitmap_empty(device->dst_bus_widths.bits, DMA_SLAVE_BUSWIDTH_MAX)) bitmap_from_arr32(device->dst_bus_widths.bits, &device->dst_addr_widths,= 32); - else if (!device->dst_addr_widths) - device->dst_addr_widths =3D bitmap_read(device->dst_bus_widths.bits, 0, = 32); } =20 /** diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 8236a1b274fb..657d3a1ee976 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h @@ -483,10 +483,7 @@ enum dma_residue_granularity { /** * struct dma_slave_caps - expose capabilities of a slave channel only * @src_bus_widths: mask of source bus widths the channel supports. - * @src_addr_widths: legacy bit mask of source bus widths the channel supp= orts. * @dst_bus_widths: mask of destination bus widths the channel supports. - * @dst_addr_widths: legacy bit mask of destination bus widths the channel - * supports. * @directions: bit mask of slave directions the channel supports. * Since the enum dma_transfer_direction is not defined as bit flag for * each type, the dma controller should set BIT() and same @@ -505,14 +502,8 @@ enum dma_residue_granularity { * resubmitted multiple times */ struct dma_slave_caps { - struct { - dma_buswidth_mask_t src_bus_widths; - u32 src_addr_widths; - }; - struct { - dma_buswidth_mask_t dst_bus_widths; - u32 dst_addr_widths; - }; + dma_buswidth_mask_t src_bus_widths; + dma_buswidth_mask_t dst_bus_widths; u32 directions; u32 min_burst; u32 max_burst; --=20 2.55.0