From: Dan Carpenter <dan.carpenter@linaro.org>
To: Bjorn Andersson <andersson@kernel.org>
Cc: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>,
konrad.dybcio@linaro.org, andi.shyti@kernel.org,
linux-arm-msm@vger.kernel.org, dmaengine@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org,
conor+dt@kernel.org, agross@kernel.org,
devicetree@vger.kernel.org, vkoul@kernel.org, linux@treblig.org,
Frank.Li@nxp.com, konradybcio@kernel.org,
bryan.odonoghue@linaro.org, krzk+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH v3 4/4] i2c: i2c-qcom-geni: Enable i2c controller sharing between two subsystems
Date: Mon, 30 Sep 2024 11:21:23 +0300 [thread overview]
Message-ID: <42e0622d-0bb6-4850-bf5a-629996c702db@stanley.mountain> (raw)
In-Reply-To: <lmo4jylfwt3wingdqb6zc6ew2537kqksuckfyd7vwuu4ufg5cr@ic2j7bv2r6e4>
On Sun, Sep 29, 2024 at 10:46:37PM -0500, Bjorn Andersson wrote:
> > @@ -602,6 +603,7 @@ static int geni_i2c_gpi_xfer(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[], i
> > peripheral.clk_div = itr->clk_div;
> > peripheral.set_config = 1;
> > peripheral.multi_msg = false;
> > + peripheral.shared_se = gi2c->se.shared_geni_se;
> >
> > for (i = 0; i < num; i++) {
> > gi2c->cur = &msgs[i];
> > @@ -612,6 +614,8 @@ static int geni_i2c_gpi_xfer(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[], i
> > if (i < num - 1)
> > peripheral.stretch = 1;
> >
> > + peripheral.first_msg = (i == 0);
> > + peripheral.last_msg = (i == num - 1);
>
> There are multiple error paths in this loop, which would result in us
> never issuing the unlock TRE - effectively blocking other subsystems
> from accessing the serial engine until we perform our next access
> (assuming that APSS issuing a lock TRE when APSS already has the channel
> locked isn't a problem?)
>
Hi Bjorn,
I saw the words "error paths" and "unlock" and I thought there was maybe
something we could do here with static analysis. But I don't know what TRE
or APSS mean.
The one thing I do see is that this uses "one err" style error handling where
there is one err label and it calls dmaengine_terminate_sync(gi2c->rx_c)
regardless of whether or not geni_i2c_gpi() was called or failed/succeeded.
regards,
dan carpenter
next prev parent reply other threads:[~2024-09-30 8:21 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-27 6:31 [PATCH v3 0/4] Enable shared SE support over I2C Mukesh Kumar Savaliya
2024-09-27 6:31 ` [PATCH v3 1/4] dt-bindindgs: i2c: qcom,i2c-geni: Document shared flag Mukesh Kumar Savaliya
2024-09-27 9:24 ` Krzysztof Kozlowski
2024-09-27 11:20 ` Konrad Dybcio
2024-09-27 12:03 ` Krzysztof Kozlowski
2024-11-13 16:08 ` Mukesh Kumar Savaliya
2024-11-19 9:13 ` Krzysztof Kozlowski
2024-09-27 10:01 ` Krzysztof Kozlowski
2024-11-13 16:06 ` Mukesh Kumar Savaliya
2024-09-30 3:20 ` Bjorn Andersson
2024-11-13 16:08 ` Mukesh Kumar Savaliya
2024-09-27 6:31 ` [PATCH v3 2/4] dma: gpi: Add Lock and Unlock TRE support to access SE exclusively Mukesh Kumar Savaliya
2024-10-14 18:31 ` Vinod Koul
2024-11-13 16:10 ` Mukesh Kumar Savaliya
2024-10-25 18:48 ` Konrad Dybcio
2024-11-13 16:06 ` Mukesh Kumar Savaliya
2024-09-27 6:31 ` [PATCH v3 3/4] soc: qcom: geni-se: Do not keep GPIOs to sleep state for shared SE usecase Mukesh Kumar Savaliya
2024-09-30 3:27 ` Bjorn Andersson
2024-11-13 16:09 ` Mukesh Kumar Savaliya
2024-10-25 18:53 ` Konrad Dybcio
2024-11-13 16:07 ` Mukesh Kumar Savaliya
2024-09-27 6:31 ` [PATCH v3 4/4] i2c: i2c-qcom-geni: Enable i2c controller sharing between two subsystems Mukesh Kumar Savaliya
2024-09-30 3:46 ` Bjorn Andersson
2024-09-30 8:21 ` Dan Carpenter [this message]
2024-10-01 2:39 ` Bjorn Andersson
2024-11-13 16:10 ` Mukesh Kumar Savaliya
2024-11-13 16:09 ` Mukesh Kumar Savaliya
2024-10-14 21:36 ` Bryan O'Donoghue
2024-11-13 16:08 ` Mukesh Kumar Savaliya
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=42e0622d-0bb6-4850-bf5a-629996c702db@stanley.mountain \
--to=dan.carpenter@linaro.org \
--cc=Frank.Li@nxp.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=andi.shyti@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@treblig.org \
--cc=quic_msavaliy@quicinc.com \
--cc=robh@kernel.org \
--cc=vkoul@kernel.org \
/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