From: Antti Palosaari <crope@iki.fi>
To: Michael Krufky <mkrufky@linuxtv.org>
Cc: linux-media <linux-media@vger.kernel.org>
Subject: Re: tda18271 driver power consumption
Date: Mon, 06 Aug 2012 21:19:53 +0300 [thread overview]
Message-ID: <50200AC9.9080203@iki.fi> (raw)
In-Reply-To: <CAOcJUbzXoLx10o8oprxPM1TELFxyGE7_wodcWsBr8MX4OR0N_w@mail.gmail.com>
On 07/25/2012 01:17 AM, Michael Krufky wrote:
> On Tue, Jul 24, 2012 at 6:12 PM, Antti Palosaari <crope@iki.fi> wrote:
>> On 07/25/2012 12:55 AM, Michael Krufky wrote:
>>>
>>> On Sun, Jul 22, 2012 at 3:59 PM, Antti Palosaari <crope@iki.fi> wrote:
>>>>
>>>> Moi Michael,
>>>> I just realized tda18271 driver eats 160mA too much current after attach.
>>>> This means, there is power management bug.
>>>>
>>>> When I plug my nanoStick it eats total 240mA, after tda18271 sleep is
>>>> called
>>>> it eats only 80mA total which is reasonable. If I use Digital Devices
>>>> tda18271c2dd driver it is total 110mA after attach, which is also quite
>>>> OK.
>>>
>>>
>>> Thanks for the report -- I will take a look at it.
>>>
>>> ...patches are welcome, of course :-)
>>
>>
>> I suspect it does some tweaking on attach() and chip leaves powered (I saw
>> demod debugs at calls I2C-gate control quite many times thus this
>> suspicion). When chip is powered-up it is usually in some sleep state by
>> default. Also, on attach() there should be no I/O unless very good reason.
>> For example chip ID is allowed to read and download firmware in case it is
>> really needed to continue - like for tuner communication.
>>
>>
>> What I found quickly testing few DVB USB sticks there seems to be very much
>> power management problems... I am now waiting for new multimeter in order to
>> make better measurements and likely return fixing these issues later.
>
> The driver does some calibration during attach, some of which is a
> one-time initialization to determine a temperature differential for
> tune calculation later on, which can take some time on slower USB
> buses. The "fix" for the power usage issue would just be to make sure
> to sleep the device before exiting the attach() function.
>
> I'm not looking to remove the calibration from the attach -- this was
> done on purpose.
You should understand from DVB driver model:
* attach() called only once when driver is loaded
* init() called to wake-up device
* sleep() called to sleep device
What I would like to say is that there is very big risk to shoot own leg
when doing some initialization on attach(). For example resuming from
the suspend could cause device reset and if you rely some settings that
are done during attach() you will likely fail as Kernel / USB-host
controller has reset your device.
See reset_resume from Kernel documentation:
Documentation/usb/power-management.txt
regards
Antti
--
http://palosaari.fi/
next prev parent reply other threads:[~2012-08-06 18:20 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-22 19:59 tda18271 driver power consumption Antti Palosaari
2012-07-24 21:55 ` Michael Krufky
2012-07-24 22:12 ` Antti Palosaari
2012-07-24 22:17 ` Michael Krufky
2012-07-25 0:15 ` Michael Krufky
2012-07-25 0:43 ` Antti Palosaari
2012-07-26 3:18 ` Michael Krufky
2012-07-26 12:48 ` Michael Krufky
2012-08-06 13:30 ` Antti Palosaari
[not found] ` <20120927161940.0f673e2e@redhat.com>
2012-09-27 19:59 ` Antti Palosaari
2012-09-27 21:20 ` Michael Krufky
2012-09-27 21:38 ` Antti Palosaari
2012-09-27 21:58 ` Michael Krufky
2012-09-27 22:26 ` Antti Palosaari
2012-09-27 22:43 ` Michael Krufky
2012-09-27 22:46 ` Antti Palosaari
2012-09-27 22:55 ` Michael Krufky
2012-09-27 23:05 ` Antti Palosaari
[not found] ` <20120928084337.1db94b8c@redhat.com>
2012-09-28 15:04 ` [PATCH] tda18271-common: hold the I2C adapter during write transfers Mauro Carvalho Chehab
2012-09-28 18:31 ` Antti Palosaari
2012-09-28 18:56 ` Michael Krufky
2012-09-29 19:20 ` Michael Krufky
2012-10-07 12:42 ` Mauro Carvalho Chehab
2012-10-07 13:18 ` Michael Krufky
2012-10-01 10:42 ` Mauro Carvalho Chehab
2012-10-01 11:31 ` Antti Palosaari
2012-10-01 12:36 ` Mauro Carvalho Chehab
2012-09-28 16:19 ` tda18271 driver power consumption Antti Palosaari
2012-08-06 18:19 ` Antti Palosaari [this message]
2012-08-06 18:35 ` Devin Heitmueller
2012-08-06 18:57 ` Michael Krufky
2012-08-06 19:13 ` Antti Palosaari
2012-08-06 20:19 ` Manu Abraham
2012-09-20 17:47 ` Michael Krufky
2012-09-20 17:49 ` Michael Krufky
2012-09-22 17:21 ` Antti Palosaari
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=50200AC9.9080203@iki.fi \
--to=crope@iki.fi \
--cc=linux-media@vger.kernel.org \
--cc=mkrufky@linuxtv.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).