Re: [PATCH v3 2/5] dt-bindings: ti_sci_pm_domains: Add support for exclusive and shared access

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

 




On 10/04/19 6:19 PM, Tero Kristo wrote:
> On 10/04/2019 15:37, Lokesh Vutla wrote:
>> Hi Tero,
>>
>> On 10/04/19 1:34 PM, Tero Kristo wrote:
>>> On 10/04/2019 08:37, Lokesh Vutla wrote:
>>>> TISCI protocol supports for enabling the device either with exclusive
>>>> permissions for the requesting host or with sharing across the hosts.
>>>> There are certain devices which are exclusive to Linux context and
>>>> there are certain devices that are shared across different host contexts.
>>>> So add support for getting this information from DT by increasing
>>>> the power-domain cells to 2.
>>>>
>>>> Signed-off-by: Lokesh Vutla <lokeshvutla@xxxxxx>
>>>> ---
>>>>    .../devicetree/bindings/soc/ti/sci-pm-domain.txt      | 11 +++++++++--
>>>>    MAINTAINERS                                           |  1 +
>>>>    include/dt-bindings/soc/ti,sci_pm_domain.h            |  9 +++++++++
>>>>    3 files changed, 19 insertions(+), 2 deletions(-)
>>>>    create mode 100644 include/dt-bindings/soc/ti,sci_pm_domain.h
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> index f7b00a7c0f68..f541d1f776a2 100644
>>>> --- a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>>>> @@ -19,8 +19,15 @@ child of the pmmc node.
>>>>    Required Properties:
>>>>    --------------------
>>>>    - compatible: should be "ti,sci-pm-domain"
>>>> -- #power-domain-cells: Must be 1 so that an id can be provided in each
>>>> -               device node.
>>>> +- #power-domain-cells: Can be one of the following:
>>>> +            1: Containing the device id of each node
>>>> +            2: First entry should be device id
>>>> +               Second entry should be one of the floowing:
>>>> +               TI_SCI_PD_EXCLUSIVE: To allow device to be
>>>> +                        exclusively controlled by
>>>> +                        the requesting hosts.
>>>> +               TI_SCI_PD_SHARED: To allow device to be shared
>>>> +                         by multiple hosts.
>>>
>>> One thing should be noted on this, the added flag is purely for software
>>> configuration, and is not telling us anything about the HW / firmware. Software
>>
>> I does say about how firmware handles the requested device.
> 
> There is a slight nuance in the wording here. It tells the firmware how to
> handle the device, and you can basically use either flag and it will work...
> until someone else attempts to use the same device. I recall DT was supposed to
> describe the hardware, not to tell us how to use it.

Well Ill put it this way. This flag describes that the requested device is a
shared device across multiple hosts :)

> 
>>
>>> can decide to have the flag either way and it will work. I just wonder if DT is
>>> the correct location to have something like this... Expect to have plenty of
>>> churn on this by people swapping the permissions around according to their
>>> use-case needs.
>>
>> Do you have any other suggestion to handle shared devices across VMs?
> 
> Well, we should have configuration data available somewhere, but it sounds like
> DT might be wrong location for this. Maybe a whitelist of devices that can be
> shared somewhere. Maybe under the PD driver itself. Do we have any examples for

We will end up creating a separate list for each SoC and it might change per use
case. I would not like to go down that road.

Thanks and regards,
Lokesh

> something similar available in the kernel today?
> 
> -Tero
> -- 
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki



[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