Skip to content
Commit 588eb93e authored by Gao Pan's avatar Gao Pan Committed by Wolfram Sang
Browse files

i2c: imx: add runtime pm support to improve the performance



In our former i2c driver, i2c clk is enabled and disabled in
xfer function, which contributes to power saving. However,
the clk enable process brings a busy wait delay until the core
is stable. As a result, the performance is sacrificed.

To weigh the power consumption and i2c bus performance, runtime
pm is the good solution for it. The clk is enabled when a i2c
transfer starts, and disabled after a specifically defined delay.

If CONFIG_PM is disabled the net result of this patch is that the
clock is never disabled.

Without the patch the test case (many eeprom reads) executes with approx:
real 1m7.735s
user 0m0.488s
sys 0m20.040s

With the patch the same test case (many eeprom reads) executes with approx:
real 0m54.241s
user 0m0.440s
sys 0m5.920s

Signed-off-by: default avatarFugang Duan <B38611@freescale.com>
Signed-off-by: default avatarGao Pan <b54642@freescale.com>
Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
[wsa: sorted includes]
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent a5f65018
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment