[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161116093055.GA11230@wunner.de>
Date: Wed, 16 Nov 2016 10:30:55 +0100
From: Lukas Wunner <lukas@...ner.de>
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: Marek Szyprowski <m.szyprowski@...sung.com>,
"Luis R. Rodriguez" <mcgrof@...nel.org>,
Linux PM <linux-pm@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"open list:AMD IOMMU (AMD-VI)" <iommu@...ts.linux-foundation.org>,
Linux Samsung SoC <linux-samsung-soc@...r.kernel.org>,
Joerg Roedel <joro@...tes.org>,
Inki Dae <inki.dae@...sung.com>, Kukjin Kim <kgene@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@...sung.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Mark Brown <broonie@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Tomeu Vizoso <tomeu.vizoso@...labora.com>,
Kevin Hilman <khilman@...nel.org>,
Tobias Jakobi <tjakobi@...h.uni-bielefeld.de>,
Tomasz Figa <tomasz.figa@...il.com>,
Grant Likely <grant.likely@...retlab.ca>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Lars-Peter Clausen <lars@...afoo.de>,
Andrzej Hajda <a.hajda@...sung.com>,
Mauro Carvalho Chehab <mchehab@....samsung.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>
Subject: Re: [PATCH v5 7/7] iommu/exynos: Use device dependency links to
control runtime pm
On Thu, Nov 10, 2016 at 12:56:14AM +0100, Rafael J. Wysocki wrote:
> The idea, roughly, is that if there is a single on/off switch acting
> on multiple devices, you can (a) set up a PM domain tracking all of
> those device's runtime PM invocations and (b) maintaining a reference
> counter of devices still not suspended. This way it would only turn
> the switch off when all of the devices in question had been suspended.
> Analogously, it would turn the switch on before resuming the first
> device in the domain. Of course, that code isn't available as a
> library, you would need to implement it (or use genpd, but chances are
> it is too heavy weight for the job).
My understanding is that the hierarchy of struct generic_pm_domain
is created by the platform on boot. For an embedded platform, this
is encoded in the device tree, but what about ACPI which doesn't
know anything about struct generic_pm_domain? I would have to lump
devices into generic_pm_domains after the fact, after the platform
has scanned the buses, but this seems to be forbidden according to
this slide deck, which calls that a "layering violation":
https://events.linuxfoundation.org/images/stories/pdf/lcjp2012_wysocki.pdf
(Quote: "Adding and Removing Devices [...] Supposed to be called by
the platform (calling one of them from a device driver is a layering
violation).")
So it seems that using struct generic_pm_domain is never an option
on ACPI, is that correct?
Thanks,
Lukas
Powered by blists - more mailing lists