[Freedreno] [PATCH 7/7] iommu/arm-smmu: add support for dynamic domains

Jordan Crouse jcrouse at codeaurora.org
Tue Mar 7 20:40:37 UTC 2017


On Tue, Mar 07, 2017 at 06:11:38PM +0000, Mark Rutland wrote:
> On Tue, Mar 07, 2017 at 09:39:55AM -0700, Jordan Crouse wrote:
> > Implement support for dynamic domain switching. This feature is
> > only enabled when the qcom,dynamic device tree attribute for an smmu
> > instance.
> > 
> > In order to use dynamic domains, a non-dynamic domain must first
> > be created and attached.  The non-dynamic domain must remain
> > attached while the device is in use.
> > 
> > The dynamic domain is cloned from the non-dynamic domain. Important
> > configuration information is copied from the non-dynamic domain and
> > the dynamic domain is automatically "attached" (though it doesn't
> > program the hardware).
> > 
> > To switch domains dynamically the hardware must program the TTBR0 register
> > with the value from the DOMAIN_ATTR_TTBR0 attribute for the dynamic domain.
> > The upstream driver may also need to do other hardware specific register
> > programming to properly synchronize the domain switch. It must ensure that
> > all register state except for the TTBR0 register is restored
> > at the end of the switch operation.
> 
> > +	{ ARM_SMMU_OPT_DYNAMIC, "qcom,dynamic" },
> 
> What *precisely* is the intended semantic of this property?
> 
> It's not clear to me what a dynamic domain is, there's no documentation
> in this series for this property, and from a glance it sounds like a
> pure SW detail rather than a hardware/system detail (i.e. it shouldn;t
> be in the DT at all).

Yep, I agree.  The original intent was to try to keep other clients from getting
themselves into "trouble" but we are all adults here. I'll zap it if we do
another refresh.

Thanks,
Jordan

-- 
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


More information about the Freedreno mailing list