From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [RFC PATCH 2/2] iommu: rockchip: Handle system-wide and runtime PM Date: Sat, 20 Dec 2014 21:01:06 +0200 Message-ID: <3922440.p7KFeqxHrO@avalon> References: <1418286387-9663-1-git-send-email-tfiga@chromium.org> <1649547.QECLmuJenN@avalon> <8712967.RZO6JKCTcJ@vostro.rjw.lan> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: Received: from galahad.ideasonboard.com ([185.26.127.97]:53315 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751058AbaLTTBC (ORCPT ); Sat, 20 Dec 2014 14:01:02 -0500 In-Reply-To: <8712967.RZO6JKCTcJ@vostro.rjw.lan> Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: "Rafael J. Wysocki" Cc: Kevin Hilman , Tomasz Figa , Ulf Hansson , "open list:ARM/Rockchip SoC..." , "linux-pm@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , iommu@lists.linux-foundation.org, Len Brown , Pavel Machek , Heiko Stuebner , Joerg Roedel , Geert Uytterhoeven , Sylwester Nawrocki , Daniel Kurtz Hi Kevin, On Friday 19 December 2014 03:27:35 Rafael J. Wysocki wrote: > On Thursday, December 18, 2014 11:28:58 PM Laurent Pinchart wrote: > > Hi Kevin, > > [cut] > >>>>> 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? Patches are welcome ;-) -- Regards, Laurent Pinchart