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

Mukesh Kumar Savaliya
2024-11-13T16:08:24Z

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
>
>
>
>