From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
linux-acpi@vger.kernel.org, Vinod Koul <vinod.koul@intel.com>,
dmaengine@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org,
Mika Westerberg <mika.westerberg@linux.intel.com>
Subject: Re: [PATCH v2 2/7] ACPI / LPSS: allow to use specific PM domain during ->probe()
Date: Thu, 26 Nov 2015 18:30:26 +0200 [thread overview]
Message-ID: <565733A2.6050900@linux.intel.com> (raw)
In-Reply-To: <1448551153-84719-3-git-send-email-andriy.shevchenko@linux.intel.com>
On 11/26/2015 05:19 PM, Andy Shevchenko wrote:
> This is an amendment to previously pushed commit 01ac170ba29a (ACPI / LPSS:
> allow to use specific PM domain during ->probe()). We can't assign anything to
> the platform device on ADD_DEVICE stage since it might be changed during
> unbound / bind cycle.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/acpi/acpi_lpss.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
> index f9e0d09..e840229 100644
> --- a/drivers/acpi/acpi_lpss.c
> +++ b/drivers/acpi/acpi_lpss.c
> @@ -705,8 +705,14 @@ static int acpi_lpss_platform_notify(struct notifier_block *nb,
> }
>
> switch (action) {
> - case BUS_NOTIFY_ADD_DEVICE:
> + case BUS_NOTIFY_BIND_DRIVER:
> pdev->dev.pm_domain = &acpi_lpss_pm_domain;
> + break;
> + case BUS_NOTIFY_BIND_DRIVER_ERROR:
> + case BUS_NOTIFY_UNBOUND_DRIVER:
> + pdev->dev.pm_domain = NULL;
> + break;
> + case BUS_NOTIFY_ADD_DEVICE:
This won't fix like revert of original commit does. Primary problem here
is that there is no explicit power on at all during LPSS device probe
because dev->pm_domain is set before probing.
driver_probe_device
platform_drv_prove
dev_pm_domain_attach
acpi_dev_pm_attach
returns instantly because of dev->pm_domain is set
Problem got unnoticed because devices are on during boot but
rmmod/modprobe cycle will hit it.
With this patch situation remains the same but works if you assign the
domain after probing when BUS_NOTIFY_BOUND_DRIVER notification comes
(s/BUS_NOTIFY_BIND_DRIVER/BUS_NOTIFY_BOUND_DRIVER/ above).
--
Jarkko
next prev parent reply other threads:[~2015-11-26 16:30 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-26 15:19 [PATCH v2 0/7] ACPI / LPSS: fix system hangup on BYT/BSW/CHT Andy Shevchenko
2015-11-26 15:19 ` [PATCH v2 1/7] device core: add BUS_NOTIFY_BIND_DRIVER_ERROR notification Andy Shevchenko
2015-11-26 23:09 ` Rafael J. Wysocki
2015-11-27 9:46 ` Andy Shevchenko
2015-11-27 9:46 ` Andy Shevchenko
2015-11-26 15:19 ` [PATCH v2 2/7] ACPI / LPSS: allow to use specific PM domain during ->probe() Andy Shevchenko
2015-11-26 16:30 ` Jarkko Nikula [this message]
2015-11-26 16:45 ` Andy Shevchenko
2015-11-26 16:45 ` Andy Shevchenko
2015-11-26 23:15 ` Rafael J. Wysocki
2015-11-27 9:56 ` Andy Shevchenko
2015-11-27 9:56 ` Andy Shevchenko
2015-12-03 19:29 ` Shevchenko, Andriy
2015-12-03 19:29 ` Shevchenko, Andriy
2015-12-04 13:04 ` Jarkko Nikula
2015-11-27 7:05 ` Jarkko Nikula
2015-11-27 10:01 ` Andy Shevchenko
2015-11-26 15:19 ` [PATCH v2 3/7] ACPI / LPSS: do delay for all LPSS devices when D3->D0 Andy Shevchenko
2015-11-26 15:19 ` [PATCH v2 4/7] ACPI / LPSS: override power state for LPSS DMA device Andy Shevchenko
2015-11-26 15:19 ` [PATCH v2 5/7] dmaengine: dw: platform: power on device on shutdown Andy Shevchenko
2015-11-26 17:01 ` Vinod Koul
2015-11-26 17:24 ` Andy Shevchenko
2015-11-26 17:24 ` Andy Shevchenko
2015-11-26 17:41 ` Vinod Koul
2015-11-26 17:41 ` Vinod Koul
2015-11-26 17:58 ` Andy Shevchenko
2015-11-26 17:58 ` Andy Shevchenko
2015-11-26 18:11 ` Shevchenko, Andriy
2015-11-26 18:11 ` Shevchenko, Andriy
2015-11-26 15:19 ` [PATCH v2 6/7] dmaengine: dw: return immediately from IRQ when DMA isn't in use Andy Shevchenko
2015-11-26 15:19 ` [PATCH v2 7/7] Revert "dmaengine: dw: platform: provide platform data for Intel" Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=565733A2.6050900@linux.intel.com \
--to=jarkko.nikula@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dmaengine@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
--cc=vinod.koul@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.