Hi Geert-san, > From: Geert Uytterhoeven, Sent: Tuesday, July 14, 2020 5:42 PM > > Hi Prabhakar, > > On Tue, Jul 14, 2020 at 10:30 AM Lad, Prabhakar > <prabhakar.csengg@xxxxxxxxx> wrote: > > On Tue, Jul 14, 2020 at 9:09 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > > On Mon, Jul 13, 2020 at 11:35 PM Lad Prabhakar > > > <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> wrote: > > > > From: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@xxxxxxxxxxxxxx> > > > > > > > > Add support for RZ/G2H (R8A774E1) SoC IPMMUs. > > > > > > > > Signed-off-by: Marian-Cristian Rotariu <marian-cristian.rotariu.rb@xxxxxxxxxxxxxx> > > > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > > > > > Thanks for your patch! > > > > > > > --- a/drivers/iommu/ipmmu-vmsa.c > > > > +++ b/drivers/iommu/ipmmu-vmsa.c > > > > @@ -751,6 +751,7 @@ static const struct soc_device_attribute soc_rcar_gen3[] = { > > > > static const struct soc_device_attribute soc_rcar_gen3_whitelist[] = { > > > > { .soc_id = "r8a774b1", }, > > > > { .soc_id = "r8a774c0", }, > > > > + { .soc_id = "r8a774e1", }, > > > > > > Adding an entry to soc_rcar_gen3_whitelist[] doesn't do anything, unless > > > you also add the same entry to soc_rcar_gen3[]. > > > > > I think the comment "For R-Car Gen3 use a white list to opt-in slave > > devices." is misleading. Booting through the kernel I do see iommu > > groups (attached is the logs). > > Indeed. Without an entry in soc_rcar_gen3[], the IPMMU is enabled > unconditionally, and soc_rcar_gen3_whitelist[] is ignored. > That's why you want an entry in both, unless you have an R-Car Gen3 > SoC where the IPMMU works correctly with all slave devices present. > Perhaps soc_rcar_gen3[] should be renamed to soc_rcar_gen3_greylist[] > (or soc_rcar_gen3_maybelist[]) to make this clear? I think so (we should rename it). > > Also the recent patch to add > > "r8a77961" just adds to soc_rcar_gen3_whitelist. > > Oops, commit 17fe16181639801b ("iommu/renesas: Add support for r8a77961") > did it wrong, too. Thank you for the point it out. We should add r8a77961 to the soc_rcar_gen3[]. However, I don't know why I could not realize this issue... So, I investigated this a little and then, IIUC, glob_match() which soc_device_match() uses seems to return true, if *pat = "r8a7796" and *str = "r8a77961". Best regards, Yoshihiro Shimoda