Re: [PATCH v3 4/4] i2c: i2c-qcom-geni: Enable i2c controller sharing between two subsystems

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Bryan for sharing your comments.

On 10/15/2024 3:06 AM, Bryan O'Donoghue wrote:
On 27/09/2024 07:31, Mukesh Kumar Savaliya wrote:
Add support to share I2C SE by two Subsystems in a mutually exclusive way.

As I read this the question jumps out "what is a subsystem" - in Linux speak subsystem is say a bus or a memory management method but, here what you really mean if I've understood the intent of this series is to share the serial engine between two different bus-masters or perhaps a better description is "system agent".

Please make that delination clear - its not two Linux subsystems but two different Qcom SoC bus masters right ?

It's like between two processor systems.
For example the APSS - Application Specific Sub Subsystem - where Linux runs and say cDSP - the compute DSP on qcom SoCs.

Yes
I'd rename this patch to make that clear - because "between two subsystems" if you aren't intimately versed in qcom's architecture suggests that a Linux i2c and spi driver are somehow muxing pins ..

Really this is a type of AMP - asymmetric multi processing.

"i2c: i2c-qcom-geni: Enable i2c controller sharing between two different bus masters"

I think bus masters can be within same APPS system too. hence
And I'd mention in the commit log specific examples - APSS yes we get but what is the other system agent in your use-case ?

A DSP ? Some other processor in the SoC ?
yes, It's DSP processor here. But can be Low power DSP OR Modem DSP.

Anyway highlight one use-case for this AMP case, please.
I have added below in cover letter. I should add example in this patch also.
Example :
Two clients from different SS can share an I2C SE for same slave device
OR their owned slave devices.
Assume I2C Slave EEPROM device connected with I2C controller.
Each client from ADSP SS and APPS Linux SS can perform i2c transactions.
This gets serialized by lock TRE + Transfers + Unlock TRE at HW level.

---
bod








[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux