[Freedreno] [PATCH v7 1/6] base: power: runtime: Export pm_runtime_get/put_suppliers
Robin Murphy
robin.murphy at arm.com
Tue Feb 13 12:00:37 UTC 2018
On 13/02/18 07:44, Tomasz Figa wrote:
> Hi Vivek,
>
> On Wed, Feb 7, 2018 at 7:31 PM, Vivek Gautam
> <vivek.gautam at 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.
More information about the Freedreno
mailing list