[PATCHv7 06/12] ARM: tegra: create a DT header defining SWGROUP ID
From: Stephen Warren <hidden>
Date: 2013-12-18 16:27:38
Also in:
linux-devicetree, linux-iommu, linux-tegra, lkml
From: Stephen Warren <hidden>
Date: 2013-12-18 16:27:38
Also in:
linux-devicetree, linux-iommu, linux-tegra, lkml
On 12/18/2013 01:02 AM, Mark Zhang wrote:
On 12/12/2013 03:57 PM, Hiroshi Doyu wrote:quoted
Create a header file to define the swgroup IDs used by the IOMMU(SMMU) binding. "swgroup" is a group of H/W clients which a Tegra SoC supports. This unique ID can be used to calculate MC_SMMU_<swgroup name>_ASID_0 register offset and MC_<swgroup name>_HOTRESET_*_0 register bit. This will allow the same header to be used by both device tree files, and drivers implementing this binding, which guarantees that the two stay in sync. This also makes device trees more readable by using names instead of magic numbers. For HOTRESET bit shifting we need another conversion table, which will come later.
quoted
diff --git a/include/dt-bindings/memory/tegra-swgroup.h b/include/dt-bindings/memory/tegra-swgroup.h
quoted
+#define TEGRA_SWGROUP_MPE 11 /* 0x264 */ +#define TEGRA_SWGROUP_MSENC SWGROUP_MPENeed to change this to: #define TEGRA_SWGROUP_MSENC 11 The reason is that, this makes "TEGRA_SWGROUP_BIT" doesn't work. So if I write "TEGRA_SWGROUP_CELLS(MSENC)" in dt, that causes a dt compiling error.
I guess it's because TEGRA_SWGROUP_BIT needs to expand its argument twice, which can be done. That all said, just defining all the names directly to constants is probably the most direct fix.