All of lore.kernel.org
 help / color / mirror / Atom feed
From: <Eugen.Hristev@microchip.com>
To: <mchehab+huawei@kernel.org>
Cc: <Jonathan.Cameron@Huawei.com>, <linuxarm@huawei.com>,
	<mauro.chehab@huawei.com>, <alexandre.belloni@bootlin.com>,
	<Ludovic.Desroches@microchip.com>, <mchehab@kernel.org>,
	<Nicolas.Ferre@microchip.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-media@vger.kernel.org>,
	<Claudiu.Beznea@microchip.com>
Subject: Re: [PATCH 08/25] media: atmel: properly get pm_runtime
Date: Mon, 6 Sep 2021 08:13:57 +0000	[thread overview]
Message-ID: <1b480d13-3575-b486-e5dc-df08b50e4225@microchip.com> (raw)
In-Reply-To: <20210906100310.4891fa2c@coco.lan>

On 9/6/21 11:03 AM, Mauro Carvalho Chehab wrote:
> Hi Eugen,
> 
> Em Thu, 10 Jun 2021 12:00:42 +0000
> <Eugen.Hristev@microchip.com> escreveu:
> 
>> On 6/10/21 12:38 PM, Mauro Carvalho Chehab wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> Em Thu, 10 Jun 2021 09:04:07 +0000
>>> <Eugen.Hristev@microchip.com> escreveu:
>>>
>>>>>> diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
>>>>>> index fe3ec8d0eaee..ce8e1351fa53 100644
>>>>>> --- a/drivers/media/platform/atmel/atmel-isc-base.c
>>>>>> +++ b/drivers/media/platform/atmel/atmel-isc-base.c
>>>>>> @@ -294,9 +294,13 @@ static int isc_wait_clk_stable(struct clk_hw *hw)
>>>>>>     static int isc_clk_prepare(struct clk_hw *hw)
>>>>>>     {
>>>>>>          struct isc_clk *isc_clk = to_isc_clk(hw);
>>>>>> +     int ret;
>>>>>>
>>>>>> -     if (isc_clk->id == ISC_ISPCK)
>>>>>> -             pm_runtime_get_sync(isc_clk->dev);
>>>>>> +     if (isc_clk->id == ISC_ISPCK) {
>>>>>> +             ret = pm_runtime_resume_and_get(isc_clk->dev);
>>>>>> +             if (ret < 0)
>>>>>> +                     return ret;
>>>>>> +     }
>>>>
>>>> Hi Mauro,
>>>>
>>>> With this patch, the ISC is broken on latest media tree. It looks like
>>>> pm_runtime_resume_and_get for the ISC_ISPCK clock returns -ENOACCESS and
>>>> thus, the probe of the driver fails:
>>>>
>>>> atmel-sama5d2-isc f0008000.isc: failed to enable ispck: -13
>>>> atmel-sama5d2-isc: probe of f0008000.isc failed with error -13
> 
> What's the current status of this issue?

Hi Mauro,

Currently, as far as I know, the ISC is broken in 5.14 and current Linux 
master. I plan to investigate this issue this week (or the next...), 
together with some other things. I want to tryout the PM part of the 
driver to see where is the problem.
When I come up with a fix or patch, I will send it on the mailing list.
If you have any ideas that I can try meanwhile, feel free to contact me 
to send a patch that I can test.


Eugen


> 
> If the bug still happens, we need a fix for it.
> 
> We might revert this patch, but this would just be masking some other
> hidden bug.
> 
> Regards,
> Mauro
> 
> 
> 
>>>>
>>>>
>>>> Could you point out how I could fix this ? Maybe the isc_clk->dev is not
>>>> properly handled/initialized in some other part of the code ?
>>>
>>> Looking at RPM implementation:
>>>
>>>           static int rpm_resume(struct device *dev, int rpmflags)
>>>           {
>>> ...
>>>           if (dev->power.runtime_error)
>>>                   retval = -EINVAL;
>>>           else if (dev->power.disable_depth == 1 && dev->power.is_suspended
>>>               && dev->power.runtime_status == RPM_ACTIVE)
>>>                   retval = 1;
>>>           else if (dev->power.disable_depth > 0)
>>>                   retval = -EACCES;
>>> ...
>>>
>>> It sounds that RPM is disabled for this clock. Did you call
>>> pm_runtime_enable() before calling isc_clk_prepare()?
>>>
>>> Thanks,
>>> Mauro
>>>
>>
>> I tried to call pm_runtime_enable for the clk at clk_init time, but
>> doing that makes the runtime for the ISC fail like this:
>>
>> atmel-sama5d2-isc f0008000.isc: Unbalanced pm_runtime_enable!
> 
> 
> 
> Thanks,
> Mauro
> 


WARNING: multiple messages have this Message-ID (diff)
From: <Eugen.Hristev@microchip.com>
To: <mchehab+huawei@kernel.org>
Cc: alexandre.belloni@bootlin.com, linux-kernel@vger.kernel.org,
	linuxarm@huawei.com, Ludovic.Desroches@microchip.com,
	Jonathan.Cameron@Huawei.com, mauro.chehab@huawei.com,
	mchehab@kernel.org, Claudiu.Beznea@microchip.com,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org
Subject: Re: [PATCH 08/25] media: atmel: properly get pm_runtime
Date: Mon, 6 Sep 2021 08:13:57 +0000	[thread overview]
Message-ID: <1b480d13-3575-b486-e5dc-df08b50e4225@microchip.com> (raw)
In-Reply-To: <20210906100310.4891fa2c@coco.lan>

On 9/6/21 11:03 AM, Mauro Carvalho Chehab wrote:
> Hi Eugen,
> 
> Em Thu, 10 Jun 2021 12:00:42 +0000
> <Eugen.Hristev@microchip.com> escreveu:
> 
>> On 6/10/21 12:38 PM, Mauro Carvalho Chehab wrote:
>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>>
>>> Em Thu, 10 Jun 2021 09:04:07 +0000
>>> <Eugen.Hristev@microchip.com> escreveu:
>>>
>>>>>> diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c
>>>>>> index fe3ec8d0eaee..ce8e1351fa53 100644
>>>>>> --- a/drivers/media/platform/atmel/atmel-isc-base.c
>>>>>> +++ b/drivers/media/platform/atmel/atmel-isc-base.c
>>>>>> @@ -294,9 +294,13 @@ static int isc_wait_clk_stable(struct clk_hw *hw)
>>>>>>     static int isc_clk_prepare(struct clk_hw *hw)
>>>>>>     {
>>>>>>          struct isc_clk *isc_clk = to_isc_clk(hw);
>>>>>> +     int ret;
>>>>>>
>>>>>> -     if (isc_clk->id == ISC_ISPCK)
>>>>>> -             pm_runtime_get_sync(isc_clk->dev);
>>>>>> +     if (isc_clk->id == ISC_ISPCK) {
>>>>>> +             ret = pm_runtime_resume_and_get(isc_clk->dev);
>>>>>> +             if (ret < 0)
>>>>>> +                     return ret;
>>>>>> +     }
>>>>
>>>> Hi Mauro,
>>>>
>>>> With this patch, the ISC is broken on latest media tree. It looks like
>>>> pm_runtime_resume_and_get for the ISC_ISPCK clock returns -ENOACCESS and
>>>> thus, the probe of the driver fails:
>>>>
>>>> atmel-sama5d2-isc f0008000.isc: failed to enable ispck: -13
>>>> atmel-sama5d2-isc: probe of f0008000.isc failed with error -13
> 
> What's the current status of this issue?

Hi Mauro,

Currently, as far as I know, the ISC is broken in 5.14 and current Linux 
master. I plan to investigate this issue this week (or the next...), 
together with some other things. I want to tryout the PM part of the 
driver to see where is the problem.
When I come up with a fix or patch, I will send it on the mailing list.
If you have any ideas that I can try meanwhile, feel free to contact me 
to send a patch that I can test.


Eugen


> 
> If the bug still happens, we need a fix for it.
> 
> We might revert this patch, but this would just be masking some other
> hidden bug.
> 
> Regards,
> Mauro
> 
> 
> 
>>>>
>>>>
>>>> Could you point out how I could fix this ? Maybe the isc_clk->dev is not
>>>> properly handled/initialized in some other part of the code ?
>>>
>>> Looking at RPM implementation:
>>>
>>>           static int rpm_resume(struct device *dev, int rpmflags)
>>>           {
>>> ...
>>>           if (dev->power.runtime_error)
>>>                   retval = -EINVAL;
>>>           else if (dev->power.disable_depth == 1 && dev->power.is_suspended
>>>               && dev->power.runtime_status == RPM_ACTIVE)
>>>                   retval = 1;
>>>           else if (dev->power.disable_depth > 0)
>>>                   retval = -EACCES;
>>> ...
>>>
>>> It sounds that RPM is disabled for this clock. Did you call
>>> pm_runtime_enable() before calling isc_clk_prepare()?
>>>
>>> Thanks,
>>> Mauro
>>>
>>
>> I tried to call pm_runtime_enable for the clk at clk_init time, but
>> doing that makes the runtime for the ISC fail like this:
>>
>> atmel-sama5d2-isc f0008000.isc: Unbalanced pm_runtime_enable!
> 
> 
> 
> Thanks,
> Mauro
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-09-06  8:14 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05  9:41 [PATCH 00/25] Fix some PM runtime issues at the media subsystem Mauro Carvalho Chehab
2021-05-05  9:41 ` Mauro Carvalho Chehab
2021-05-05  9:41 ` Mauro Carvalho Chehab
2021-05-05  9:41 ` Mauro Carvalho Chehab
2021-05-05  9:41 ` Mauro Carvalho Chehab
2021-05-05  9:41 ` [PATCH 01/25] staging: media: rkvdec: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05 12:23   ` Jonathan Cameron
2021-05-05 12:23     ` Jonathan Cameron
2021-05-05  9:41 ` [PATCH 02/25] staging: media: imx7-mipi-csis: " Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05 11:06   ` Jonathan Cameron
2021-05-05 11:06     ` Jonathan Cameron
2021-05-05 11:17     ` Mauro Carvalho Chehab
2021-05-05 11:17       ` Mauro Carvalho Chehab
2021-05-05 13:56     ` Rui Miguel Silva
2021-05-05 13:56       ` Rui Miguel Silva
2021-05-05 14:23       ` Mauro Carvalho Chehab
2021-05-05 14:23         ` Mauro Carvalho Chehab
2021-05-05  9:41 ` [PATCH 03/25] media: venus: Rework error fail recover logic Mauro Carvalho Chehab
2021-05-05 11:05   ` Jonathan Cameron
2021-05-05  9:41 ` [PATCH 04/25] media: s5p_cec: decrement usage count if disabled Mauro Carvalho Chehab
2021-05-05 12:24   ` Jonathan Cameron
2021-05-05  9:41 ` [PATCH 05/25] media: i2c: ccs-core: return the right error code at suspend Mauro Carvalho Chehab
2021-05-05 12:24   ` Jonathan Cameron
2021-05-05 12:51   ` Sakari Ailus
2021-05-05  9:41 ` [PATCH 06/25] media: i2c: imx334: fix the pm runtime get logic Mauro Carvalho Chehab
2021-05-05 11:10   ` Jonathan Cameron
2021-05-05 11:24     ` Mauro Carvalho Chehab
2021-05-05 12:26       ` Jonathan Cameron
2021-05-05  9:41 ` [PATCH 07/25] media: exynos-gsc: don't resume at remove time Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05 12:27   ` Jonathan Cameron
2021-05-05 12:27     ` Jonathan Cameron
2021-05-05  9:41 ` [PATCH 08/25] media: atmel: properly get pm_runtime Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05 12:08   ` Jonathan Cameron
2021-05-05 12:08     ` Jonathan Cameron
2021-06-10  9:04     ` Eugen.Hristev
2021-06-10  9:04       ` Eugen.Hristev
2021-06-10  9:38       ` Mauro Carvalho Chehab
2021-06-10  9:38         ` Mauro Carvalho Chehab
2021-06-10 12:00         ` Eugen.Hristev
2021-06-10 12:00           ` Eugen.Hristev
2021-06-16  8:03           ` Mauro Carvalho Chehab
2021-06-16  8:03             ` Mauro Carvalho Chehab
2021-09-06  8:03           ` Mauro Carvalho Chehab
2021-09-06  8:03             ` Mauro Carvalho Chehab
2021-09-06  8:13             ` Eugen.Hristev [this message]
2021-09-06  8:13               ` Eugen.Hristev
2021-09-13 10:26               ` Eugen.Hristev
2021-09-13 10:26                 ` Eugen.Hristev
2021-05-05  9:41 ` [PATCH 09/25] media: hantro: do a PM resume earlier Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05  9:41   ` Mauro Carvalho Chehab
2021-05-05 11:34   ` Jonathan Cameron
2021-05-05 11:34     ` Jonathan Cameron
2021-05-05 13:22   ` Ezequiel Garcia
2021-05-05 13:22     ` Ezequiel Garcia
2021-05-05 13:22     ` Ezequiel Garcia
2021-05-05 13:46     ` Mauro Carvalho Chehab
2021-05-05 13:46       ` Mauro Carvalho Chehab
2021-05-05 14:01       ` Ezequiel Garcia
2021-05-05 14:01         ` Ezequiel Garcia
2021-05-05 14:01         ` Ezequiel Garcia
2021-05-05 14:15         ` Mauro Carvalho Chehab
2021-05-05 14:15           ` Mauro Carvalho Chehab
2021-05-05  9:42 ` [PATCH 10/25] media: marvel-ccic: fix some issues when getting pm_runtime Mauro Carvalho Chehab
2021-05-05  9:42 ` [PATCH 11/25] media: mdk-mdp: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05  9:42 ` [PATCH 12/25] media: rcar_fdp1: simplify error check logic at fdp_open() Mauro Carvalho Chehab
2021-05-05  9:48   ` Sergei Shtylyov
2021-05-05  9:42 ` [PATCH 13/25] media: rcar_fdp1: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-05-05 12:31   ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 14/25] media: renesas-ceu: Properly check for PM errors Mauro Carvalho Chehab
2021-05-05  9:56   ` Jacopo Mondi
2021-05-05  9:42 ` [PATCH 15/25] media: s5p: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-05-05 12:31   ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 16/25] media: am437x: " Mauro Carvalho Chehab
2021-05-05 12:32   ` Jonathan Cameron
2021-05-08 13:01   ` Lad, Prabhakar
2021-05-05  9:42 ` [PATCH 17/25] media: sh_vou: " Mauro Carvalho Chehab
2021-05-05  9:42 ` [PATCH 18/25] media: mtk-vcodec: fix PM runtime get logic Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05 12:32   ` Jonathan Cameron
2021-05-05 12:32     ` Jonathan Cameron
2021-05-05 12:32     ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 19/25] media: s5p-jpeg: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05 12:33   ` Jonathan Cameron
2021-05-05 12:33     ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 20/25] media: sti/delta: use pm_runtime_resume_and_get() Mauro Carvalho Chehab
2021-05-05 12:01   ` Jonathan Cameron
2021-05-05 12:33     ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 21/25] media: sunxi: fix pm_runtime_get_sync() usage count Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05  9:42 ` [PATCH 22/25] media: sti/bdisp: " Mauro Carvalho Chehab
2021-05-05 12:34   ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 23/25] media: exynos4-is: " Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05 12:20   ` Jonathan Cameron
2021-05-05 12:20     ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 24/25] media: exynos-gsc: " Mauro Carvalho Chehab
2021-05-05  9:42   ` Mauro Carvalho Chehab
2021-05-05 12:34   ` Jonathan Cameron
2021-05-05 12:34     ` Jonathan Cameron
2021-05-05  9:42 ` [PATCH 25/25] media: i2c: ccs-core: " Mauro Carvalho Chehab
2021-05-05 10:34   ` Sakari Ailus
2021-05-05 10:57     ` Mauro Carvalho Chehab
2021-05-05 10:58       ` Mauro Carvalho Chehab
2021-05-05 12:35         ` Jonathan Cameron
2021-05-05 14:06           ` Mauro Carvalho Chehab
2021-05-05 16:36             ` Jonathan Cameron
2021-05-05 11:02       ` Sakari Ailus
2021-05-06 15:11 ` [PATCH 00/25] Fix some PM runtime issues at the media subsystem Mauro Carvalho Chehab
2021-05-06 15:11   ` Mauro Carvalho Chehab
2021-05-06 15:11   ` Mauro Carvalho Chehab
2021-05-06 15:11   ` Mauro Carvalho Chehab
2021-05-06 15:11   ` Mauro Carvalho Chehab

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=1b480d13-3575-b486-e5dc-df08b50e4225@microchip.com \
    --to=eugen.hristev@microchip.com \
    --cc=Claudiu.Beznea@microchip.com \
    --cc=Jonathan.Cameron@Huawei.com \
    --cc=Ludovic.Desroches@microchip.com \
    --cc=Nicolas.Ferre@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=mauro.chehab@huawei.com \
    --cc=mchehab+huawei@kernel.org \
    --cc=mchehab@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 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.