Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp612917ybe; Mon, 2 Sep 2019 06:42:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqzK35F0IWN8P6odU+pfS7iJrmAhI9ZcYzj+ioIVKcfzv3dmlxI8Ma7D6UL5WccCVjS2GWSN X-Received: by 2002:a17:902:547:: with SMTP id 65mr29679040plf.131.1567431755086; Mon, 02 Sep 2019 06:42:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567431755; cv=none; d=google.com; s=arc-20160816; b=lFWLRFkdet1zBngkobXTIHl5VfAoBXkNKTqrg4STans/0AJaPX5zrNKD6XVNHsP10Y qsoDiy5XnFycXE9KO04AJMMqUV1AyONjJkgx4KpuXy8U4aeIQ1B37k9NXgDlSeRpCD2W kn6uPKfy2su/6A03T4EXGP9D8eSbjwUxxaOJ6sKHyfNdltPRm7JWKmGNa7ELpkllX5la a+wEFnP81nNoLku7WffBITXXrPknRfQhQoz7UbrWpa5Dr4ndsO1pwYtU3bfzp084K1OX N+xdw5Ie6a22PNBbJd3LVrMNSLQwp2mbFxW637mFH38xVhzV/fGUPNoKwlO+I1zTgFUs 8Upg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=weRYk5vuSjwXDDrJDs4TYXqjSOOaEXQZc3y0qEN7TJo=; b=Ibe4CGmpj9LUFXg07LAilN6y9MfYiNUXbKpgJf4i3WAPsPeBDoi42iwTnKmaCC7LwO xMUUk59lAz6p6aULvdUBFFn7OVt7D+eZUYB6X0OLaDEVWG742Wj0j+mgl3iVPMNhvW9H 0pXJomzegUqp7VV5mY3qmiaMR52Ayl6fy37ofg94Qwgqejd8OLDvT/lvfyp3k0UDhEZ/ VWvbeDTz7NmpN1P393pY5fTWxAn4mR5J3QPx0uIZmgPuzx+YWtJhlrljtBq7SWsnSMiO CtzgRjP9Zx5AdpsdGc+lPKQFZ9zSblDjKv2LNVK4+4eEC+R7N77RCYVj8uToThdT6NBe suBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h7si13100360pfn.132.2019.09.02.06.42.19; Mon, 02 Sep 2019 06:42:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731481AbfIBNkE (ORCPT + 99 others); Mon, 2 Sep 2019 09:40:04 -0400 Received: from foss.arm.com ([217.140.110.172]:54764 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731454AbfIBNkC (ORCPT ); Mon, 2 Sep 2019 09:40:02 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D16C7337; Mon, 2 Sep 2019 06:40:01 -0700 (PDT) Received: from [10.1.197.57] (e110467-lin.cambridge.arm.com [10.1.197.57]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6C16B3F59C; Mon, 2 Sep 2019 06:39:57 -0700 (PDT) Subject: Re: [PATCH 1/7] iommu/arm-smmu: add Nvidia SMMUv2 implementation To: Krishna Reddy Cc: Sachin Nikam , "Thomas Zeng (SW-TEGRA)" , Juha Tukkinen , Mikko Perttunen , Pritesh Raithatha , "iommu@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" , Timo Alho , Yu-Huan Hsu , "linux-tegra@vger.kernel.org" , Thierry Reding , Alexander Van Brunt , "linux-arm-kernel@lists.infradead.org" , "will.deacon@arm.com" , "joro@8bytes.org" References: <1567118827-26358-1-git-send-email-vdumpa@nvidia.com> <1567118827-26358-2-git-send-email-vdumpa@nvidia.com> <2ae9e0c4-6916-b005-f4bd-29e06d2056c6@arm.com> From: Robin Murphy Message-ID: <3f2cbbe2-f6d7-07e3-3fef-18af518dedef@arm.com> Date: Mon, 2 Sep 2019 14:39:56 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 30/08/2019 19:16, Krishna Reddy wrote: >>> +ARM_SMMU_MATCH_DATA(nvidia_smmuv2, ARM_SMMU_V2, NVIDIA_SMMUV2); > >> From the previous discussions, I got the impression that other than the 'novel' way they're integrated, the actual SMMU implementations were unmodified Arm MMU-500s. Is that the case, or have I misread something? > > The ARM MMU-500 implementation is unmodified. It is the way the are integrated and used together(for interleaved accesses) is different from regular ARM MMU-500. > I have added it to get the model number and to be able differentiate the SMMU implementation in arm-smmu-impl.c. In that case, I would rather keep smmu->model representing the MMU-500 microarchitecture - since you'll still want to pick up errata workarounds etc. for that - and detect the Tegra integration via an explicit of_device_is_compatible() check in arm_smmu_impl_init(). For comparison, under ACPI we'd probably have to detect integration details by looking at table headers, separately from the IORT "Model" field, so I'd prefer if the DT vs. ACPI handling didn't diverge more than necessary. Of course, that immediately opens the question of how best to combine arm_mmu500_impl with nsmmu_impl, but hey, one step at a time :) Robin.