Message ID | 20210314101110.48024-1-marijn.suijten@somainline.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | backlight: qcom-wled: Use sink_addr for sync toggle | expand |
On Sun, Mar 14, 2021 at 11:11:10AM +0100, Marijn Suijten wrote: > From: Obeida Shamoun <oshmoun100@googlemail.com> > > 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@googlemail.com> > Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> > Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> LGTM, although an acked-by from Kiran would be nice to have: Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> 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 >
On 2021-03-15 17:51, Daniel Thompson wrote: > On Sun, Mar 14, 2021 at 11:11:10AM +0100, Marijn Suijten wrote: >> From: Obeida Shamoun <oshmoun100@googlemail.com> >> >> 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@googlemail.com> >> Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> >> Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> > > LGTM, although an acked-by from Kiran would be nice to have: > Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> > > > Daniel. > > Acked-by: Kiran Gunda <kgunda@codeaurora.org> >> --- >> 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 >>
On Sun, 14 Mar 2021, Marijn Suijten wrote: > From: Obeida Shamoun <oshmoun100@googlemail.com> > > 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@googlemail.com> > Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org> > Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> > --- > drivers/video/backlight/qcom-wled.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Applied, thanks.
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;