From: jeffy <jeffy.chen@rock-chips.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Mark Brown <broonie@kernel.org>,
Brian Norris <briannorris@chromium.org>,
Doug Anderson <dianders@chromium.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
linux-spi <linux-spi@vger.kernel.org>,
"open list:ARM/Rockchip SoC..."
<linux-rockchip@lists.infradead.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [RESEND PATCH 1/2] spi: rockchip: Convert to late and early system PM callbacks
Date: Sat, 14 Oct 2017 02:44:01 +0800 [thread overview]
Message-ID: <59E10971.6020200@rock-chips.com> (raw)
In-Reply-To: <20171013183006.k6pzcr5tcwsxxtmp@dtor-ws>
Hi Dmitry,
On 10/14/2017 02:30 AM, Dmitry Torokhov wrote:
> On Sat, Oct 14, 2017 at 02:19:28AM +0800, jeffy wrote:
>> Hi guys,
>>
>> it looks like the suspend sequence depends on the dt node sequence, and we
>> are putting display-subsystem dt node above spi dt node, so it would be
>> earlier in the device list, then got suspended later than spi device.
>
> Would it not get a deferral when trying to get resource reference, which
> would cause it bumped down to the end of dpm list?
hmm, right, check again, the rockchip drm would not depend on spi, but
the edp driver does.
so the drm driver(display-subsystem) would probed before spi, but try to
control the backlight in the suspend/resume...
so i was wrong in the commit message, will fix it in next version.
>
>>
>> the pwm backlight and cros_ec_spi pwm are very interesting, not only about
>> suspend dependency... if we unbind cros_ec_spi pwm, the pwm backlight would
>> still hold a reference to it, and crash the kernel later.
>
> That would be a bug in PWM/cors_ec and it should keep the PWM object
> until last reference drops and simply error out on all requests.
right, and maybe try to refresh the pwm reference when we bind it again
>
>>
>> On 10/14/2017 12:42 AM, Mark Brown wrote:
>>> On Fri, Oct 13, 2017 at 08:51:21AM -0700, Brian Norris wrote:
>>>
>>>> Yes, this does seem odd to me too. This looks like an arms race hack
>>>> that should be avoided unless we know a legit root cause. Also,
>>>> "probe order implies suspend order" doesn't quite work for async suspend
>>>> anyway, so we'd probably want to express the dependency properly
>>>> anyway.
>>>
>>> Yeah, it's the same stuff as we get with initcall ordering. This sort
>>> of thing does happen with things like PMICs which tend to have hardware
>>> that the system wants to manipulate in the IRQs off part of suspend.
>>> Ideally the dependency annotation stuff would figure things out though
>>> I'm not sure what the status of that is.
>
> I'd say non-existent for resources such as regulators, pwms, clocks,
> etc. I do not think many places call device_link_add()... I think adding
> this to devm_* APIs might be easiest to get the ball going as they
> naturally have consumer device and can easily figure out the supplier
> side.
>
>>>
>>>> Any chance this is related? Seems like that might break the parent/child
>>>> relationship for master/slave:
>>>
>>>> commit d7e2ee257038baeb03baef602500368a51ee9eef
>>>> Author: Linus Walleij <linus.walleij@linaro.org>
>>>> Date: Mon Apr 11 13:51:03 2016 +0200
>>>
>>>> spi: let SPI masters ignore their children for PM
>>>
>>> That's for runtime PM, I'd not expect it to affect system suspend.
>>>
>>
>>
>
> Thanks.
>
next prev parent reply other threads:[~2017-10-13 18:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-13 10:41 [RESEND PATCH 0/2] rockchip: kevin: Enable edp display Jeffy Chen
2017-10-13 10:41 ` [RESEND PATCH 1/2] spi: rockchip: Convert to late and early system PM callbacks Jeffy Chen
2017-10-13 15:32 ` Doug Anderson
2017-10-13 15:51 ` Brian Norris
[not found] ` <20171013155120.GA137489-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2017-10-13 16:42 ` Mark Brown
2017-10-13 18:19 ` jeffy
[not found] ` <59E103B0.8060705-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-10-13 18:25 ` jeffy
2017-10-13 18:30 ` Dmitry Torokhov
2017-10-13 18:30 ` Dmitry Torokhov
2017-10-13 18:37 ` Mark Brown
[not found] ` <20171013183750.piabs7m3dnpabnkm-7j8lgAiuQgnQXOPxS62xeg@public.gmane.org>
2017-10-13 23:45 ` Dmitry Torokhov
2017-10-14 0:15 ` Rafael J. Wysocki
[not found] ` <1617641.TtuYKIH8aZ-yvgW3jdyMHm1GS7QM15AGw@public.gmane.org>
2017-10-14 8:59 ` Mark Brown
2017-10-13 18:44 ` jeffy [this message]
2017-10-13 19:01 ` jeffy
2017-10-13 10:41 ` [RESEND PATCH 2/2] arm64: dts: rockchip: Enable edp disaplay on kevin Jeffy Chen
2017-10-13 13:25 ` Heiko Stuebner
2017-10-13 13:42 ` Emil Renner Berthing
2017-10-13 15:15 ` Emil Renner Berthing
2017-10-13 18:12 ` jeffy
[not found] ` <20171013104138.3216-1-jeffy.chen-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-10-13 15:34 ` [RESEND PATCH 0/2] rockchip: kevin: Enable edp display Doug Anderson
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=59E10971.6020200@rock-chips.com \
--to=jeffy.chen@rock-chips.com \
--cc=briannorris@chromium.org \
--cc=broonie@kernel.org \
--cc=dianders@chromium.org \
--cc=dmitry.torokhov@gmail.com \
--cc=heiko@sntech.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).