[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d0488631-e2d8-115f-9900-5838147ec674@ti.com>
Date: Wed, 17 Jun 2020 09:04:56 +0300
From: Tomi Valkeinen <tomi.valkeinen@...com>
To: Grygorii Strashko <grygorii.strashko@...com>,
Tony Lindgren <tony@...mide.com>
CC: <linux-omap@...r.kernel.org>, "Andrew F . Davis" <afd@...com>,
Dave Gerlach <d-gerlach@...com>,
Faiz Abbas <faiz_abbas@...com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Keerthy <j-keerthy@...com>, Nishanth Menon <nm@...com>,
Peter Ujfalusi <peter.ujfalusi@...com>,
Roger Quadros <rogerq@...com>, Suman Anna <s-anna@...com>,
Tero Kristo <t-kristo@...com>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<dri-devel@...ts.freedesktop.org>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>
Subject: Re: [PATCH 1/5] drm/omap: Fix suspend resume regression after
platform data removal
On 16/06/2020 19:56, Grygorii Strashko wrote:
>
>
> On 16/06/2020 18:30, Tony Lindgren wrote:
>> * Tomi Valkeinen <tomi.valkeinen@...com> [200616 13:02]:
>>> On 11/06/2020 17:00, Grygorii Strashko wrote:
>>>> I think, suspend might be fixed if all devices, which are now child of ti-sysc, will do
>>>> pm_runtime_force_xxx() calls at noirq suspend stage by adding:
>>>>
>>>> SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
>>>> pm_runtime_force_resume)
>>>>
>>>> Am I missing smth?
>>>
>>> Isn't this almost exactly the same my patch does? I just used suspend_late
>>> and resume_early. Is noirq phase better than late & early?
>>
>> Well up to you as far as I'm concerned. The noirq phase comes with serious
>> limitations, for let's say i2c bus usage if needed. Probably also harder
>> to debug for suspend and resume.
>
> Unfortunately, you can't use PM runtime force API at .suspend() stage as pm_runtime_get will still
> work and
> there is no sync between suspend and pm_runtime.
> The PM runtime force API can be used only during late/noirq as at this time pm_runtime is disabled.
Yes, but which one... Do you know what the diff is with late/noirq from driver's perspective? I
guess noirq is atomic context, late is nto?
Dispc's suspend uses synchronize_irq(), so that rules out noirq. Although the call is not needed if
using noirq version, so that could also be managed with small change. But I wonder if there's any
benefit in using noirq versus late.
Tomi
--
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Powered by blists - more mailing lists