Re: [PATCH] backlight: qcom-wled: Use sink_addr for sync toggle

From: Daniel Thompson
Date: Mon Mar 15 2021 - 08:22:38 EST


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
>