Applied. Thanks! Alex On Thu, Jan 30, 2020 at 11:58 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > If "speed" is zero then we use it as a divisor to find "prescale". It's > better to move the check for zero to the very start of the function. > > Fixes: 9eeec26a1339 ("drm/amd/display: Refine i2c frequency calculating sequence") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c | 23 ++++++++++++----------- > 1 file changed, 12 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c b/drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c > index 066188ba7949..24adec407972 100644 > --- a/drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c > +++ b/drivers/gpu/drm/amd/display/dc/dce/dce_i2c_hw.c > @@ -267,6 +267,9 @@ static void set_speed( > uint32_t xtal_ref_div = 0; > uint32_t prescale = 0; > > + if (speed == 0) > + return; > + > REG_GET(MICROSECOND_TIME_BASE_DIV, XTAL_REF_DIV, &xtal_ref_div); > > if (xtal_ref_div == 0) > @@ -274,17 +277,15 @@ static void set_speed( > > prescale = ((dce_i2c_hw->reference_frequency * 2) / xtal_ref_div) / speed; > > - if (speed) { > - if (dce_i2c_hw->masks->DC_I2C_DDC1_START_STOP_TIMING_CNTL) > - REG_UPDATE_N(SPEED, 3, > - FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_PRESCALE), prescale, > - FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_THRESHOLD), 2, > - FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_START_STOP_TIMING_CNTL), speed > 50 ? 2:1); > - else > - REG_UPDATE_N(SPEED, 2, > - FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_PRESCALE), prescale, > - FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_THRESHOLD), 2); > - } > + if (dce_i2c_hw->masks->DC_I2C_DDC1_START_STOP_TIMING_CNTL) > + REG_UPDATE_N(SPEED, 3, > + FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_PRESCALE), prescale, > + FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_THRESHOLD), 2, > + FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_START_STOP_TIMING_CNTL), speed > 50 ? 2:1); > + else > + REG_UPDATE_N(SPEED, 2, > + FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_PRESCALE), prescale, > + FN(DC_I2C_DDC1_SPEED, DC_I2C_DDC1_THRESHOLD), 2); > } > > static bool setup_engine( > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx