mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Songwei Chai <songwei.chai@oss.qualcomm.com>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	andersson@kernel.org, alexander.shishkin@linux.intel.com,
	mike.leach@linaro.org, suzuki.poulose@arm.com,
	james.clark@arm.com, krzk+dt@kernel.org, conor+dt@kernel.org
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-arm-msm@vger.kernel.org, coresight@lists.linaro.org,
	devicetree@vger.kernel.org, gregkh@linuxfoundation.org
Subject: Re: [PATCH v10 4/7] qcom-tgu: Add TGU decode support
Date: Tue, 27 Jan 2026 10:34:13 +0800	[thread overview]
Message-ID: <66aae641-a340-4f0b-9d68-535ac296a335@oss.qualcomm.com> (raw)
In-Reply-To: <beb63598-a7fc-4e77-a68e-8622fbd93972@oss.qualcomm.com>



On 1/13/2026 7:13 PM, Konrad Dybcio wrote:
> On 1/9/26 3:11 AM, Songwei Chai wrote:
>> Decoding is when all the potential pieces for creating a trigger
>> are brought together for a given step. Example - there may be a
>> counter keeping track of some occurrences and a priority-group that
>> is being used to detect a pattern on the sense inputs. These 2
>> inputs to condition_decode must be programmed, for a given step,
>> to establish the condition for the trigger, or movement to another
>> steps.
>>
>> Signed-off-by: Songwei Chai <songwei.chai@oss.qualcomm.com>
>> ---
> 
> [...]
> 
>> @@ -18,8 +18,36 @@ static int calculate_array_location(struct tgu_drvdata *drvdata,
>>   				   int step_index, int operation_index,
>>   				   int reg_index)
>>   {
>> -	return operation_index * (drvdata->max_step) * (drvdata->max_reg) +
>> -		step_index * (drvdata->max_reg) + reg_index;
> 
> I think this type of calculations could use a wrapper
Agree, this calculation is already wrapped in the calculate_array_location.
> 
>> +	int ret = -EINVAL;
>> +
>> +	switch (operation_index) {
>> +	case TGU_PRIORITY0:
>> +	case TGU_PRIORITY1:
>> +	case TGU_PRIORITY2:
>> +	case TGU_PRIORITY3:
>> +		ret = operation_index * (drvdata->max_step) *
>> +			(drvdata->max_reg) +
>> +			step_index * (drvdata->max_reg) + reg_index;
>> +		break;
>> +	case TGU_CONDITION_DECODE:
>> +		ret = step_index * (drvdata->max_condition_decode) +
>> +			reg_index;
>> +		break;
>> +	default:
>> +		break;
>> +	}
>> +	return ret;
> 
> The only thing your switch statement is assign a value to ret and break
> out. Change that to a direct return, and drop 'ret' altogether
> 

I kept a single return intentionally so the function has a single exit
point. This makes it easier to extend with common post-processing or
debug logic later if needed.

That said, I’m fine switching to direct returns if you prefer the 
simpler style here.

> 
>> +}
>> +
>> +static int check_array_location(struct tgu_drvdata *drvdata, int step,
>> +				int ops, int reg)
>> +{
>> +	int result = calculate_array_location(drvdata, step, ops, reg);
>> +
>> +	if (result == -EINVAL)
>> +		dev_err(drvdata->dev, "%s - Fail\n", __func__);
> 
> Avoid __func__.
> 
> The error message is very non-descriptive
Marked.Will update.
> 
> [...]
> 
>>   static int tgu_enable(struct device *dev)
>>   {
>>   	struct tgu_drvdata *drvdata = dev_get_drvdata(dev);
>> +	int ret = 0;
>>   
>>   	guard(spinlock)(&drvdata->lock);
>>   	if (drvdata->enable)
>>   		return -EBUSY;
>>   
>> -	tgu_write_all_hw_regs(drvdata);
>> +	ret = tgu_write_all_hw_regs(drvdata);
>> +
>> +	if (ret == -EINVAL)
> 
> stray \n
Sure.
>> +		goto exit;
>> +
>>   	drvdata->enable = true;
>>   
>> -	return 0;
>> +exit:
>> +	return ret;
> 
> ret = tgu_write_all_hw_regs(drvdata);
> if (!ret)
> 	drvdata->enable = true;
> 
> return ret
Will update.
> 
> Konrad


  reply	other threads:[~2026-01-27  2:34 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-09  2:11 [PATCH v10 0/7] Provide support for Trigger Generation Unit Songwei Chai
2026-01-09  2:11 ` [PATCH v10 1/7] dt-bindings: arm: Add support for Qualcomm TGU trace Songwei Chai
2026-01-09  2:11 ` [PATCH v10 2/7] qcom-tgu: Add TGU driver Songwei Chai
2026-01-09 10:27   ` Suzuki K Poulose
2026-01-12  1:43     ` Songwei Chai
2026-01-09 11:28   ` Jie Gan
2026-01-12  1:41     ` Songwei Chai
2026-01-13 10:33   ` Konrad Dybcio
2026-01-27  2:13     ` Songwei Chai
2026-01-27 10:35       ` Konrad Dybcio
2026-01-09  2:11 ` [PATCH v10 3/7] qcom-tgu: Add signal priority support Songwei Chai
2026-01-13 11:09   ` Konrad Dybcio
2026-01-27  2:23     ` Songwei Chai
2026-01-27 10:30       ` Konrad Dybcio
2026-01-09  2:11 ` [PATCH v10 4/7] qcom-tgu: Add TGU decode support Songwei Chai
2026-01-13 11:13   ` Konrad Dybcio
2026-01-27  2:34     ` Songwei Chai [this message]
2026-01-27 10:31       ` Konrad Dybcio
2026-01-09  2:11 ` [PATCH v10 5/7] qcom-tgu: Add support to configure next action Songwei Chai
2026-01-13 11:15   ` Konrad Dybcio
2026-01-27  2:43     ` Songwei Chai
2026-01-27 10:32       ` Konrad Dybcio
2026-01-09  2:11 ` [PATCH v10 6/7] qcom-tgu: Add timer/counter functionality for TGU Songwei Chai
2026-01-13 11:19   ` Konrad Dybcio
2026-01-27  3:02     ` Songwei Chai
2026-01-09  2:11 ` [PATCH v10 7/7] qcom-tgu: Add reset node to initialize Songwei Chai
2026-01-13 11:22   ` Konrad Dybcio
2026-01-27  2:50     ` Songwei Chai
2026-01-13  1:53 ` [PATCH v10 0/7] Provide support for Trigger Generation Unit Songwei Chai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=66aae641-a340-4f0b-9d68-535ac296a335@oss.qualcomm.com \
    --to=songwei.chai@oss.qualcomm.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=coresight@lists.linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=james.clark@arm.com \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.leach@linaro.org \
    --cc=suzuki.poulose@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®