From: Shubhrajyoti <shubhrajyoti-l0cyMroinI0@public.gmane.org>
To: Kevin Hilman <khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
Cc: linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org,
tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org,
w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org
Subject: Re: [PATCHv8 00/23]I2C big cleanup
Date: Thu, 13 Sep 2012 11:34:48 +0530 [thread overview]
Message-ID: <50517780.2080002@ti.com> (raw)
In-Reply-To: <874nn2vpv9.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
On Thursday 13 September 2012 03:57 AM, Kevin Hilman wrote:
> Shubhrajyoti D <shubhrajyoti-l0cyMroinI0@public.gmane.org> writes:
>
> [...]
>
>> This is the cleanup only series.
>>
>> Tested on omap4sdp and 3430sdp.
> It would be extremely helpful if you would describe how this was tested.
> And for me, it would be a source of extreme joy if you described any PM
> testing.
>
> I gave this some additional PM testing on 3430/n900, 3530/Overo,
> 3730/OveroSTORM, 3730/Beagle-xM and 4430/Panda.
>
> I tested v3.6-rc5 which passed all PM tests and then added this series
> (by merging the i2c-embedded/i2c-next branch.) PM tests then fail.
>
> At least on 3530/Overo and 3730/Overo, CORE no longer hits retenion (or
> off) during idle.
>
> The easy way to notice this is to see that even when no i2c transactions
> are happening, the runtime PM status for omap_i2c.1 is remains 'active':
>
> # cat omap_i2c.*/power/runtime_status
> active
> suspended
>
> Of course that means that clocks are never gated during idle, and CORE
> will never hit retention.
>
> I noticed it because my PM tests detected that the CORE powerdomain was
> not transitioning to retention (or off) during idle.
>
> To reproduce, simply enable UART timeouts so CORE will hit retention:
>
> echo 3000 > /sys/devices/platform/omap_uart.0/power/autosuspend_delay_ms
> echo 3000 > /sys/devices/platform/omap_uart.1/power/autosuspend_delay_ms
> echo 3000 > /sys/devices/platform/omap_uart.2/power/autosuspend_delay_ms
> echo 3000 > /sys/devices/platform/omap_uart.3/power/autosuspend_delay_ms
>
> and check the core_pwrm state counters:
>
> cat /debug/pm_debug/count
>
> wait > 3 seconds for the UART autosuspend timers to kick in. At this
> point, CORE should be transitioning to retenion in idle (determined by
> noticing that the RET counter for core_pwrdm is increasing.)
>
> With $SUBJECT series applied, you'll notice that CORE is not
> transitioning.
However I do not see the issue,let me know if I missed something see below.
On my 3430sdp
/sys/bus/platform/devices # cat omap_i2c.*/power/runtime_status
suspended
suspended
suspended
/sys/bus/platform/devices #
/sys/bus/platform/devices # cat omap_i2c.*/power/autosuspend_delay_ms
1000
1000
1000
/sys/bus/platform/devices # echo 3000 >
/sys/devices/platform/omap_uart.0/power/
autosuspend_delay_ms
/sys/bus/platform/devices # echo 3000 >
/sys/devices/platform/omap_uart.1/power/
autosuspend_delay_ms
/sys/bus/platform/devices # echo 3000 >
/sys/devices/platform/omap_uart.2/power/
autosuspend_delay_ms
/sys/bus/platform/devices #
/sys/bus/platform/devices # cat /debug/pm_debug/count
usbhost_pwrdm
(ON),OFF:0,RET:1373,INA:0,ON:1374,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
core_pwrdm
(ON),OFF:0,RET:1,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0
per_pwrdm (ON),OFF:0,RET:79,INA:0,ON:80,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
dss_pwrdm
(ON),OFF:0,RET:1373,INA:0,ON:1374,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
cam_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
neon_pwrdm (ON),OFF:0,RET:1373,INA:0,ON:1374,RET-LOGIC-OFF:0
mpu_pwrdm
(ON),OFF:0,RET:1373,INA:0,ON:1374,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
iva2_pwrdm
(RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RE0
usbhost_clkdm->usbhost_pwrdm (1)
sgx_clkdm->sgx_pwrdm (0)
per_clkdm->per_pwrdm (13)
cam_clkdm->cam_pwrdm (0)
dss_clkdm->dss_pwrdm (1)
d2d_clkdm->core_pwrdm (0)
iva2_clkdm->iva2_pwrdm (0)
mpu_clkdm->mpu_pwrdm (0)
core_l4_clkdm->core_pwrdm (23)
core_l3_clkdm->core_pwrdm (4)
neon_clkdm->neon_pwrdm (0)
/sys/bus/platform/devices #
/sys/bus/platform/devices #
/sys/bus/platform/devices # sleep 5
/sys/bus/platform/devices # cat /debug/pm_debug/count
usbhost_pwrdm
(ON),OFF:0,RET:1512,INA:0,ON:1513,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
core_pwrdm
(ON),OFF:0,RET:12,INA:0,ON:13,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0
per_pwrdm (ON),OFF:0,RET:218,INA:0,ON:219,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
dss_pwrdm
(ON),OFF:0,RET:1512,INA:0,ON:1513,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
cam_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
neon_pwrdm (ON),OFF:0,RET:1512,INA:0,ON:1513,RET-LOGIC-OFF:0
mpu_pwrdm
(ON),OFF:0,RET:1512,INA:0,ON:1513,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0
iva2_pwrdm
(RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RE0
usbhost_clkdm->usbhost_pwrdm (1)
sgx_clkdm->sgx_pwrdm (0)
per_clkdm->per_pwrdm (13)
cam_clkdm->cam_pwrdm (0)
dss_clkdm->dss_pwrdm (1)
d2d_clkdm->core_pwrdm (0)
iva2_clkdm->iva2_pwrdm (0)
mpu_clkdm->mpu_pwrdm (0)
core_l4_clkdm->core_pwrdm (23)
core_l3_clkdm->core_pwrdm (4)
neon_clkdm->neon_pwrdm (0)
/sys/bus/platform/devices # cat omap_i2c.*/power/runtime_status
suspended
suspended
suspended
/sys/bus/platform/devices #
>
> Kevin
>
>> The following changes since commit 55d512e245bc7699a8800e23df1a24195dd08217:
>>
>> Linux 3.6-rc5 (2012-09-08 16:43:45 -0700)
>>
>> are available in the git repository at:
>> git://gitorious.org/linus-tree/linus-tree.git for_3.7/i2c/big_cleanups
>>
>>
>> Felipe Balbi (22):
>> i2c: omap: switch to devm_* API
>> i2c: omap: simplify num_bytes handling
>> i2c: omap: decrease indentation level on data handling
>> i2c: omap: add blank lines
>> i2c: omap: simplify omap_i2c_ack_stat()
>> i2c: omap: split out [XR]DR and [XR]RDY
>> i2c: omap: improve i462 errata handling
>> i2c: omap: re-factor receive/transmit data loop
>> i2c: omap: switch over to do {} while loop
>> i2c: omap: ack IRQ in parts
>> i2c: omap: switch to platform_get_irq()
>> i2c: omap: bus: add a receiver flag
>> i2c: omap: simplify errata check
>> i2c: omap: always return IRQ_HANDLED
>> i2c: omap: simplify IRQ exit path
>> i2c: omap: resize fifos before each message
>> i2c: omap: get rid of the "complete" label
>> i2c: omap: always return IRQ_HANDLED
>> i2c: omap: switch to threaded IRQ support
>> i2c: omap: remove unnecessary pm_runtime_suspended check
>> i2c: omap: switch over to autosuspend API
>> i2c: omap: sanitize exit path
>>
>> Shubhrajyoti D (1):
>> i2c: omap: remove redundant status read
>>
>> drivers/i2c/busses/i2c-omap.c | 442 +++++++++++++++++++++++++----------------
>> 1 files changed, 271 insertions(+), 171 deletions(-)
next prev parent reply other threads:[~2012-09-13 6:04 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-12 10:57 [PATCHv8 00/23]I2C big cleanup Shubhrajyoti D
2012-09-12 10:57 ` [PATCHv8 01/22] i2c: omap: switch to devm_* API Shubhrajyoti D
2012-09-12 10:57 ` [PATCHv8 04/22] i2c: omap: add blank lines Shubhrajyoti D
2012-09-12 10:57 ` [PATCHv8 05/22] i2c: omap: simplify omap_i2c_ack_stat() Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 08/22] i2c: omap: re-factor receive/transmit data loop Shubhrajyoti D
[not found] ` <1347447496-16793-1-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-09-12 10:57 ` [PATCHv8 02/22] i2c: omap: simplify num_bytes handling Shubhrajyoti D
2012-09-12 10:57 ` [PATCHv8 03/22] i2c: omap: decrease indentation level on data handling Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 06/22] i2c: omap: split out [XR]DR and [XR]RDY Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 07/22] i2c: omap: improve i462 errata handling Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 09/22] i2c: omap: switch over to do {} while loop Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 10/22] i2c: omap: ack IRQ in parts Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 11/22] i2c: omap: switch to platform_get_irq() Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 15/22] i2c: omap: simplify IRQ exit path Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 16/22] i2c: omap: resize fifos before each message Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 17/22] i2c: omap: get rid of the "complete" label Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 18/22] i2c: omap: remove redundant status read Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 19/22] i2c: omap: switch to threaded IRQ support Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 21/22] i2c: omap: switch over to autosuspend API Shubhrajyoti D
[not found] ` <1347447496-16793-22-git-send-email-shubhrajyoti-l0cyMroinI0@public.gmane.org>
2012-09-12 23:03 ` Kevin Hilman
2012-09-12 13:16 ` [PATCHv8 00/23]I2C big cleanup Wolfram Sang
2012-09-12 13:25 ` Shubhrajyoti
[not found] ` <20120912131615.GB16547-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-09-12 22:39 ` Kevin Hilman
2012-09-12 23:08 ` Kevin Hilman
[not found] ` <87wqzysuu3.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2012-09-13 8:52 ` Wolfram Sang
2012-09-13 18:04 ` Kevin Hilman
[not found] ` <87sjaldcjp.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2012-09-13 18:37 ` Felipe Balbi
[not found] ` <20120913183705.GA17430-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-09-13 21:28 ` Kevin Hilman
[not found] ` <87txv1bokd.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2012-09-14 10:40 ` Shubhrajyoti
2012-09-12 22:27 ` Kevin Hilman
[not found] ` <874nn2vpv9.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2012-09-13 5:33 ` Felipe Balbi
2012-09-13 14:31 ` Kevin Hilman
2012-09-13 6:04 ` Shubhrajyoti [this message]
[not found] ` <50517780.2080002-l0cyMroinI0@public.gmane.org>
2012-09-13 6:36 ` Felipe Balbi
2012-09-13 6:55 ` Shubhrajyoti
2012-09-12 10:58 ` [PATCHv8 12/22] i2c: omap: bus: add a receiver flag Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 13/22] i2c: omap: simplify errata check Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 14/22] i2c: omap: always return IRQ_HANDLED Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 20/22] i2c: omap: remove unnecessary pm_runtime_suspended check Shubhrajyoti D
2012-09-12 10:58 ` [PATCHv8 22/22] i2c: omap: sanitize exit path Shubhrajyoti D
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=50517780.2080002@ti.com \
--to=shubhrajyoti-l0cymroini0@public.gmane.org \
--cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
--cc=khilman-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
--cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.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).