diff mbox series

arch: arm: mach-k3: Delete tifs node in DT fixup

Message ID 20230419061352.3156023-1-u-kumar1@ti.com
State Superseded
Delegated to: Tom Rini
Headers show
Series arch: arm: mach-k3: Delete tifs node in DT fixup | expand

Commit Message

Kumar, Udit April 19, 2023, 6:13 a.m. UTC
This patch deletes tifs DT node as part of fixup.

TISCI API reported msmc_size, does not include
64KB reserved size for tifs aka MSMC comms memory.

As part of fixup, original code uses TISCI API
reported msmc_size as size for sram DT node.

tifs node is similar to l3-cache, which should
hold address above msms_size, and should be deleted
before passing control to OS.

Documentation
https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html?highlight=msmc#tisci-msg-query-msmc

Signed-off-by: Udit Kumar <u-kumar1@ti.com>
---
 arch/arm/mach-k3/common.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Nishanth Menon April 19, 2023, 3:52 p.m. UTC | #1
On 11:43-20230419, Udit Kumar wrote:
> This patch deletes tifs DT node as part of fixup.
> 
> TISCI API reported msmc_size, does not include
> 64KB reserved size for tifs aka MSMC comms memory.
> 
> As part of fixup, original code uses TISCI API
> reported msmc_size as size for sram DT node.
> 
> tifs node is similar to l3-cache, which should
> hold address above msms_size, and should be deleted
> before passing control to OS.
> 
> Documentation
> https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html?highlight=msmc#tisci-msg-query-msmc
> 
> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
> ---
>  arch/arm/mach-k3/common.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
> index a2adb791f6..4651744821 100644
> --- a/arch/arm/mach-k3/common.c
> +++ b/arch/arm/mach-k3/common.c
> @@ -349,9 +349,11 @@ int fdt_fixup_msmc_ram(void *blob, char *parent_path, char *node_name)
>  		size = fdt_read_number(sub_reg, 1);
>  		debug("%s: subnode = %d, addr = 0x%x. size = 0x%x\n", __func__,
>  		      subnode, addr, size);
> +
>  		if (addr + size > msmc_size ||
>  		    !strncmp(fdt_get_name(blob, subnode, &len), "sysfw", 5) ||
> -		    !strncmp(fdt_get_name(blob, subnode, &len), "l3cache", 7)) {
> +		    !strncmp(fdt_get_name(blob, subnode, &len), "l3cache", 7) ||
> +		    !strncmp(fdt_get_name(blob, subnode, &len), "tifs", 4)) {
I would probably move the tifs check above the l3cache check.

>  			fdt_del_node(blob, subnode);
>  			debug("%s: deleting subnode %d\n", __func__, subnode);
>  			if (!prev_node)
> -- 
> 2.34.1
>
Kumar, Udit April 20, 2023, 7:58 a.m. UTC | #2
Thanks for review

On 4/19/2023 9:22 PM, Nishanth Menon wrote:
> On 11:43-20230419, Udit Kumar wrote:
>> This patch deletes tifs DT node as part of fixup.
>>
>> TISCI API reported msmc_size, does not include
>> 64KB reserved size for tifs aka MSMC comms memory.
>>
>> As part of fixup, original code uses TISCI API
>> reported msmc_size as size for sram DT node.
>>
>> tifs node is similar to l3-cache, which should
>> hold address above msms_size, and should be deleted
>> before passing control to OS.
>>
>> Documentation
>> https://software-dl.ti.com/tisci/esd/latest/2_tisci_msgs/general/core.html?highlight=msmc#tisci-msg-query-msmc
>>
>> Signed-off-by: Udit Kumar <u-kumar1@ti.com>
>> ---
>>   arch/arm/mach-k3/common.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
>> index a2adb791f6..4651744821 100644
>> --- a/arch/arm/mach-k3/common.c
>> +++ b/arch/arm/mach-k3/common.c
>> @@ -349,9 +349,11 @@ int fdt_fixup_msmc_ram(void *blob, char *parent_path, char *node_name)
>>   		size = fdt_read_number(sub_reg, 1);
>>   		debug("%s: subnode = %d, addr = 0x%x. size = 0x%x\n", __func__,
>>   		      subnode, addr, size);
>> +
>>   		if (addr + size > msmc_size ||
>>   		    !strncmp(fdt_get_name(blob, subnode, &len), "sysfw", 5) ||
>> -		    !strncmp(fdt_get_name(blob, subnode, &len), "l3cache", 7)) {
>> +		    !strncmp(fdt_get_name(blob, subnode, &len), "l3cache", 7) ||
>> +		    !strncmp(fdt_get_name(blob, subnode, &len), "tifs", 4)) {
> I would probably move the tifs check above the l3cache check.

I will move this in v2.

you want to stay close to DT nodes order. or there is some other reason ?


>
>>   			fdt_del_node(blob, subnode);
>>   			debug("%s: deleting subnode %d\n", __func__, subnode);
>>   			if (!prev_node)
>> -- 
>> 2.34.1
>>
diff mbox series

Patch

diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index a2adb791f6..4651744821 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -349,9 +349,11 @@  int fdt_fixup_msmc_ram(void *blob, char *parent_path, char *node_name)
 		size = fdt_read_number(sub_reg, 1);
 		debug("%s: subnode = %d, addr = 0x%x. size = 0x%x\n", __func__,
 		      subnode, addr, size);
+
 		if (addr + size > msmc_size ||
 		    !strncmp(fdt_get_name(blob, subnode, &len), "sysfw", 5) ||
-		    !strncmp(fdt_get_name(blob, subnode, &len), "l3cache", 7)) {
+		    !strncmp(fdt_get_name(blob, subnode, &len), "l3cache", 7) ||
+		    !strncmp(fdt_get_name(blob, subnode, &len), "tifs", 4)) {
 			fdt_del_node(blob, subnode);
 			debug("%s: deleting subnode %d\n", __func__, subnode);
 			if (!prev_node)