From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Subject: Re: [PATCH] iommu/exynos: Get rid of 'struct exynos_iommu_owner' exynos_iommu_owner Date: Thu, 9 Apr 2020 16:30:59 +0200 Message-ID: <20200409143059.GP3103@8bytes.org> References: <20200407183742.4344-1-joro@8bytes.org> <20200407183742.4344-32-joro@8bytes.org> <449e7f16-e719-9617-ec92-63b82c0bc33f@samsung.com> <20200409114620.GA16298@8bytes.org> <40af831b-d00c-0cf9-0a06-e60c048a9ab8@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <40af831b-d00c-0cf9-0a06-e60c048a9ab8@samsung.com> Sender: linux-kernel-owner@vger.kernel.org To: Marek Szyprowski Cc: Will Deacon , Robin Murphy , Kukjin Kim , Krzysztof Kozlowski , David Woodhouse , Lu Baolu , Andy Gross , Bjorn Andersson , Matthias Brugger , Rob Clark , Heiko Stuebner , Gerald Schaefer , Thierry Reding , Jonathan Hunter , Jean-Philippe Brucker , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-rockchi List-Id: virtualization@lists.linuxfoundation.org Hi Marek, On Thu, Apr 09, 2020 at 03:58:00PM +0200, Marek Szyprowski wrote: > The main problem after your conversion is the fact that ->probe_device() > is called very early, before any other platform device (thus IOMMU > controller) is is probed. It doesn't handle EPROBE_DEFER too. I don't quite understand why probe_device() is called too early, as it is called at the same time add_device() was called before. But anyway, I have seen a similar problem on OMAP. If the SYSMMU for a master is not probed yet when probe_device() is called, it can just return -ENODEV and in your driver you just call but_iommu_probe() when a new SYSMMU got initialized to re-probe uninitialized masters on the bus. This patch-set contains a change to export bus_iommu_probe() for exactly that reason. What do you think? Regards, Joerg