On Sun, Mar 14, 2021 at 11:11:10AM +0100, Marijn Suijten wrote: > From: Obeida Shamoun <oshmoun100@xxxxxxxxxxxxxx> > > WLED3_SINK_REG_SYNC is, as the name implies, a sink register offset. > Therefore, use the sink address as base instead of the ctrl address. > > This fixes the sync toggle on wled4, which can be observed by the fact > that adjusting brightness now works. > > It has no effect on wled3 because sink and ctrl base addresses are the > same. This allows adjusting the brightness without having to disable > then reenable the module. > > Signed-off-by: Obeida Shamoun <oshmoun100@xxxxxxxxxxxxxx> > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxx> > Signed-off-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx> LGTM, although an acked-by from Kiran would be nice to have: Reviewed-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Daniel. > --- > drivers/video/backlight/qcom-wled.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/video/backlight/qcom-wled.c b/drivers/video/backlight/qcom-wled.c > index 091f07e7c145..fc8b443d10fd 100644 > --- a/drivers/video/backlight/qcom-wled.c > +++ b/drivers/video/backlight/qcom-wled.c > @@ -336,13 +336,13 @@ static int wled3_sync_toggle(struct wled *wled) > unsigned int mask = GENMASK(wled->max_string_count - 1, 0); > > rc = regmap_update_bits(wled->regmap, > - wled->ctrl_addr + WLED3_SINK_REG_SYNC, > + wled->sink_addr + WLED3_SINK_REG_SYNC, > mask, mask); > if (rc < 0) > return rc; > > rc = regmap_update_bits(wled->regmap, > - wled->ctrl_addr + WLED3_SINK_REG_SYNC, > + wled->sink_addr + WLED3_SINK_REG_SYNC, > mask, WLED3_SINK_REG_SYNC_CLEAR); > > return rc; > -- > 2.30.2 >