From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 46085347BD4 for ; Mon, 4 May 2026 12:16:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777896981; cv=none; b=fdP/26U456VwwScfAciW7QvuN0ZYwikYHfJDypLRDOx9LN2pqfCA64pWzfwaEOAd3oYnrInD8/5Afze00CYvMjvoY4SBbjaJbmnaVoy/jIad4UuCSW4fe0uDn0wc3GxX2m/+gM9EMKj90IECUXez6BGjrAUkW845dPDiVh+RYu8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777896981; c=relaxed/simple; bh=VveELzghzgx92/9Qy6YBiAz7Qpzrc96gg9l7rbe1IL4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=QSiRxGlg4v9yJyeTUofgnj5PrLeEzTsYICWnFLdopgwAac5EsKVmwzNfhjTBrUUAVMpVzTiwkTSfO+oblWUWoViD2JLmIGafyKu2TifFNrcwqlxb0DAbHHe7RF9/GjguBrL/nwh5A9p4eZ2GZVNluNOe88LgtGhujMwDzL2vQIk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=Q9jAgnpg; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="Q9jAgnpg" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-488940ccfa6so170715e9.1 for ; Mon, 04 May 2026 05:16:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1777896979; x=1778501779; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=NU4R8Qu0lIhzaFVACH0M7ebEyvf+bx2epSGVPFsYcB0=; b=Q9jAgnpgTKZZgqN2BfPHsZWEZ5U3HdvJ5C8xvbnp1TC+7ag8oxanu+SPzS0uzXPPKu wTPGtcg1gV835raR+aU/79SjJC9WMfk2oFgadMGN6vlc5WPV7SJOsaYcFRzzomKtsFsu Q+CU3ehiPaADXcrm4/t1HIMUL5efIONCo/o+LE65lsTbZMOpi9pbm8s6iJON+oZw/jDR 89aWZxYrAcvZXs2vND/HMRV51+sdZCo0e2qnJbKgOYCtwbyVm6jkg5zC8n5IRHgVtz8Q MWYaby5fMjvO2xQamScksd3v5y9QrTZTy7kqJdE/2p+B4OUBBHoGPRWlC+DUjBM2MQlF FGIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777896979; x=1778501779; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NU4R8Qu0lIhzaFVACH0M7ebEyvf+bx2epSGVPFsYcB0=; b=P3ReL57jy54g6D7HLO57pHjo7gOpMzR7N9VE4Q1fUlXJh1eHHs8cH5qGoAn6UCG4uH uU1XlGOw9Wxcsucmjtvvh57z0BeFyEd/FSw8I/pBZGG1v21pMrdyHl6xSD1OgCr2JvGj zmvSb5a/Fdh4fy4HPxGvjR/Exm8t96+V0ELJiKse/a+JX7j34oixSkl76NP2BeZoytrc dWf8dl8+R/PLnCCUbcJQMYJuSkKhw1GqxJ9i7zT2XqW5zNwPw4cZeUhQba+UcIlYdZ3C A5xPBYgESioFORQlgUc81epRnD3Wac0TYP1wSDEzAhNnCVH5rTOU0FGxmkotwhQmyfJa IY3Q== X-Forwarded-Encrypted: i=1; AFNElJ/CJ2bvLbkN8rFhtqJBKBKQ1qmBWHj2IGYbfapj4vThv8YO3L3woHF5XJFM0fqfnHCIpE6hoWgdTeavBMU=@vger.kernel.org X-Gm-Message-State: AOJu0YxMypo+/tGiQZVLHEBgbMdK+7PZL+8D49304xE6NFc/huh/Orov plbLQ0T1YKjvvY3IPgCyvUdu6Nxl9gnQdbvCX6LR8ge+Jnt+jGbFYd6VEuh9HwywHYVMZDxVamL MWXXeTg== X-Gm-Gg: AeBDievDm0VQ+p9Fes/H2EgjsI0oMqfHDDowFbg4xYvmPZU3BvXKhcdLpOyKSbcWS0w MWIZbfXmyO8oPJn9MlDVugOsS2BulxS45yZ/7oftPcTkcsFU6gFOVmoU0oZ3GgkW2R5QAZTMeoC pbBiIkFt75hn3OI3vmhEQ0KVxX0JKK3CdwkDUAqFR0EqoVRvU/hMCHK4qtbTV5JV6AUFCfxi92B bzLqFl06kwsXa5e+ncmai082Dmn3Wm4kqWnPbIZxrcT98+1KGYM4U3gZCYI00kMox8k3QfCvtWT ASCS5zNB0GTin6MoghmONhBNnb+j0EwsBHR9MeJsXxbk72XQYM4dUwR9xfLCGm3Mr6PQyhZeBFp HjjPogxzRvlS4Rx56BvFm8GYOcFFUIEDX5Psc4/S1z3rgM0C92Q93+zrWkYgzXmYZi6BkHUadn3 jtcTafbtSCEtCWQRsTyIvDuac+r9PRTob5Hl+nez5Cw9z5ZvcZZZe0HPvuUeIjWI83bIgEr5IEN H78Mg== X-Received: by 2002:a05:600c:4e8d:b0:489:1ace:d0d3 with SMTP id 5b1f17b1804b1-48ac3159bbcmr153605e9.3.1777896977198; Mon, 04 May 2026 05:16:17 -0700 (PDT) Received: from google.com (8.181.38.34.bc.googleusercontent.com. [34.38.181.8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a8ea7cf97sm29764334f8f.6.2026.05.04.05.16.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 05:16:16 -0700 (PDT) Date: Mon, 4 May 2026 12:16:13 +0000 From: Mostafa Saleh To: Jason Gunthorpe Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, iommu@lists.linux.dev, catalin.marinas@arm.com, will@kernel.org, maz@kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, joro@8bytes.org, jean-philippe@linaro.org, mark.rutland@arm.com, qperret@google.com, tabba@google.com, vdonnefort@google.com, sebastianene@google.com, keirf@google.com Subject: Re: [PATCH v6 05/25] iommu/arm-smmu-v3: Move IDR parsing to common functions Message-ID: References: <20260501111928.259252-1-smostafa@google.com> <20260501111928.259252-6-smostafa@google.com> <20260501124716.GD6912@ziepe.ca> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20260501124716.GD6912@ziepe.ca> On Fri, May 01, 2026 at 09:47:16AM -0300, Jason Gunthorpe wrote: > On Fri, May 01, 2026 at 11:19:07AM +0000, Mostafa Saleh wrote: > > Move parsing of IDRs to functions so that it can be re-used > > +unsigned long smmu_idr5_to_pgsize(u32 reg) > > +{ > > + unsigned long pgsize_bitmap = 0; > > + > > + if (reg & IDR5_GRAN64K) > > + pgsize_bitmap |= SZ_64K | SZ_512M; > > + if (reg & IDR5_GRAN16K) > > + pgsize_bitmap |= SZ_16K | SZ_32M; > > + if (reg & IDR5_GRAN4K) > > + pgsize_bitmap |= SZ_4K | SZ_2M | SZ_1G; > > + return pgsize_bitmap; > > +} > > I think this should include: > > > + smmu->oas = smmu_idr5_to_oas(reg); > > + if (smmu->oas == 52) > > smmu->pgsize_bitmap |= 1ULL << 42; /* 4TB */ > > - break; > > ie it should return the supported page sizes by inspecting all the > idrs and don't leave this tricky bit to be open coded.. This way was easier as each function only returns one thing, otherwise we have to pass stuff by address as we can’t pass the smmu struct as it is not shared between the drivers. But no strong opinion, I can change that. Thanks, Mostafa > > Jason