[PATCH v1 0/4] Enable shared SE support over I2C

Mukesh Kumar Savaliya
2024-08-29T09:24:52Z

This Series adds support to share QUP based I2C SE between subsystems.
Each subsystem should have its own GPII which interacts between SE and
GSI DMA HW engine.

Subsystem must acquire Lock over the SE on GPII channel so that it
gets uninterrupted control till it unlocks the SE. It also makes sure
the commonly shared TLMM GPIOs are not touched which can impact other
subsystem or cause any interruption. Generally, GPIOs are being
unconfigured during suspend time.

GSI DMA engine is capable to perform requested transfer operations
from any of the SE in a seamless way and its transparent to the
subsystems. Make sure to enable “qcom,shared-se” flag only while
enabling this feature. I2C client should add in its respective parent
node.

---
Mukesh Kumar Savaliya (4):
dt-bindindgs: i2c: qcom,i2c-geni: Document shared flag
dma: gpi: Add Lock and Unlock TRE support to access SE exclusively
soc: qcom: geni-se: Export function geni_se_clks_off()
i2c: i2c-qcom-geni: Enable i2c controller sharing between two
subsystems

.../bindings/i2c/qcom,i2c-geni-qcom.yaml | 4 ++
drivers/dma/qcom/gpi.c | 37 ++++++++++++++++++-
drivers/i2c/busses/i2c-qcom-geni.c | 29 +++++++++++----
drivers/soc/qcom/qcom-geni-se.c | 4 +-
include/linux/dma/qcom-gpi-dma.h | 6 +++
include/linux/soc/qcom/geni-se.h | 3 ++
6 files changed, 74 insertions(+), 9 deletions(-)

--
2.25.1