On Tue, Jun 8, 2021 at 5:40 PM Luben Tuikov <luben.tuikov@xxxxxxx> wrote: > > From: Andrey Grodzovsky <andrey.grodzovsky@xxxxxxx> > > Let's just ignore the I2C_M_STOP hint from upper > layer for SMU I2C code as there is no clean > mapping between single per I2C message STOP flag > at the kernel I2C layer and the SMU, per each byte > STOP flag. We will just by default set it at the > end of the SMU I2C message. > > Cc: Jean Delvare <jdelvare@xxxxxxx> > Cc: Alexander Deucher <Alexander.Deucher@xxxxxxx> > Cc: Andrey Grodzovsky <Andrey.Grodzovsky@xxxxxxx> > Cc: Lijo Lazar <Lijo.Lazar@xxxxxxx> > Cc: Stanley Yang <Stanley.Yang@xxxxxxx> > Cc: Hawking Zhang <Hawking.Zhang@xxxxxxx> > Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@xxxxxxx> > Suggested-by: Lazar Lijo <Lijo.Lazar@xxxxxxx> > Signed-off-by: Luben Tuikov <luben.tuikov@xxxxxxx> > Reviewed-by: Luben Tuikov <luben.tuikov@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 4 ++-- > drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c | 4 ++-- > drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c | 4 ++-- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c > index 72b02025b07e06..235e83e9f0feb7 100644 > --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c > @@ -1951,9 +1951,9 @@ static int arcturus_i2c_xfer(struct i2c_adapter *i2c_adap, > cmd->CmdConfig |= I2C_CMD_WRITE; > cmd->RegisterAddr = msg->buf[j]; > } > - if ((msg[i].flags & I2C_M_STOP) || > - (!remaining_bytes)) > + if (!remaining_bytes) > cmd->CmdConfig |= CMDCONFIG_STOP_MASK; > + > if ((j == 0) && !(msg[i].flags & I2C_M_NOSTART)) > cmd->CmdConfig |= CMDCONFIG_RESTART_BIT; > } > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c > index 289d09a5d711b9..b94c5a1d3eb756 100644 > --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c > @@ -2746,9 +2746,9 @@ static int navi10_i2c_xfer(struct i2c_adapter *i2c_adap, > cmd->CmdConfig |= I2C_CMD_WRITE; > cmd->RegisterAddr = msg->buf[j]; > } > - if ((msg[i].flags & I2C_M_STOP) || > - (!remaining_bytes)) > + if (!remaining_bytes) > cmd->CmdConfig |= CMDCONFIG_STOP_MASK; > + > if ((j == 0) && !(msg[i].flags & I2C_M_NOSTART)) > cmd->CmdConfig |= CMDCONFIG_RESTART_BIT; > } > diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c > index e8e57462ce9d64..2fa667a86c1a54 100644 > --- a/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c > +++ b/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c > @@ -3434,9 +3434,9 @@ static int sienna_cichlid_i2c_xfer(struct i2c_adapter *i2c_adap, > cmd->CmdConfig |= CMDCONFIG_READWRITE_MASK; > cmd->ReadWriteData = msg->buf[j]; > } > - if ((msg[i].flags & I2C_M_STOP) || > - (!remaining_bytes)) > + if (!remaining_bytes) > cmd->CmdConfig |= CMDCONFIG_STOP_MASK; > + > if ((j == 0) && !(msg[i].flags & I2C_M_NOSTART)) > cmd->CmdConfig |= CMDCONFIG_RESTART_BIT; > } > -- > 2.32.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx