From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Songwei Chai <songwei.chai@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, 13 Jan 2026 12:13:05 +0100 [thread overview]
Message-ID: <beb63598-a7fc-4e77-a68e-8622fbd93972@oss.qualcomm.com> (raw)
In-Reply-To: <20260109021141.3778421-5-songwei.chai@oss.qualcomm.com>
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
> + 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
> +}
> +
> +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
[...]
> 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
> + goto exit;
> +
> drvdata->enable = true;
>
> - return 0;
> +exit:
> + return ret;
ret = tgu_write_all_hw_regs(drvdata);
if (!ret)
drvdata->enable = true;
return ret
Konrad
next prev parent reply other threads:[~2026-01-13 11:13 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 [this message]
2026-01-27 2:34 ` Songwei Chai
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=beb63598-a7fc-4e77-a68e-8622fbd93972@oss.qualcomm.com \
--to=konrad.dybcio@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=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=songwei.chai@oss.qualcomm.com \
--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