Mark Rutland <mark.rutland@xxxxxxx> wrote @ Thu, 31 Oct 2013 18:31:33 +0100: > > Assuming "swgroup" is "memory client ID", why can't the driver just > > create a list/... of known swgroups at runtime, based on the swgroup > > values that each device uses, which would presumably be either > > hard-coded in the client device's driver, or represented in the DT smmu > > property's "iommu specifier" value. > > Assuming that the swgroup values of IP block instances are static, that sounds > like the ARM SMMU binding approach. Are the IDs static, or can they be assigned > at runtime? It's static. But swgroup ID isn't documented in TRM. ID is basically calculated from register offset. <swgroup ID> = (MC_SMMU_<swgroup name>_ASID_0 - MC_SMMU_<the 1st swgroup name>_ASID_0) / 4 Or MC_SMMU_<swgroup name>_ASID_0 = 4 * <swgroup ID> + MC_SMMU_<the 1st swgroup name>_ASID_0) -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html