Thread (4 messages) 4 messages, 3 authors, 2014-12-20

[RFC PATCH 2/2] iommu: rockchip: Handle system-wide and runtime PM

From: Rafael J. Wysocki <hidden>
Date: 2014-12-19 02:05:49
Also in: linux-iommu, linux-pm, lkml

On Thursday, December 18, 2014 11:28:58 PM Laurent Pinchart wrote:
Hi Kevin,
[cut]
quoted
quoted
quoted
It would be better to be able to reference count the DMA engine from the
bus master IMO and arguably you can use the runtime PM framework for
that. Namely, give bus masters someting like

	pm_runtime_get_my_DMA_engine(bus_master_device)
	pm_runtime_put_my_DMA_engine(bus_master_device)

and let them call these as they see fit.
Please note that we're not talking about DMA engines here, but about
IOMMUs. DMA is involved through the DMA mapping API which hides the IOMMU
completely from the bus master drivers, not the DMA engine API.

Exposing the IOMMU is something we want to avoid, but DMA mapping
start/stop operations could certainly be implemented.
The problem with that is it only solves the IOMMU problem.  We have a
more generic PM dependency problem of which this IOMMU example is only a
subset, so I think we need a more generic solution.
I agree that a more generic solution is needed at least to support ACPI _DEP, 
but that might not be optimal in the IOMMU use case as explained above.
Well, since we need it anyway, why don't we implement it and then figure out
if anything more specific needs to be done for the IOMMU case?


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help