On Tue, Jun 8, 2021 at 5:40 PM Luben Tuikov <luben.tui...@amd.com> wrote: > > From: Andrey Grodzovsky <andrey.grodzov...@amd.com> > > 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 <jdelv...@suse.de> > Cc: Alexander Deucher <alexander.deuc...@amd.com> > Cc: Andrey Grodzovsky <andrey.grodzov...@amd.com> > Cc: Lijo Lazar <lijo.la...@amd.com> > Cc: Stanley Yang <stanley.y...@amd.com> > Cc: Hawking Zhang <hawking.zh...@amd.com> > Signed-off-by: Andrey Grodzovsky <andrey.grodzov...@amd.com> > Suggested-by: Lazar Lijo <lijo.la...@amd.com> > Signed-off-by: Luben Tuikov <luben.tui...@amd.com> > Reviewed-by: Luben Tuikov <luben.tui...@amd.com>
Acked-by: Alex Deucher <alexander.deuc...@amd.com> > --- > 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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx