On 13/02/18 07:44, Tomasz Figa wrote:
On Wed, Feb 7, 2018 at 7:31 PM, Vivek Gautam
The device link allows the pm framework to tie the supplier and
consumer. So, whenever the consumer is powered-on the supplier
is powered-on first.
There are however cases in which the consumer wants to power-on
the supplier, but not itself.
E.g., A Graphics or multimedia driver wants to power-on the SMMU
to unmap a buffer and finish the TLB operations without powering
This sounds strange to me. If the SMMU is powered down, wouldn't the
TLB lose its contents as well (and so no flushing needed)?
Depends on implementation details - if runtime PM is actually
implemented via external clock gating (in the absence of fine-grained
power domains), then "suspended" TLBs might both retain state and not
receive invalidation requests, which is really the worst case.
Other than that, what kind of hardware operations would be needed
besides just updating the page tables from the CPU?
Domain attach/detach also require updating SMMU hardware state (and
possibly TLB maintenance), but don't logically require the master device
itself to be active at the time.