From: Kevin Hilman <khilman@ti.com>
To: Jean Pihet <jean.pihet@newoldbits.com>
Cc: Linux PM mailing list <linux-pm@lists.linux-foundation.org>,
linux-omap@vger.kernel.org, "Rafael J. Wysocki" <rjw@sisk.pl>,
Paul Walmsley <paul@pwsan.com>,
magnus.damm@gmail.com, Todd Poynor <toddpoynor@google.com>,
Jean Pihet <j-pihet@ti.com>
Subject: Re: [PATCH 1/8] OMAP: convert I2C driver to PM QoS for latency constraints
Date: Fri, 16 Sep 2011 09:06:52 -0700 [thread overview]
Message-ID: <87d3f0sc83.fsf@ti.com> (raw)
In-Reply-To: <CAORVsuVH=iK4-ajBjpU+rdquV5MV=JjkHzRcJavJ5=d2e7dCxw@mail.gmail.com> (Jean Pihet's message of "Fri, 16 Sep 2011 17:39:46 +0200")
Jean Pihet <jean.pihet@newoldbits.com> writes:
> Kevin,
>
> On Fri, Sep 16, 2011 at 12:46 AM, Kevin Hilman <khilman@ti.com> wrote:
>> Hi Jean,
>>
>> Jean Pihet <jean.pihet@newoldbits.com> writes:
>>
>>> Convert the driver from the outdated omap_pm_set_max_mpu_wakeup_lat
>>> API to the new PM QoS API.
>>> Since the constraint is on the MPU subsystem, use the PM_QOS_CPU_DMA_LATENCY
>>> class of PM QoS. The resulting MPU constraints are used by cpuidle to
>>> decide the next power state of the MPU subsystem.
>>>
>>> Currently only OMAP3 is placing constraints on the MPU.
>>>
>>> Signed-off-by: Jean Pihet <j-pihet@ti.com>
>>
>> [...]
>>
>>> @@ -648,8 +648,16 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
>>> if (r < 0)
>>> goto out;
>>>
>>> - if (dev->set_mpu_wkup_lat != NULL)
>>> - dev->set_mpu_wkup_lat(dev->dev, dev->latency);
>>> + /*
>>> + * When waiting for completion of a i2c transfer, we need to
>>> + * set a wake up latency constraint for the MPU. This is to
>>> + * ensure quick enough wakeup from idle, when transfer
>>> + * completes.
>>> + * Used on OMAP3 Only
>>> + */
>>> + if (cpu_is_omap34xx())
>>
>> We don't want any cpu_is_* checking in drivers.
>>
>> If this is only done on certain SoCs, then a flag should be passed from
>> device init code via pdata.
>>
>> That being said, I don't see why this shouldn't be set for all SoCs
>> since it's using the FIFO size to determine the latency.
> I am OK to have the constraints active for all OMAPs. Side question:
> what if different SOCs need different values for the constraint?
This latency calculation is based on FIFO size and drain rate, so it
should be completely SoC independent.
However, if for some reason there are SoC dependencies, the SoC specific
parts need to be passed in to the driver.
Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-09-16 16:06 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-02 13:13 [PATCH 0/8] PM QoS: implement the OMAP low level constraints management code Jean Pihet
2011-09-02 13:13 ` [PATCH 1/8] OMAP: convert I2C driver to PM QoS for latency constraints Jean Pihet
2011-09-15 22:46 ` Kevin Hilman
2011-09-16 15:39 ` Jean Pihet
2011-09-16 16:06 ` Kevin Hilman [this message]
2011-09-02 13:13 ` [PATCH 2/8] OMAP: PM: create a PM layer plugin for per-device constraints Jean Pihet
2011-09-02 13:13 ` [PATCH 3/8] OMAP2+: powerdomain: control power domains next state Jean Pihet
2011-09-16 18:27 ` Kevin Hilman
2011-09-02 13:13 ` [PATCH 4/8] OMAP3: powerdomain data: add wake-up latency figures Jean Pihet
2011-09-02 13:13 ` [PATCH 5/8] OMAP2+: omap_hwmod: manage the wake-up latency constraints Jean Pihet
2011-09-02 13:13 ` [PATCH 6/8] OMAP: PM CONSTRAINTS: implement the devices " Jean Pihet
2011-09-15 23:47 ` Kevin Hilman
2011-09-16 15:43 ` Jean Pihet
2011-09-16 15:56 ` Kevin Hilman
2011-09-02 13:13 ` [PATCH 7/8] OMAP2+: cpuidle only influences the MPU state Jean Pihet
2011-09-02 13:13 ` [PATCH 8/8] OMAP3: update cpuidle latency and threshold figures Jean Pihet
2011-09-15 8:57 ` [PATCH 0/8] PM QoS: implement the OMAP low level constraints management code Jean Pihet
-- strict thread matches above, loose matches on Subject: below --
2011-09-21 16:14 [PATCH v2 " Jean Pihet
2011-09-21 16:14 ` [PATCH 1/8] OMAP: convert I2C driver to PM QoS for latency constraints Jean Pihet
2011-09-21 16:24 ` [PATCH v2 0/8] PM QoS: implement the OMAP low level constraints management code jean.pihet
2011-09-21 16:24 ` [PATCH 1/8] OMAP: convert I2C driver to PM QoS for latency constraints jean.pihet
2011-10-12 15:24 [PATCH v3 0/8] PM QoS: implement the OMAP low level constraints management code jean.pihet
2011-10-12 15:24 ` [PATCH 1/8] OMAP: convert I2C driver to PM QoS for latency constraints jean.pihet
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=87d3f0sc83.fsf@ti.com \
--to=khilman@ti.com \
--cc=j-pihet@ti.com \
--cc=jean.pihet@newoldbits.com \
--cc=linux-omap@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=magnus.damm@gmail.com \
--cc=paul@pwsan.com \
--cc=rjw@sisk.pl \
--cc=toddpoynor@google.com \
/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