From: Bjorn Andersson <andersson@kernel.org>
To: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Cc: viken.dadhaniya@oss.qualcomm.com, andi.shyti@kernel.org,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
vkoul@kernel.org, Frank.Li@kernel.org, konradybcio@kernel.org,
dmitry.baryshkov@oss.qualcomm.com, linmq006@gmail.com,
quic_jseerapu@quicinc.com, zhengxingda@iscas.ac.cn,
kees@kernel.org, agross@kernel.org,
linux-arm-msm@vger.kernel.org, linux-i2c@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
dmaengine@vger.kernel.org, krzysztof.kozlowski@oss.qualcomm.com,
bartosz.golaszewski@oss.qualcomm.com,
bjorn.andersson@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com
Subject: Re: [PATCH v8 1/4] dt-bindings: i2c: qcom,i2c-geni: Document multi-owner controller support
Date: Wed, 15 Jul 2026 22:14:52 -0500 [thread overview]
Message-ID: <alhIzHVf8_RXNY4l@baldur> (raw)
In-Reply-To: <20260708051023.2872304-2-mukesh.savaliya@oss.qualcomm.com>
On Wed, Jul 08, 2026 at 10:40:07AM +0530, Mukesh Kumar Savaliya wrote:
> Document a DeviceTree property to describe QUP-based I2C controllers that
> are shared with one or more other system processors.
>
> On some Qualcomm platforms, a QUP-based I2C controller may be accessed by
> multiple system processors (for example, APPS and DSP). In such
> configurations, the operating system must not assume exclusive ownership
> of the controller or its associated hardware resources.
>
> The new qcom,qup-multi-owner property indicates that the controller is
> externally shared and that the operating system must avoid operations
> which rely on sole control of the hardware.
>
> Acked-by: Rob Herring (Arm) <robh@kernel.org>
> Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
> ---
> .../bindings/i2c/qcom,i2c-geni-qcom.yaml | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
> index 51534953a69c..ed9b029603fd 100644
> --- a/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
> +++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-geni-qcom.yaml
> @@ -60,6 +60,22 @@ properties:
> power-domains:
> maxItems: 1
>
> + qcom,qup-multi-owner:
> + type: boolean
> + description:
> + Indicates that the QUP-based controller is shared with one or more
> + other system processors and must not be assumed to have exclusive
> + ownership by the operating system.
> +
> + The associated GPIOs must not be reconfigured into a sleep state
> + during runtime suspend, as doing so may disrupt transactions
> + initiated by another owner of the controller.
I think this should be made even clearer that this defined a requirement
on the operating system. I also think that "sleep state" is a misnomer,
it's not the sleep state as such that is the problem (what happens if I
define a sleep state with functional settings, or what happens if I
define an "idle" state?)
One way to handle this would be to declare that only "default" state is
allowed, when this property is specified.
If we still want this, I think it should be rephrased something like:
"""
When this option is present the Operating System must ignore any
non-default pinctrl state configuration, as reconfiguring the associated
pins might disrupt transactions initiated by another owner of the
controller.
"""
Regards,
Bjorn
> +
> + Each owner is responsible for maintaining any resource votes
> + required for operation of the shared controller (for example clocks,
> + power domains, interconnect bandwidth, or other platform-specific
> + resources)
> +
> reg:
> maxItems: 1
>
> --
> 2.43.0
>
next prev parent reply other threads:[~2026-07-16 3:14 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-08 5:10 [PATCH v8 0/4] Enable multi-owner I2C support for QCOM GENI controllers Mukesh Kumar Savaliya
2026-07-08 5:10 ` [PATCH v8 1/4] dt-bindings: i2c: qcom,i2c-geni: Document multi-owner controller support Mukesh Kumar Savaliya
2026-07-16 3:14 ` Bjorn Andersson [this message]
2026-07-08 5:10 ` [PATCH v8 2/4] dmaengine: qcom: gpi: Add lock/unlock TREs for multi-owner I2C transfers Mukesh Kumar Savaliya
2026-07-15 12:22 ` Konrad Dybcio
2026-07-15 15:33 ` Vinod Koul
2026-07-08 5:10 ` [PATCH v8 3/4] soc: qcom: geni-se: Keep pinctrl active for multi-owner controllers Mukesh Kumar Savaliya
2026-07-08 5:10 ` [PATCH v8 4/4] i2c: qcom-geni: Support multi-owner controllers in GPI mode Mukesh Kumar Savaliya
2026-07-15 12:24 ` Konrad Dybcio
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=alhIzHVf8_RXNY4l@baldur \
--to=andersson@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=agross@kernel.org \
--cc=andi.shyti@kernel.org \
--cc=bartosz.golaszewski@oss.qualcomm.com \
--cc=bjorn.andersson@oss.qualcomm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=kees@kernel.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@oss.qualcomm.com \
--cc=linmq006@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mukesh.savaliya@oss.qualcomm.com \
--cc=quic_jseerapu@quicinc.com \
--cc=robh@kernel.org \
--cc=viken.dadhaniya@oss.qualcomm.com \
--cc=vkoul@kernel.org \
--cc=zhengxingda@iscas.ac.cn \
/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