Message ID | 20220517132107.195932-8-angelogioacchino.delregno@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mtk_iommu: Specify phandles to infracfg and pericfg | expand |
On Tue, May 17, 2022 at 03:21:06PM +0200, AngeloGioacchino Del Regno wrote: > Both MT2712 and MT8173 got a mediatek,infracfg phandle: add that to > the required properties for these SoCs to deprecate the old way of > looking for SoC-specific infracfg compatible in the entire devicetree. Wait, what? If there's only one possible node that can match, I prefer the 'old way'. Until we implemented a phandle cache, searching the entire tree was how phandle lookups worked too, so not any better. But if this makes things more consistent, Acked-by: Rob Herring <robh@kernel.org>
Il 18/05/22 03:41, Rob Herring ha scritto: > On Tue, May 17, 2022 at 03:21:06PM +0200, AngeloGioacchino Del Regno wrote: >> Both MT2712 and MT8173 got a mediatek,infracfg phandle: add that to >> the required properties for these SoCs to deprecate the old way of >> looking for SoC-specific infracfg compatible in the entire devicetree. > > Wait, what? If there's only one possible node that can match, I prefer > the 'old way'. Until we implemented a phandle cache, searching the > entire tree was how phandle lookups worked too, so not any better. > > But if this makes things more consistent, > > Acked-by: Rob Herring <robh@kernel.org> Hello Rob, This makes things definitely more consistent, as it's done like that on mtk-pm-domains and other mtk drivers as well. The main reason why this phandle is useful, here and in other drivers, is that we're seeing a list of compatibles that is growing more and more, so you see stuff like (mockup names warning): switch (some_model) case MT1000: p = "mediatek,mt1000-infracfg"; break; case MT1001: p = "mediatek,mt1001-infracfg"; break; case MT1002: p = "mediatek,mt1002-infracfg"; break; .....add another 20 SoCs, replicate this switch for 4/5 drivers.... and this is why I want the mtk_iommu driver to also get that phandle like some other drivers are already doing. By the way, thanks for the ack! Regards, Angelo
On Wed, May 18, 2022 at 10:14:43AM +0200, AngeloGioacchino Del Regno wrote: > Il 18/05/22 03:41, Rob Herring ha scritto: > > On Tue, May 17, 2022 at 03:21:06PM +0200, AngeloGioacchino Del Regno wrote: > > > Both MT2712 and MT8173 got a mediatek,infracfg phandle: add that to > > > the required properties for these SoCs to deprecate the old way of > > > looking for SoC-specific infracfg compatible in the entire devicetree. > > > > Wait, what? If there's only one possible node that can match, I prefer > > the 'old way'. Until we implemented a phandle cache, searching the > > entire tree was how phandle lookups worked too, so not any better. > > > > But if this makes things more consistent, > > > > Acked-by: Rob Herring <robh@kernel.org> > > > Hello Rob, > > This makes things definitely more consistent, as it's done like that on > mtk-pm-domains and other mtk drivers as well. > > The main reason why this phandle is useful, here and in other drivers, is > that we're seeing a list of compatibles that is growing more and more, so > you see stuff like (mockup names warning): > > switch (some_model) > case MT1000: > p = "mediatek,mt1000-infracfg"; > break; > case MT1001: > p = "mediatek,mt1001-infracfg"; > break; > case MT1002: > p = "mediatek,mt1002-infracfg"; > break; > .....add another 20 SoCs, replicate this switch for 4/5 drivers.... This type of property is used for poking random bits in another block (that's usually a collection of random bits). These interfaces don't tend to be that stable across many SoC generations. As there's no abstraction beyond perhaps what the offset is, the client side ends up needing to know the specifics of that block anyways. If the block is that stable, then perhaps it needs a common fallback compatible. Sometimes these instances are also just places we haven't created a common subsystem for. > and this is why I want the mtk_iommu driver to also get that phandle like > some other drivers are already doing. As I said, fine. Rob
diff --git a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml index a6cf9678271f..17d78b17027a 100644 --- a/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml +++ b/Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml @@ -175,6 +175,18 @@ allOf: required: - power-domains + - if: + properties: + compatible: + contains: + enum: + - mediatek,mt2712-m4u + - mediatek,mt8173-m4u + + then: + required: + - mediatek,infracfg + - if: # The IOMMUs don't have larbs. not: properties:
Both MT2712 and MT8173 got a mediatek,infracfg phandle: add that to the required properties for these SoCs to deprecate the old way of looking for SoC-specific infracfg compatible in the entire devicetree. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> --- .../devicetree/bindings/iommu/mediatek,iommu.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+)