Re: [PATCH v2 4/5] iommu: Add Broadcom BCM2712 IOMMU driver
Nick Hollinghurst <[email protected]> Mon, 3 Aug 2026 11:53:54 +0100
| Newsgroups | dev.linux.lists.iommu,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAPhyPA5K6nBAoSiUOyx3EF7mu7AHP6pEo5u72Jr+r5WiLo7cNg@mail.gmail.com> |
Hello, On Sat, 1 Aug 2026 at 10:15, Krzysztof Kozlowski <[email protected]> wrote: > > On 31/07/2026 22:34, Daniel Drake wrote: > > On 30/07/2026 08:00, Krzysztof Kozlowski wrote: > >> On Mon, Jul 27, 2026 at 09:43:59PM +0100, Daniel Drake wrote: > >>> +static int bcm2712_iommu_init_cache(struct bcm2712_iommu *mmu, > >>> + struct platform_device *pdev) > >>> +{ > >>> + struct device *dev = &pdev->dev; > >>> + struct platform_device *cache_pdev; > >>> + struct device_node *cache_np; > >>> + > >>> + cache_np = of_parse_phandle(dev->of_node, "brcm,iommu-cache", 0); > >>> + > >>> + /* Fall back on 'cache' property used in old/downstream firmware */ > >>> + if (!cache_np) > >>> + cache_np = of_parse_phandle(dev->of_node, "cache", 0); > >> > >> NAK. > >> > >> You cannot have undocumented ABI. I asked you to drop this at v1. > > Is there any approach I should consider here in order to support > > existing shipped firmware versions that use the 'cache' property, or > > should I simply break compatibility? > > Kernel is being shipped with DTB for Rpi, because firmware is not > embedded into some lower fixed storage, so there is no problem of > compatibility with some out of tree, unsupported DTB. > > And no, you cannot use argument of undocumented, unreviewed ABI in > downstream forks as reason to add such ABI. This defeats the very > purpose of having upstream. The IOMMU cache is a separate block, shared between multiple IOMMU instances. This ought to be described in DT, one way or another. Of course, there's no need for back-compatibility with any downstream DTS, which can easily be updated. Regards, Nick