From: Dmitry Osipenko <digetx@gmail.com> To: Thierry Reding <thierry.reding@gmail.com> Cc: Nicolin Chen <nicoleotsuka@gmail.com>, joro@8bytes.org, krzk@kernel.org, vdumpa@nvidia.com, jonathanh@nvidia.com, linux-tegra@vger.kernel.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 2/3] iommu/tegra-smmu: Rework .probe_device and .attach_dev Date: Wed, 30 Sep 2020 19:25:41 +0300 [thread overview] Message-ID: <f11d7d8a-8ce6-a53c-6219-ceec05432002@gmail.com> (raw) In-Reply-To: <20200930160626.GD3833404@ulmo> 30.09.2020 19:06, Thierry Reding пишет: > On Wed, Sep 30, 2020 at 06:36:52PM +0300, Dmitry Osipenko wrote: >> I'... >>>> + struct tegra_mc *mc = devm_tegra_get_memory_controller(dev); >>>> + struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); >>> >>> It looks to me like the only reason why you need this new global API is >>> because PCI devices may not have a device tree node with a phandle to >>> the IOMMU. However, SMMU support for PCI will only be enabled if the >>> root complex has an iommus property, right? In that case, can't we >>> simply do something like this: >>> >>> if (dev_is_pci(dev)) >>> np = find_host_bridge(dev)->of_node; >>> else >>> np = dev->of_node; >>> >>> ? I'm not sure exactly what find_host_bridge() is called, but I'm pretty >>> sure that exists. >>> >>> Once we have that we can still iterate over the iommus property and do >>> not need to rely on this global variable. >> >> This sounds more complicated than the current variant. >> >> Secondly, I'm already about to use the new tegra_get_memory_controller() >> API for all the T20/30/124/210 EMC and devfreq drivers. > > Why do we need it there? They seem to work fine without it right now. All the Tegra30/124/210 EMC drivers are already duplicating that MC lookup code and only the recent T210 driver does it properly. > If it is required for new functionality, we can always make the dependent > on a DT reference via phandle without breaking any existing code. That's correct, it will be also needed for the new functionality as well, hence even more drivers will need to perform the MC lookup. I don't quite understand why you're asking for the phandle reference, it's absolutely not needed for the MC lookup and won't work for the older DTs if DT change will be needed. Please give a detailed explanation.
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com> To: Thierry Reding <thierry.reding@gmail.com> Cc: linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, krzk@kernel.org, jonathanh@nvidia.com, linux-tegra@vger.kernel.org Subject: Re: [PATCH v3 2/3] iommu/tegra-smmu: Rework .probe_device and .attach_dev Date: Wed, 30 Sep 2020 19:25:41 +0300 [thread overview] Message-ID: <f11d7d8a-8ce6-a53c-6219-ceec05432002@gmail.com> (raw) In-Reply-To: <20200930160626.GD3833404@ulmo> 30.09.2020 19:06, Thierry Reding пишет: > On Wed, Sep 30, 2020 at 06:36:52PM +0300, Dmitry Osipenko wrote: >> I'... >>>> + struct tegra_mc *mc = devm_tegra_get_memory_controller(dev); >>>> + struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); >>> >>> It looks to me like the only reason why you need this new global API is >>> because PCI devices may not have a device tree node with a phandle to >>> the IOMMU. However, SMMU support for PCI will only be enabled if the >>> root complex has an iommus property, right? In that case, can't we >>> simply do something like this: >>> >>> if (dev_is_pci(dev)) >>> np = find_host_bridge(dev)->of_node; >>> else >>> np = dev->of_node; >>> >>> ? I'm not sure exactly what find_host_bridge() is called, but I'm pretty >>> sure that exists. >>> >>> Once we have that we can still iterate over the iommus property and do >>> not need to rely on this global variable. >> >> This sounds more complicated than the current variant. >> >> Secondly, I'm already about to use the new tegra_get_memory_controller() >> API for all the T20/30/124/210 EMC and devfreq drivers. > > Why do we need it there? They seem to work fine without it right now. All the Tegra30/124/210 EMC drivers are already duplicating that MC lookup code and only the recent T210 driver does it properly. > If it is required for new functionality, we can always make the dependent > on a DT reference via phandle without breaking any existing code. That's correct, it will be also needed for the new functionality as well, hence even more drivers will need to perform the MC lookup. I don't quite understand why you're asking for the phandle reference, it's absolutely not needed for the MC lookup and won't work for the older DTs if DT change will be needed. Please give a detailed explanation. _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2020-09-30 16:25 UTC|newest] Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-30 8:42 [PATCH v3 0/3] iommu/tegra-smmu: Add PCI support Nicolin Chen 2020-09-30 8:42 ` Nicolin Chen 2020-09-30 8:42 ` [PATCH v3 1/3] memory: tegra: Add devm_tegra_get_memory_controller() Nicolin Chen 2020-09-30 8:42 ` Nicolin Chen 2020-09-30 9:07 ` Krzysztof Kozlowski 2020-09-30 9:07 ` Krzysztof Kozlowski 2020-09-30 9:41 ` Nicolin Chen 2020-09-30 9:41 ` Nicolin Chen 2020-09-30 10:27 ` Krzysztof Kozlowski 2020-09-30 10:27 ` Krzysztof Kozlowski 2020-09-30 14:41 ` Dmitry Osipenko 2020-09-30 14:41 ` Dmitry Osipenko 2020-09-30 14:45 ` Krzysztof Kozlowski 2020-09-30 14:45 ` Krzysztof Kozlowski 2020-09-30 15:22 ` Dmitry Osipenko 2020-09-30 15:22 ` Dmitry Osipenko 2020-09-30 15:23 ` Thierry Reding 2020-09-30 15:23 ` Thierry Reding 2020-09-30 15:27 ` Dmitry Osipenko 2020-09-30 15:27 ` Dmitry Osipenko 2020-09-30 15:53 ` Dmitry Osipenko 2020-09-30 15:53 ` Dmitry Osipenko 2020-09-30 16:03 ` Thierry Reding 2020-09-30 16:03 ` Thierry Reding 2020-09-30 16:06 ` Dmitry Osipenko 2020-09-30 16:06 ` Dmitry Osipenko 2020-09-30 16:15 ` Thierry Reding 2020-09-30 16:15 ` Thierry Reding 2020-09-30 16:26 ` Dmitry Osipenko 2020-09-30 16:26 ` Dmitry Osipenko 2020-09-30 16:38 ` Thierry Reding 2020-09-30 16:38 ` Thierry Reding 2020-09-30 17:32 ` Dmitry Osipenko 2020-09-30 17:32 ` Dmitry Osipenko 2020-09-30 8:42 ` [PATCH v3 2/3] iommu/tegra-smmu: Rework .probe_device and .attach_dev Nicolin Chen 2020-09-30 8:42 ` Nicolin Chen 2020-09-30 9:21 ` Krzysztof Kozlowski 2020-09-30 9:21 ` Krzysztof Kozlowski 2020-09-30 9:40 ` Nicolin Chen 2020-09-30 9:40 ` Nicolin Chen 2020-09-30 10:19 ` Krzysztof Kozlowski 2020-09-30 10:19 ` Krzysztof Kozlowski 2020-09-30 14:41 ` Dmitry Osipenko 2020-09-30 14:41 ` Dmitry Osipenko 2020-09-30 15:09 ` Dmitry Osipenko 2020-09-30 15:09 ` Dmitry Osipenko 2020-09-30 20:51 ` Nicolin Chen 2020-09-30 20:51 ` Nicolin Chen 2020-09-30 15:31 ` Thierry Reding 2020-09-30 15:31 ` Thierry Reding 2020-09-30 15:36 ` Dmitry Osipenko 2020-09-30 15:36 ` Dmitry Osipenko 2020-09-30 16:06 ` Thierry Reding 2020-09-30 16:06 ` Thierry Reding 2020-09-30 16:25 ` Dmitry Osipenko [this message] 2020-09-30 16:25 ` Dmitry Osipenko 2020-09-30 16:47 ` Thierry Reding 2020-09-30 16:47 ` Thierry Reding 2020-10-01 2:11 ` Dmitry Osipenko 2020-10-01 2:11 ` Dmitry Osipenko 2020-10-01 7:58 ` Thierry Reding 2020-10-01 7:58 ` Thierry Reding 2020-10-01 19:04 ` Dmitry Osipenko 2020-10-01 19:04 ` Dmitry Osipenko 2020-10-05 9:16 ` Thierry Reding 2020-10-05 9:16 ` Thierry Reding 2020-10-05 9:38 ` Dmitry Osipenko 2020-10-05 9:38 ` Dmitry Osipenko 2020-10-05 10:27 ` Thierry Reding 2020-10-05 10:27 ` Thierry Reding 2020-09-30 16:10 ` Thierry Reding 2020-09-30 16:10 ` Thierry Reding 2020-09-30 16:29 ` Dmitry Osipenko 2020-09-30 16:29 ` Dmitry Osipenko 2020-10-01 7:59 ` Thierry Reding 2020-10-01 7:59 ` Thierry Reding 2020-09-30 20:36 ` Nicolin Chen 2020-09-30 20:36 ` Nicolin Chen 2020-09-30 21:24 ` Dmitry Osipenko 2020-09-30 21:24 ` Dmitry Osipenko 2020-09-30 21:32 ` Nicolin Chen 2020-09-30 21:32 ` Nicolin Chen 2020-09-30 21:56 ` Dmitry Osipenko 2020-09-30 21:56 ` Dmitry Osipenko 2020-10-01 1:26 ` Nicolin Chen 2020-10-01 1:26 ` Nicolin Chen 2020-10-01 2:06 ` Dmitry Osipenko 2020-10-01 2:06 ` Dmitry Osipenko 2020-10-01 2:48 ` Nicolin Chen 2020-10-01 2:48 ` Nicolin Chen 2020-10-01 4:04 ` Dmitry Osipenko 2020-10-01 4:04 ` Dmitry Osipenko 2020-10-01 10:23 ` Thierry Reding 2020-10-01 10:23 ` Thierry Reding 2020-10-01 11:04 ` Nicolin Chen 2020-10-01 11:04 ` Nicolin Chen 2020-10-01 20:33 ` Dmitry Osipenko 2020-10-01 20:33 ` Dmitry Osipenko 2020-10-02 1:07 ` Nicolin Chen 2020-10-02 1:07 ` Nicolin Chen 2020-10-02 1:55 ` Dmitry Osipenko 2020-10-02 1:55 ` Dmitry Osipenko 2020-10-02 2:54 ` Nicolin Chen 2020-10-02 2:54 ` Nicolin Chen 2020-10-05 7:24 ` Thierry Reding 2020-10-05 7:24 ` Thierry Reding 2020-10-05 7:13 ` Thierry Reding 2020-10-05 7:13 ` Thierry Reding 2020-10-05 8:14 ` Dmitry Osipenko 2020-10-05 8:14 ` Dmitry Osipenko 2020-10-05 9:31 ` Thierry Reding 2020-10-05 9:31 ` Thierry Reding 2020-10-01 9:54 ` Thierry Reding 2020-10-01 9:54 ` Thierry Reding 2020-10-01 9:51 ` Thierry Reding 2020-10-01 9:51 ` Thierry Reding 2020-10-01 10:33 ` Nicolin Chen 2020-10-01 10:33 ` Nicolin Chen 2020-10-01 10:42 ` Thierry Reding 2020-10-01 10:42 ` Thierry Reding 2020-10-01 9:47 ` Thierry Reding 2020-10-01 9:47 ` Thierry Reding 2020-10-01 10:46 ` Thierry Reding 2020-10-01 10:46 ` Thierry Reding 2020-10-02 1:29 ` Nicolin Chen 2020-10-02 1:29 ` Nicolin Chen 2020-09-30 8:42 ` [PATCH v3 3/3] iommu/tegra-smmu: Add PCI support Nicolin Chen 2020-09-30 8:42 ` Nicolin Chen 2020-09-30 14:53 ` Dmitry Osipenko 2020-09-30 14:53 ` Dmitry Osipenko 2020-09-30 20:03 ` Nicolin Chen 2020-09-30 20:03 ` Nicolin Chen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=f11d7d8a-8ce6-a53c-6219-ceec05432002@gmail.com \ --to=digetx@gmail.com \ --cc=iommu@lists.linux-foundation.org \ --cc=jonathanh@nvidia.com \ --cc=joro@8bytes.org \ --cc=krzk@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=nicoleotsuka@gmail.com \ --cc=thierry.reding@gmail.com \ --cc=vdumpa@nvidia.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.