i2c: mediatek: Fix send master code at more than 1MHz
commit 63ce8e3df8f6deca2da52eaf064751ad4018b46e upstream. There are some omissions in the previous patch about replacing I2C_MAX_FAST_MODE__FREQ with I2C_MAX_FAST_MODE_PLUS_FREQ and need to fix it. Fixes: b44658e755b5("i2c: mediatek: Send i2c master code at more than 1MHz") Signed-off-by: Qii Wang <qii.wang@mediatek.com> Signed-off-by: Wolfram Sang <wsa@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
667627fa85
commit
c4e3d8cf61
@ -564,7 +564,7 @@ static const struct i2c_spec_values *mtk_i2c_get_spec(unsigned int speed)
|
||||
|
||||
static int mtk_i2c_max_step_cnt(unsigned int target_speed)
|
||||
{
|
||||
if (target_speed > I2C_MAX_FAST_MODE_FREQ)
|
||||
if (target_speed > I2C_MAX_FAST_MODE_PLUS_FREQ)
|
||||
return MAX_HS_STEP_CNT_DIV;
|
||||
else
|
||||
return MAX_STEP_CNT_DIV;
|
||||
@ -635,7 +635,7 @@ static int mtk_i2c_check_ac_timing(struct mtk_i2c *i2c,
|
||||
if (sda_min > sda_max)
|
||||
return -3;
|
||||
|
||||
if (check_speed > I2C_MAX_FAST_MODE_FREQ) {
|
||||
if (check_speed > I2C_MAX_FAST_MODE_PLUS_FREQ) {
|
||||
if (i2c->dev_comp->ltiming_adjust) {
|
||||
i2c->ac_timing.hs = I2C_TIME_DEFAULT_VALUE |
|
||||
(sample_cnt << 12) | (high_cnt << 8);
|
||||
@ -850,7 +850,7 @@ static int mtk_i2c_do_transfer(struct mtk_i2c *i2c, struct i2c_msg *msgs,
|
||||
|
||||
control_reg = mtk_i2c_readw(i2c, OFFSET_CONTROL) &
|
||||
~(I2C_CONTROL_DIR_CHANGE | I2C_CONTROL_RS);
|
||||
if ((i2c->speed_hz > I2C_MAX_FAST_MODE_FREQ) || (left_num >= 1))
|
||||
if ((i2c->speed_hz > I2C_MAX_FAST_MODE_PLUS_FREQ) || (left_num >= 1))
|
||||
control_reg |= I2C_CONTROL_RS;
|
||||
|
||||
if (i2c->op == I2C_MASTER_WRRD)
|
||||
@ -1067,7 +1067,8 @@ static int mtk_i2c_transfer(struct i2c_adapter *adap,
|
||||
}
|
||||
}
|
||||
|
||||
if (i2c->auto_restart && num >= 2 && i2c->speed_hz > I2C_MAX_FAST_MODE_FREQ)
|
||||
if (i2c->auto_restart && num >= 2 &&
|
||||
i2c->speed_hz > I2C_MAX_FAST_MODE_PLUS_FREQ)
|
||||
/* ignore the first restart irq after the master code,
|
||||
* otherwise the first transfer will be discarded.
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user