Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp2290397pxf; Sat, 13 Mar 2021 14:59:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJzm1TD4g/OuQ5RYFULXQwgbNDyuiHwQpkAEm1wehXX8tdXlf5RHFgmc96EJcSqWBwY+YFF4 X-Received: by 2002:a17:906:3f88:: with SMTP id b8mr5303585ejj.36.1615676397995; Sat, 13 Mar 2021 14:59:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615676397; cv=none; d=google.com; s=arc-20160816; b=eCARz3P/zxldbtmyldENXIuJzpUXtTA5a60y8FLzqOLD/g08RXgLFm8MrG0vhy2Xn8 WCJ6fSZzJbo92HPMmbAeZQWNeEaB6LNjtn81z2zpQfPTkPlQ8GOhs9rj4/8nREZPXPxP 9HC4T2raX0zzOxsZZpOp3DaPXqz97ZvdPeabOaZDx4zb6/rM4M3fBRScjwu6maC+hyFc f81Yl4lN4fE/kDqdNTA2wxWWzkLPIg1jRdErcBwg1nii0beWStzaewQYN9mIhFKDjB13 iY5bvJ4a9YsCMWoeZgsgJqo/EtLgKbtVoQeKl2nWg3Xii60VF9k9+/lbn1j9mWpMtcwX S21Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=ZeQpfKGikM556gB312kKuWrZWMdYA+ch/LZuyQT8OHk=; b=Gan/kiaQhb8uBo1UN0jCeUIT+doGIX9HHMfHAJx7pPV5OIG0WRofUTEiQA8PZY4sJr xm3x/lUtYexv/frJEajNV2c35aBX+vRFuT8xjlYmFrC+wNC31yFLDzu5fKs+irZ2DR/3 pTAY1lEm931XGat6Hhs9phnk4AevOZI7sL1EJv1Y1cg284/pgVDzp3hzdtLrR82qqbJ6 IwEp2RElP15zPpVtw7JF786MZA6mnPPPmFJ4BGpbAc0HNLxnqWuxcCUYNI2ofdrrxKKC iyt3mYZMcRR9Svl5qTUBKAE2iS23/hO1WqxXIy8et+2BsLzJA7QZEaENFMRDLUQ+zjoP dFbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Id27IwZD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u12si8780719eda.121.2021.03.13.14.59.35; Sat, 13 Mar 2021 14:59:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Id27IwZD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233643AbhCMWzC (ORCPT + 99 others); Sat, 13 Mar 2021 17:55:02 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231205AbhCMWyS (ORCPT ); Sat, 13 Mar 2021 17:54:18 -0500 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 58B5BC061574; Sat, 13 Mar 2021 14:54:16 -0800 (PST) Received: by mail-pj1-x1029.google.com with SMTP id a22-20020a17090aa516b02900c1215e9b33so12485591pjq.5; Sat, 13 Mar 2021 14:54:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=ZeQpfKGikM556gB312kKuWrZWMdYA+ch/LZuyQT8OHk=; b=Id27IwZD3Ma6UhBAhLw0/YI2T2aivdYncTisogUPgE8BfvcVqm0Bu1tHUIlkVa65Dd EFbZOcNYK9EA7iVE4NuajCxa18r0Yra2Q6r4ufGugGCbx6AregeCKThvgJUyzM1sSxo3 Ean/kUTHHtm5mRmZ4vekDBycT+u3r2Nya2UMgYJWQNnmCbkgwTRFpYqXXu1sW1rsTmb+ 8Gm983leCcS/FvwiH1coThkX5LLWCiIAGdlDfw46l8w7Pdez9YtCekixZyG4oSI/HqnE zQZDzZb42wQBvSbWoPnlCdOJS0kytfU6plIHZ+R6Y7laK1nUKB3joVZ1C3mhc+bqdVF1 CVlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=ZeQpfKGikM556gB312kKuWrZWMdYA+ch/LZuyQT8OHk=; b=Qxyg+IG90z3VEAV7/UXpl962D0wArVi2Khh3nBTVG9bnjvk0ikO8sA/uPjAE42/RIm jSdZEORCazOkYq3/hIFEQAfWn1hP44YCcemamEHqn7Hpl+cESvAgtUjwjGlyk5M7V+dF Jgxd9uYFJ0hbWxlonft8QExckXlfJGRrlearO18BwBqiMH8UBX2kPISv+wHo7OqA1iNf ura9GaCpjVZwrXVuAYfibOYVgOKUdHcqL/V4LDvRJLW4v4DuxUq/4ERjXaH7F79Zop3B RU0QqYbaOwPPuDhurItI0Tq9/vsyGYPujxWeayW/6Ge+PeeyZON/U57hRZvEcYiY+147 DyNw== X-Gm-Message-State: AOAM531KmNREhy8oWBcCdEA7J3xBoRU80zJFN6NIq63eagwjU/KlLFVT XxlM0kA8cZPuRo3fjVkzyCejkShfS/YwFA== X-Received: by 2002:a17:902:6bca:b029:e2:c5d6:973e with SMTP id m10-20020a1709026bcab02900e2c5d6973emr4890259plt.40.1615676055681; Sat, 13 Mar 2021 14:54:15 -0800 (PST) Received: from Asurada-Nvidia (thunderhill.nvidia.com. [216.228.112.22]) by smtp.gmail.com with ESMTPSA id n9sm5865620pjq.38.2021.03.13.14.54.14 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 13 Mar 2021 14:54:15 -0800 (PST) Date: Sat, 13 Mar 2021 14:52:00 -0800 From: Nicolin Chen To: Dmitry Osipenko Cc: Thierry Reding , Joerg Roedel , Jonathan Hunter , Krishna Reddy , Will Deacon , iommu@lists.linux-foundation.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1] iommu/tegra-smmu: Make tegra_smmu_probe_device() to handle all IOMMU phandles Message-ID: <20210313225159.GA11402@Asurada-Nvidia> References: <20210312155439.18477-1-digetx@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210312155439.18477-1-digetx@gmail.com> User-Agent: Mutt/1.9.4 (2018-02-28) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 12, 2021 at 06:54:39PM +0300, Dmitry Osipenko wrote: > The tegra_smmu_probe_device() handles only the first IOMMU device-tree > phandle, skipping the rest. Devices like 3D module on Tegra30 have > multiple IOMMU phandles, one for each h/w block, and thus, only one > IOMMU phandle is added to fwspec for the 3D module, breaking GPU. > Previously this problem was masked by tegra_smmu_attach_dev() which > didn't use the fwspec, but parsed the DT by itself. The previous commit > to tegra-smmu driver partially reverted changes that caused problems for > T124 and now we have tegra_smmu_attach_dev() that uses the fwspec and > the old-buggy variant of tegra_smmu_probe_device() which skips secondary > IOMMUs. > > Make tegra_smmu_probe_device() not to skip the secondary IOMMUs. This > fixes a partially attached IOMMU of the 3D module on Tegra30 and now GPU > works properly once again. > > Fixes: 765a9d1d02b2 ("iommu/tegra-smmu: Fix mc errors on tegra124-nyan") > Signed-off-by: Dmitry Osipenko Tested-by: Nicolin Chen