[PATCH v2 4/6] arm64: dts: ti: k3-j784s4-j742s2-main-common: Assign SRAM to VPU nodes

Brandon Brnich b-brnich at ti.com
Mon Sep 21 11:35:12 PDT 2026


On 9/21/26 1:04 PM, Brandon Brnich wrote:
> Hi Nishanth,
> 
> On 9/21/26 12:27 PM, Nishanth Menon wrote:
>> On 10:31-20260921, Brandon Brnich wrote:
>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main- 
>>>>> common.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
>>>>> index e836f0f42e30d..21ec9f207ff63 100644
>>>>> --- a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
>>>>> +++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
>>>>> @@ -1002,6 +1002,7 @@ vpu0: video-codec at 4210000 {
>>>>>            interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
>>>>>            clocks = <&k3_clks 241 2>;
>>>>>            power-domains = <&k3_pds 241 TI_SCI_PD_EXCLUSIVE>;
>>>>> +        sram = <&main_navss_sram>;
>>>>>        };
>>>>>        vpu1: video-codec at 4220000 {
>>>>> @@ -1010,6 +1011,7 @@ vpu1: video-codec at 4220000 {
>>>>>            interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
>>>>>            clocks = <&k3_clks 242 2>;
>>>>>            power-domains = <&k3_pds 242 TI_SCI_PD_EXCLUSIVE>;
>>>>> +        sram = <&main_navss_sram>;
>>>>>        };
>>>>
>>>> Hello Brandon,
>>>> Could you check, how two instances of hardware can share same sram ?
>>>
>>> If both instances are used in parallel, then only 1 would get the 
>>> benefits
>>> of b/w savings with this current patch. These VPU instances are in a 
>>> race to
>>> see who gets the pool depending on which instance allocates the first
>>> stream. Current Wave5 driver will take the entire 64 KB pool once a 
>>> stream
>>> is opened. The pool is not released until all associated streams with 
>>> that
>>> instance are freed.
>>>
>>> I will look to see if the driver can be modified at all here. If it 
>>> can't,
>>> then I will find another node of available SRAM that I can hook up to 
>>> 2nd
>>> instance. For now, we can drop this patch and associated patch adding
>>> main_navss_sram to J784s4 in this series.
>>
>> OK - What do i translate this as? We may need to change SRAM / need
>> more SRAM? Since this is a pool, I'd rather have the driver use SRAM
>> optimally before pulling in more SoC SRAM - if we really need it, lets
>> send an update explaining the usecase where more SRAM was needed.
>>
>> Am I correct?
> 
> Yes, you are correct.
> 
> Driver should use the pool more efficiently so that if both instances 
> are pointing at same pool, they could at least do lower resolution 
> streams without hogging all 64KB. This would also help in case of other 
> IPs using this pool. VPU could take what it needs and allow other IPs to 
> still allocate from here.
> 
> However, if both instances are doing 4K60 encode and decode, then each 
> will need 64KB to get full benefits of b/w savings.
> 
> If allocating for max case (which driver plans for) is the path that 
> should be taken, then carving out a 2nd 64KB pool and attaching it to 
> vpu1 is the correct approach.

I am going to send a v3 for now that drops 84s4 patches from the series 
while I find another SRAM node to give to the 2nd instance.

> 
> Best,
> Brandon




More information about the linux-arm-kernel mailing list