On Mon, Jul 20, 2020 at 12:11:17PM +0100, Will Deacon wrote: > On Thu, Jun 18, 2020 at 05:51:13PM +0200, Jean-Philippe Brucker wrote: > > Since v7 [1], I split the series into three parts to ease review. This > > first one adds page table sharing to the SMMUv3 driver. The second one > > adds support for I/O page faults through PRI and Stall, and the last one > > adds additional and optional features (DVM, VHE and HTTU). SVA needs the > > three parts to work. No significant change apart from that, I just > > addressed the previous comments. > > > > I'd rather everything went through the IOMMU tree but I'm assuming patch > > 1 will also go through the x86 tree as part of [2]. It is definitely > > required by patch 3 which is required by patch 11. I don't know how this > > kind of conflict is usually resolved, but if it's a problem I could > > further shrink the series to only patches 4-10 this cycle. > > Modulo my review comments, I think most of this looks alright from the SMMU > side. However, I would really like it if the SVA driver parts could be moved > into a separate file (e.g. arm-smmu-v3-sva.c), with a separate config option > (dependent on the current one, so you can easily build a driver without SVA > support). Does that sound remotely feasible? Yes it makes sense. It requires moving some definitions from arm-smmu-v3.c to a .h but should be straightforward, I'll give it a try. Thanks, Jean > If so, I think it would really > help in terms of maintainability, since the SVA model is really all about > the mm, whereas the driver model is all about the device. This makes it > really hard to read when you have to keep working out whether the current > 'handle' is an mm_struct or an arm_smmu_device. > > Will