Skip to content

Commit 3bd4f27

Browse files
jhnikulaWolfram Sang
authored andcommitted
i2c: designware: Call i2c_dw_clk_rate() only once in i2c_dw_init_master()
This is rather readability update than micro-optimization, or if not optimization at all. We take the input clock rate to a variable and pass that to SCL timing parameter calculation functions. Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
1 parent 83b2cb4 commit 3bd4f27

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

drivers/i2c/busses/i2c-designware-master.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ static void i2c_dw_configure_fifo_master(struct dw_i2c_dev *dev)
5555
*/
5656
static int i2c_dw_init_master(struct dw_i2c_dev *dev)
5757
{
58+
u32 ic_clk = i2c_dw_clk_rate(dev);
5859
u32 hcnt, lcnt;
5960
u32 reg, comp_param1;
6061
u32 sda_falling_time, scl_falling_time;
@@ -79,12 +80,12 @@ static int i2c_dw_init_master(struct dw_i2c_dev *dev)
7980
hcnt = dev->ss_hcnt;
8081
lcnt = dev->ss_lcnt;
8182
} else {
82-
hcnt = i2c_dw_scl_hcnt(i2c_dw_clk_rate(dev),
83+
hcnt = i2c_dw_scl_hcnt(ic_clk,
8384
4000, /* tHD;STA = tHIGH = 4.0 us */
8485
sda_falling_time,
8586
0, /* 0: DW default, 1: Ideal */
8687
0); /* No offset */
87-
lcnt = i2c_dw_scl_lcnt(i2c_dw_clk_rate(dev),
88+
lcnt = i2c_dw_scl_lcnt(ic_clk,
8889
4700, /* tLOW = 4.7 us */
8990
scl_falling_time,
9091
0); /* No offset */
@@ -101,12 +102,12 @@ static int i2c_dw_init_master(struct dw_i2c_dev *dev)
101102
hcnt = dev->fs_hcnt;
102103
lcnt = dev->fs_lcnt;
103104
} else {
104-
hcnt = i2c_dw_scl_hcnt(i2c_dw_clk_rate(dev),
105+
hcnt = i2c_dw_scl_hcnt(ic_clk,
105106
600, /* tHD;STA = tHIGH = 0.6 us */
106107
sda_falling_time,
107108
0, /* 0: DW default, 1: Ideal */
108109
0); /* No offset */
109-
lcnt = i2c_dw_scl_lcnt(i2c_dw_clk_rate(dev),
110+
lcnt = i2c_dw_scl_lcnt(ic_clk,
110111
1300, /* tLOW = 1.3 us */
111112
scl_falling_time,
112113
0); /* No offset */

0 commit comments

Comments
 (0)