Re: [PATCH v9 4/4] i2c: qcom-geni: Support multi-owner controllers in GPI mode

From: Bartosz Golaszewski

Date: Wed Sep 02 2026 - 10:07:11 EST


On Thu, 13 Aug 2026 16:00:43 +0200, Mukesh Kumar Savaliya
<mukesh.savaliya@xxxxxxxxxxxxxxxx> said:
> Some platforms use a QUP-based I2C controller in a configuration where the
> controller is shared with another system processor. In this setup the
> operating system must not assume exclusive ownership of the controller or
> its associated pins.
>
> Add support for enabling multi-owner operation when DeviceTree specifies
> qcom,qup-multi-owner. When enabled, mark the underlying serial engine as
> shared so the common GENI resource handling avoids selecting the "sleep"
> pinctrl state, which could disrupt transfers initiated by the other
> processor.
>
> For GPI mode transfers, indicate multi-owner mode to the GPI driver by
> setting the multi_owner field in the initial dmaengine_slave_config call.
> The GPI driver then autonomously inserts lock and unlock TREs around the
> transfer sequence without any per-message guidance from the I2C driver.
> This keeps the locking mechanism as an internal GPI implementation
> detail; the I2C driver does not need to track transfer boundaries or
> message positions for lock/unlock purposes.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
> Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@xxxxxxxxxxxxxxxx>
> ---

This looks good to me and much cleaner than what we're forced to do with
BAM DMA.

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>

For the DMA patch, I'll grab my popcorn and listen to what Vinod and others
have to say first as I may be biased. :)

Bartosz