Re: [PATCH v3 4/7] leds: rgb: leds-qcom-lpg: Add support for PPG through single SDAM

From: Anjelique Melendez
Date: Tue Aug 15 2023 - 20:11:23 EST




On 8/15/2023 8:38 AM, Bjorn Andersson wrote:
> On Mon, Aug 14, 2023 at 04:59:15PM -0700, Anjelique Melendez wrote:

[...]>> @@ -65,7 +83,12 @@ struct lpg_data;
>> * @lut_base: base address of the LUT block (optional)
>> * @lut_size: number of entries in the LUT block
>> * @lut_bitmap: allocation bitmap for LUT entries
>> - * @triled_base: base address of the TRILED block (optional)
>> + * @pbs_dev: PBS device
>> + * @lpg_chan_nvmem: LPG nvmem peripheral device
>> + * @pbs_en_bitmap: bitmap for tracking PBS triggers
>> + * @lut_sdam_base: offset where LUT pattern begins in nvmem
>> + * @ppg_en: Flag indicating whether PPG is enabled/used
>
> Looking at its usage, it doesn't feel so much "is PPG enabled" as "does
> this instance use PPG", it's not a thing that can be enabled/disabled in
> runtime.
>
> So "has_ppg" seems like a better name, or perhaps even "use_sdam" and
> avoid "PPG" completely and make it clearer to the average reader?
Sure, can update to be "use_sdam"


[...]
>> +static void lpg_sdam_configure_triggers(struct lpg_channel *chan)
>> +{
>> + if (!chan->lpg->ppg_en)
>> + return;
>> +
>> + if (chan->enabled && chan->pattern_set) {
>> + lpg_sdam_write(chan->lpg, SDAM_LUT_EN_OFFSET + chan->sdam_offset, 1);
>> + lpg_set_pbs_trigger(chan);
>> + chan->pattern_set = false;
>
> Forgive me if I'm confused, but doesn't this mean that if I configure a
> pattern and then set the brightness twice the pattern will be disabled
> again?
Yes, you are correct. With current code we continuously disable pattern.
I took a look at the code again and found that it makes more sense to
disable pattern in clear_pattern().


[...]
>> @@ -1363,7 +1618,9 @@ static int lpg_probe(struct platform_device *pdev)
>> for (i = 0; i < lpg->num_channels; i++)
>> lpg_apply_dtest(&lpg->channels[i]);
>>
>> - return lpg_add_pwm(lpg);
>> + ret = lpg_add_pwm(lpg);
>> +
>> + return ret;
>
> I'm failing to see the usefulness of this change.
Sorry, looks like this was never reverted from an old change when I was debugging.
Will revert back to original for next version.

Thanks,
Anjelique