Messages in this thread | | | Subject | Re: [PATCH v7 1/6] base: power: runtime: Export pm_runtime_get/put_suppliers | From | Robin Murphy <> | Date | Tue, 13 Feb 2018 12:00:37 +0000 |
| |
On 13/02/18 07:44, Tomasz Figa wrote: > Hi Vivek, > > On Wed, Feb 7, 2018 at 7:31 PM, Vivek Gautam > <vivek.gautam@codeaurora.org> wrote: >> 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 >> on itself. > > 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.
Robin.
| |