From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 45E8ACD4857 for ; Wed, 4 Sep 2024 16:31:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:CC:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=CBX1uvhmKJndRLB9tJk8hVTIWwLIIfnXVh1imhUgURw=; b=g+Y5i65U+MlHHuHCXwH/sHteK5 onZXHSTXRni5s3V1cI61GvvtuFtw7bhsQaFosynt7sEa7H6M3M2HkfLC0tfKuIwYPa4EllI4EQfHU TqYKpf0XKSocvVTiPa113mPH4qeNlrR7YVYr/7pVOJCILPvjfLrSegf3TpsKltjc+nU8S4wp4tAPw hjZwTecGRSpzSSe6wHsGCp5OhIM9HJ0d3aXmZCgWR/JxeFtgy1ypWmZG84bBBSJzN0lisawKslT4x R4Cp+KTAKDSQP82pMgUGUbTYxv+KV0+HdSpo4zJkc2hiy9zVxRmCN6rcClo1GQ3W9sXMEcW8SWYrz p2moFbBg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1slsuE-00000005GKT-3zW4; Wed, 04 Sep 2024 16:30:54 +0000 Received: from mail-bn8nam12on2061e.outbound.protection.outlook.com ([2a01:111:f403:2418::61e] helo=NAM12-BN8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1slrlG-00000004xc8-09Ge for linux-arm-kernel@lists.infradead.org; Wed, 04 Sep 2024 15:17:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RmS3c08Pk4RBVtcf6/Upfn+sMjTIfUoe36PdXLo4JuDR7GQPjYKhmxvah1t2bcAfp8FxW+qnPYr40ogBmaZEYTaYF6516Ck6SVyNqvoGgyhQfvDPNQVs32zPYYALV5+TxviPgHTKS+yIBND4eqzk1/SyrmvIVy1/1mux+UHxOGkyv/V0qTPiOgIm36ciZo0hYq0RpC/ADV0cszYjHZyOHgXu1cDG8HM/3CPREOKry6+Swv2TbrA9Py50MTBZmD8KwX2BbdiD2AHm8Sox6twYebAs7CKaSHRXk6atoz26/fMBvUsYvExgM3gTIOFORVS4f17DwFKntfQBdwBucLHABA== 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=CBX1uvhmKJndRLB9tJk8hVTIWwLIIfnXVh1imhUgURw=; b=KUmYtjyCDdVWKN65KM6iPjqWBlAMLk23pWJef6hAvGr519JZfc/PAElVYVnlyXPAGqDPcjmjmq2gVtMCWRk/qju5/HNqU8s8ZRKDrgntV5BNNW8OafXlEwXeBhr7850xLSap94TSfHIfyF866MhrN7EU/N3GYH5+f1yxtHM8VpQR2t3mO8WvfN5/atzF+tyUhkDlEECMIRWHhIow5ENrEAPZVm7OdiQDcaL5aqi8XmR3+D5ufxusPYbBYSb4RPfjfLPU8NufTwrQxI2yhrD7Z4WMRP+gjrMk9wbOBM3/XD5ZEfVLvkjo7HT8PpxTyGfyd81ZPdC7KbaRvi6tt5UstQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=linaro.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CBX1uvhmKJndRLB9tJk8hVTIWwLIIfnXVh1imhUgURw=; b=Kr/OegcYYYIp05ayo2xgD7+5KPTBO2rPdYYLBeIHmcSwJd4nkRJMrtKbr//qks99P4OeSFH06SkqnMpLJebeuotkNQmvdocQxptgbsTp4Aoow1EvhvbtxKHOflbiGeCX9HXDX9wQp6e7jRWXlxS+Kd99f9RXd6lvzzcBi9gb91aQ5hD4B0JJ/rmZTv9WwlKQxIF/P5ueH+onyhXZb4QRNBiaK2LAawMal/B6hJb/UFm34IDOQCW/itgsZ3dVlXVcRTMddRYVlzjotpGcLGE2OdCgVQyfGNa+Ma26OYgqbQu4Wmpit6tfiOAKisBwddaehNuNzB6R5I9jSVhc/s2KxQ== Received: from BN0PR10CA0015.namprd10.prod.outlook.com (2603:10b6:408:143::33) by BL1PR12MB5852.namprd12.prod.outlook.com (2603:10b6:208:397::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.25; Wed, 4 Sep 2024 15:17:29 +0000 Received: from BL02EPF00021F6F.namprd02.prod.outlook.com (2603:10b6:408:143:cafe::1c) by BN0PR10CA0015.outlook.office365.com (2603:10b6:408:143::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7939.14 via Frontend Transport; Wed, 4 Sep 2024 15:17:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by BL02EPF00021F6F.mail.protection.outlook.com (10.167.249.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.13 via Frontend Transport; Wed, 4 Sep 2024 15:17:29 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 4 Sep 2024 08:17:14 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 4 Sep 2024 08:17:13 -0700 Received: from Asurada-Nvidia (10.127.8.9) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4 via Frontend Transport; Wed, 4 Sep 2024 08:17:13 -0700 Date: Wed, 4 Sep 2024 08:17:11 -0700 From: Nicolin Chen To: Dan Carpenter CC: , , , , , , , , , , Subject: Re: [PATCH v14 08/10] iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241 (Grace) CMDQV Message-ID: References: <38b6ed33-886f-4ec7-9196-1728f1d8c1b3@stanley.mountain> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <38b6ed33-886f-4ec7-9196-1728f1d8c1b3@stanley.mountain> X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6F:EE_|BL1PR12MB5852:EE_ X-MS-Office365-Filtering-Correlation-Id: d32c3242-dd1b-4f94-5789-08dcccf4b0fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Yb7sxhdNRvHFKq9v5ty95hwtFcEyC4xKRekmF6rhKj2mpI/PFacCPs2er73a?= =?us-ascii?Q?BFBma8xxhPfslacNxUFbY+yOPDUyik/VFp81zEuD9E+/5CuuqC0F1mjNLlT2?= =?us-ascii?Q?Jet8qTq7BTl2/mnShmllhY3oBPEDV2gawQdgtpWFdEql7GRFEJM+gm8Pfpsh?= =?us-ascii?Q?EhF9B5XCderXjE1fRAgEPu1W9kT8xuZGJ7QWtczdcZlbfg22h3eaV/05soKk?= =?us-ascii?Q?rns80vdbgD4hR/wVM2RqPAIZ+wQ3RNhMzvC+7lJ7o5wW/dSlv8a1HNGVe2Kg?= =?us-ascii?Q?Qxj3fPgxgnd8QBhdmtEBVVfGnACgWs70WILTM7BVygdrprAJcZnY5X+AltdU?= =?us-ascii?Q?LSNgbyeaT4uoRLLUS0gocNAX+Yb6h51baXaXXjahuX3wg8x9N4ujzuTyMfdy?= =?us-ascii?Q?3iMOn7LJdeoPvi+fp1/Y+lW0QU9R+egh64dF7VHx34iUx01tR9x6F2me6j0u?= =?us-ascii?Q?00Y34DulLY7cVGaAND369nvMNBYr5yngPWrZMeYfcPnUdpQ5QZ5FnrDqg+y6?= =?us-ascii?Q?1V5+It3M9D7qg49PmxtBgBiSWALtViT2nou2EsRq6L7EeKvCkgCg75SrYjTr?= =?us-ascii?Q?veldD6n7rLnV59HAl4KYLmirl2a3EHXDZ5wjHOKEwTDXMnuhRtSdyS4eow7v?= =?us-ascii?Q?kzkjv6xjCHkVb1G0V/TOiQruK9v+u1kYFLltR9UaPAQqt4lezUTuZrOmUrXp?= =?us-ascii?Q?JpifT4uHvyMSS8Cfg1qK7G7sWLjsE5ZoaHXE3oGQtWa8tgnk02WhIjBa77KO?= =?us-ascii?Q?JCu0U18SfwkAKk+ZQu7wGRnRjD/FUzi9c5sjOCWVBlsD7xFr2+5/n2xOJEuG?= =?us-ascii?Q?5BFRcZRO/rUPZLEr9cPsrlSOVwwd7R/9Imz92YX7pxiSllXtK7qJjAe82RBn?= =?us-ascii?Q?26FGm9E8UFyhPW9F29HJUufzT82baTdGZOf9azm8SV2VMrKIUbWCIE+8/60Z?= =?us-ascii?Q?x2pN4QwGIQ2xvdz2DcMbRDjJvR2ukuEjMHtS5tRjMBPg/fy99kgXpjZ+DBTS?= =?us-ascii?Q?IKSv9gUy5apqcctB360UrvLRuZJUoIvakuRX2nZJHFncU/+g2DmyfrVyA/UG?= =?us-ascii?Q?e2lFN+qegP2gsh8CfETZoapNIoMZQRXYo8s8mMHTec4JRwzxzoVH8y8zL4a0?= =?us-ascii?Q?WeaN7njLTWRZSVo2XHsYpQrA3cJUOXUdD0elASLuhYGT5s7W+bC5oXgTbcVm?= =?us-ascii?Q?9TZgIuwJfQ/tTpL71r/QR/R3Vhw6FoCE84SB3rf8LfXuPR2QQdXFDCUCIyYd?= =?us-ascii?Q?MFnrDxNS7uXPxtNMFceJ/Ar4zDWD3gFr35e3+OwPdk4EJ9ZbmJyG3Fv699Yk?= =?us-ascii?Q?z7dSXEzZ3LuUfblvIR7gu8twmYSRRVTTCrVxkx1f8UKq16W/KmYdEMAgI2RA?= =?us-ascii?Q?IOKzZEC6mQXy43IYUrUqSXXrLQwySnBWMuVNLQ0tC4F4gqHqhnXm3h/+4zh3?= =?us-ascii?Q?eF/p0/AuceG36pg7pvkYwZnxGulSyFrj?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(1800799024)(82310400026)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2024 15:17:29.1216 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d32c3242-dd1b-4f94-5789-08dcccf4b0fd X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00021F6F.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5852 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240904_081734_542185_5A5F1A1C X-CRM114-Status: GOOD ( 22.17 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Dan, On Wed, Sep 04, 2024 at 10:29:26AM +0300, Dan Carpenter wrote: > I was reviewing Smatch warnings: > > drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c:616 tegra241_cmdqv_init_vintf() > error: Calling ida_alloc_max() with a 'max' argument which is a power of 2. -1 missing? > > The problem is that we're calling ida_alloc_max() where max is always zero. > > > +static int tegra241_cmdqv_init_vintf(struct tegra241_cmdqv *cmdqv, u16 max_idx, > > + struct tegra241_vintf *vintf) > > +{ > > + > > + u16 idx; > > + int ret; > > + > > + ret = ida_alloc_max(&cmdqv->vintf_ids, max_idx, GFP_KERNEL); > > + if (ret < 0) > > + return ret; > > + idx = ret; > > max_idx is always zero so idx is always zero. There is a followup series adding support for max[1, max_vintf]. And I guess that would make Smatch happy. I'd personally prefer keep this by ignoring the Smatch warning. But if you think the common practice is to drop it and add back, I'd be okay with it. > > + > > + vintf->idx = idx; > > + vintf->cmdqv = cmdqv; > > + vintf->base = cmdqv->base + TEGRA241_VINTF(idx); > > + > > + vintf->lvcmdqs = kcalloc(cmdqv->num_lvcmdqs_per_vintf, > > + sizeof(*vintf->lvcmdqs), GFP_KERNEL); > > + if (!vintf->lvcmdqs) { > > + ida_free(&cmdqv->vintf_ids, idx); > > + return -ENOMEM; > > + } > > + > > + cmdqv->vintfs[idx] = vintf; > > We only use the first element of this array. > > > + return ret; > > +} > > We could get rid of the ida_ stuff and change the cmdqv->vintfs[] array to a > pointer. It would simplify the code. As mentioned above, a following series is adding other vintfs. There is no warning/error to this array, I'd prefer we keep it as is. Thanks Nicolin