From: Javier Martinez Canillas <javier@osg.samsung.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Wolfram Sang <wsa@the-dreams.de>,
linux-i2c@vger.kernel.org,
Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
linux-pm@vger.kernel.org, Alan Stern <stern@rowland.harvard.edu>
Subject: Re: tvp5150 regression after commit 9f924169c035
Date: Fri, 12 Feb 2016 19:28:39 -0300 [thread overview]
Message-ID: <56BE5C97.9070607@osg.samsung.com> (raw)
In-Reply-To: <20160212221352.GY3500@atomide.com>
Hello Tony,
On 02/12/2016 07:13 PM, Tony Lindgren wrote:
> Hi,
>
> * Javier Martinez Canillas <javier@osg.samsung.com> [160212 14:10]:
>> Hello,
>>
>> On 02/08/2016 07:54 AM, Wolfram Sang wrote:
>>> On Wed, Feb 03, 2016 at 10:46:51AM -0300, Javier Martinez Canillas wrote:
>>>> Hello Wolfram,
>>>>
>>>> I've a issue with a I2C video decoder driver (drivers/media/i2c/tvp5150.c).
>>>>
>>>> In v4.5-rc1, the driver gets I2C read / writes timeouts when accessing the
>>>> device I2C registers:
>>>>
>>>> tvp5150 1-005c: i2c i/o error: rc == -110
>>>> tvp5150: probe of 1-005c failed with error -110
>>>>
>>>> The driver used to work up to v4.4 so this is a regression in v4.5-rc1:
>>>>
>>>> tvp5150 1-005c: tvp5151 (1.0) chip found @ 0xb8 (OMAP I2C adapter)
>>>> tvp5150 1-005c: tvp5151 detected.
>>>>
>>>> I tracked down to commit 9f924169c035 ("i2c: always enable RuntimePM for
>>>> the adapter device") and reverting that commit makes things to work again.
>>>>
>>>> The tvp5150 driver doesn't have runtime PM support but the I2C controller
>>>> driver does (drivers/i2c/busses/i2c-omap.c) FWIW.
>>>>
>>>> I tried adding runtime PM support to tvp5150 (basically calling pm_runtime
>>>> enable/get on probe before the first I2C read to resume the controller) but
>>>> that it did not work.
>>>>
>>>> Not filling the OMAP I2C driver's runtime PM callbacks does not help either.
>>>>
>>>> Any hints about the proper way to fix this issue?
>>>
>>> Asking linux-pm for help:
>>>
>>> The commit in question enables RuntimePM for the logical adapter device
>>> which sits between the HW I2C controller and the I2C client device. This
>>> adapter device has been used with pm_runtime_no_callbacks before
>>> enabling RPM. Now, Alan explained to me that "suspend events will
>>> propagate from the I2C clients all the way up to the adapter's parent."
>>> with RPM enabled for the adapter device. Which should be a no-op if the
>>> client doesn't do any PM at all? What do I miss?
>>
>> I'm adding Tony Lindgren to the cc list as well since he is the OMAP
>> maintainer and I see that has struggled lately with runtime PM issues
>> so maybe he has more ideas.
>
> Hmm yeah I wonder if this canned solution helps here too:
>
> 1. Check if the driver(s) are using pm_runtime_use_autosuspend()
>
By driver do you mean the OMAP GPIO driver or the tvp5150 I2C driver?
The latter does not have runtime PM support.
> 2. If so, you must use pm_runtime_dont_use_autosuspend() before
> pm_runtime_put_sync() to make sure that pm_runtime_put_sync()
> works.
>
> 3. Or you can use pm_runtime_put_sync_suspend() instead of
> pm_runtime_put_sync() for sections of code where the clocks
> need to be stopped.
>
I can check if the OMAP GPIO is following these and give a try but
don't have access to the board right now so I'll do it on Monday.
> Regards,
>
> Tony
>
Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
next prev parent reply other threads:[~2016-02-12 22:28 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-03 13:46 tvp5150 regression after commit 9f924169c035 Javier Martinez Canillas
2016-02-03 14:23 ` Wolfram Sang
2016-02-03 14:42 ` Javier Martinez Canillas
2016-02-08 10:54 ` Wolfram Sang
2016-02-12 22:09 ` Javier Martinez Canillas
2016-02-12 22:13 ` Tony Lindgren
2016-02-12 22:28 ` Javier Martinez Canillas [this message]
2016-02-12 22:40 ` Tony Lindgren
2016-02-12 23:08 ` Javier Martinez Canillas
2016-02-12 23:46 ` Tony Lindgren
2016-02-13 2:47 ` Javier Martinez Canillas
2016-04-12 22:32 ` Wolfram Sang
2016-04-13 22:39 ` Javier Martinez Canillas
2016-04-14 11:12 ` Wolfram Sang
2016-04-14 13:41 ` Javier Martinez Canillas
2016-04-14 14:19 ` Wolfram Sang
2016-04-14 14:27 ` Javier Martinez Canillas
2016-04-14 15:12 ` Tony Lindgren
2016-04-14 23:59 ` Javier Martinez Canillas
2016-04-15 14:58 ` Tony Lindgren
2016-04-15 16:48 ` Javier Martinez Canillas
2016-04-15 17:08 ` Tony Lindgren
2016-02-12 22:22 ` Wolfram Sang
2016-02-12 22:26 ` Javier Martinez Canillas
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=56BE5C97.9070607@osg.samsung.com \
--to=javier@osg.samsung.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mchehab@osg.samsung.com \
--cc=stern@rowland.harvard.edu \
--cc=tony@atomide.com \
--cc=wsa@the-dreams.de \
/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.