Re: [RFC 2/2] dt-bindings: firmware: tegra186-bpmp: Document interconnects property

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

 



29.01.2020 19:13, Georgi Djakov пишет:
> On 1/29/20 18:02, Dmitry Osipenko wrote:
>> 29.01.2020 12:36, Thierry Reding пишет:
>>> On Tue, Jan 28, 2020 at 10:27:00PM +0300, Dmitry Osipenko wrote:
>>>> 27.01.2020 15:21, Thierry Reding пишет:
>>>>> On Tue, Jan 21, 2020 at 11:12:11PM +0300, Dmitry Osipenko wrote:
>>>>>> 21.01.2020 18:54, Thierry Reding пишет:
>>>>>>> On Tue, Jan 21, 2020 at 05:18:43PM +0200, Georgi Djakov wrote:
>>>>>>>> On 1/21/20 16:10, Thierry Reding wrote:
>>>>> [...]
>>>>>>>>> I'm not sure if that TEGRA_ICC_EMEM makes a lot of sense. It's always
>>>>>>>>> going to be the same and it's arbitrarily defined, so it's effectively
>>>>>>>>> useless. But other than that it looks good.
>>>>>>>>
>>>>>>>> Well, in most cases the target would be the EMEM, so that's fine. I have seen
>>>>>>>> that other vendors that may have an additional internal memory, especially
>>>>>>>> dedicated to some DSPs and in such cases the bandwidth needs are different for
>>>>>>>> the two paths (to internal memory and DDR).
>>>>>>>
>>>>>>> Most chips have a small internal memory that can be used, though it
>>>>>>> seldomly is. However, in that case I would expect the target to be a
>>>>>>> completely different device, so it'd look more like this:
>>>>>>>
>>>>>>> 	interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &iram>,
>>>>>>> 			...;
>>>>>>>
>>>>>>> I don't think EMEM has any "downstream" other than external memory.
>>>>>>
>>>>>> The node ID should be mandatory in terms of interconnect, even if it's a
>>>>>> single node. EMC (provider) != EMEM (endpoint).
>>>>>
>>>>> I don't understand why. An ID only makes sense if you've got multiple
>>>>> endpoints. For example, a regulator is a provider with a single endpoint
>>>>> so we don't specify an ID.
>>>>
>>>> Because this is how ICC binding is defined, unless I'm missing something.
>>>
>>> I don't think so. It's defined as "pairs of phandles and interconnect
>>> provider specifiers", which is equivalent to what pretty much all of the
>>> resource bindings define. The #interconnect-cells property defines the
>>> number of cells used for the specifier. In the normal case this would be
>>> 1, and the value of the one cell would be the ID of the endpoint. But if
>>> there's only a single endpoint, it's customary to set the number of
>>> cells to 0, in which case only the phandle is required.
>>
>> Right, setting interconnect-cells=0 should work. I'll give it a try,
>> thank you!
> 
> Yes, it's fine to have #interconnect-cells = <0>. Here is a patch [1] which is a
> bit related to this.
> 
> Thanks,
> Georgi
> 
> [1] https://patchwork.kernel.org/patch/11305295/

Georgi, thank you very much! This patch will be handy!



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux