[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <23a46503-ca45-26cb-c1df-f765e6db95d4@quicinc.com>
Date: Tue, 15 Aug 2023 17:09:58 -0700
From: Anjelique Melendez <quic_amelende@...cinc.com>
To: Bjorn Andersson <andersson@...nel.org>
CC: <pavel@....cz>, <lee@...nel.org>, <thierry.reding@...il.com>,
<robh+dt@...nel.org>, <krzysztof.kozlowski+dt@...aro.org>,
<conor+dt@...nel.org>, <agross@...nel.org>,
<luca.weiss@...rphone.com>, <konrad.dybcio@...aro.org>,
<u.kleine-koenig@...gutronix.de>, <quic_subbaram@...cinc.com>,
<linux-leds@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-pwm@...r.kernel.org>
Subject: Re: [PATCH v3 4/7] leds: rgb: leds-qcom-lpg: Add support for PPG
through single SDAM
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
Powered by blists - more mailing lists