diff mbox series

[v2,1/5] arm64: dts: qcom: msm8996: Revamp reserved memory

Message ID 20210926190555.278589-2-y.oudjana@protonmail.com (mailing list archive)
State New, archived
Headers show
Series msm8996: Enable support for MSS and SLPI | expand

Commit Message

Yassine Oudjana Sept. 26, 2021, 7:06 p.m. UTC
Fix a total overlap between zap_shader_region and slpi_region, and rename
all regions to match the naming convention in other Qualcomm SoC device trees.

Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
---
 .../dts/qcom/msm8996-sony-xperia-tone.dtsi    | 18 ++++--
 .../boot/dts/qcom/msm8996-xiaomi-common.dtsi  | 18 +++---
 arch/arm64/boot/dts/qcom/msm8996.dtsi         | 63 ++++++++++---------
 3 files changed, 55 insertions(+), 44 deletions(-)

Comments

Bjorn Andersson Oct. 24, 2021, 3:04 a.m. UTC | #1
On Sun 26 Sep 14:06 CDT 2021, Yassine Oudjana wrote:

> Fix a total overlap between zap_shader_region and slpi_region, and rename
> all regions to match the naming convention in other Qualcomm SoC device trees.
> 
> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>

FYI, I like this series, but I held off applying it because I wanted to
verify that the shuffling of the memory regions works on the existing
8996 boards.

Unfortunately it didn't work, either with or without the shuffling on
the db820c - and I've not found the time to figure out why that is. I
hope to get back to this shortly (or that someone else will figure it
out and provide a tested-by)

Regards,
Bjorn

> ---
>  .../dts/qcom/msm8996-sony-xperia-tone.dtsi    | 18 ++++--
>  .../boot/dts/qcom/msm8996-xiaomi-common.dtsi  | 18 +++---
>  arch/arm64/boot/dts/qcom/msm8996.dtsi         | 63 ++++++++++---------
>  3 files changed, 55 insertions(+), 44 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
> index 507396c4d23b..4c26e66f0610 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
> @@ -13,9 +13,10 @@
>  #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
>  #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
>  
> -/delete-node/ &slpi_region;
> -/delete-node/ &venus_region;
> -/delete-node/ &zap_shader_region;
> +/delete-node/ &adsp_mem;
> +/delete-node/ &slpi_mem;
> +/delete-node/ &venus_mem;
> +/delete-node/ &gpu_mem;
>  
>  / {
>  	qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
> @@ -46,18 +47,23 @@ cont_splash_mem: memory@83401000 {
>  			no-map;
>  		};
>  
> -		zap_shader_region: gpu@90400000 {
> +		adsp_mem: adsp@8ea00000 {
> +			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
> +			no-map;
> +		};
> +
> +		gpu_mem: gpu@90400000 {
>  			compatible = "shared-dma-pool";
>  			reg = <0x0 0x90400000 0x0 0x2000>;
>  			no-map;
>  		};
>  
> -		slpi_region: memory@90500000 {
> +		slpi_mem: memory@90500000 {
>  			reg = <0 0x90500000 0 0xa00000>;
>  			no-map;
>  		};
>  
> -		venus_region: memory@90f00000 {
> +		venus_mem: memory@90f00000 {
>  			reg = <0 0x90f00000 0 0x500000>;
>  			no-map;
>  		};
> diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> index d239b01b8505..a5e7bccadba2 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> @@ -66,32 +66,32 @@ memory@88800000 {
>  
>  		/* This platform has all PIL regions offset by 0x1400000 */
>  		/delete-node/ mpss@88800000;
> -		mpss_region: mpss@89c00000 {
> +		mpss_mem: mpss@89c00000 {
>  			reg = <0x0 0x89c00000 0x0 0x6200000>;
>  			no-map;
>  		};
>  
>  		/delete-node/ adsp@8ea00000;
> -		adsp_region: adsp@8ea00000 {
> +		adsp_mem: adsp@8fe00000 {
>  			reg = <0x0 0x8fe00000 0x0 0x1b00000>;
>  			no-map;
>  		};
>  
> -		/delete-node/ slpi@90b00000;
> -		slpi_region: slpi@91900000 {
> +		/delete-node/ slpi@90500000;
> +		slpi_mem: slpi@91900000 {
>  			reg = <0x0 0x91900000 0x0 0xa00000>;
>  			no-map;
>  		};
>  
> -		/delete-node/ gpu@8f200000;
> -		zap_shader_region: gpu@92300000 {
> +		/delete-node/ gpu@90f00000;
> +		gpu_mem: gpu@92300000 {
>  			compatible = "shared-dma-pool";
>  			reg = <0x0 0x92300000 0x0 0x2000>;
>  			no-map;
>  		};
>  
>  		/delete-node/ venus@91000000;
> -		venus_region: venus@90400000 {
> +		venus_mem: venus@92400000 {
>  			reg = <0x0 0x92400000 0x0 0x500000>;
>  			no-map;
>  		};
> @@ -107,7 +107,7 @@ ramoops@92900000 {
>  			pmsg-size = <0x40000>;
>  		};
>  
> -		/delete-node/ rmtfs@86700000;
> +		/delete-node/ rmtfs;
>  		rmtfs@f6c00000 {
>  			compatible = "qcom,rmtfs-mem";
>  			reg = <0 0xf6c00000 0 0x200000>;
> @@ -118,7 +118,7 @@ rmtfs@f6c00000 {
>  		};
>  
>  		/delete-node/ mba@91500000;
> -		mba_region: mba@f6f00000 {
> +		mba_mem: mba@f6f00000 {
>  			reg = <0x0 0xf6f00000 0x0 0x100000>;
>  			no-map;
>  		};
> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> index eb3ec5ff46eb..1495fff6ffc9 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> @@ -384,60 +384,65 @@ reserved-memory {
>  		#size-cells = <2>;
>  		ranges;
>  
> -		mba_region: mba@91500000 {
> -			reg = <0x0 0x91500000 0x0 0x200000>;
> +		hyp_mem: memory@85800000 {
> +			reg = <0x0 0x85800000 0x0 0x600000>;
>  			no-map;
>  		};
>  
> -		slpi_region: slpi@90b00000 {
> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
> +		xbl_mem: memory@85e00000 {
> +			reg = <0x0 0x85e00000 0x0 0x200000>;
>  			no-map;
>  		};
>  
> -		venus_region: venus@90400000 {
> -			reg = <0x0 0x90400000 0x0 0x700000>;
> +		smem_mem: smem-mem@86000000 {
> +			reg = <0x0 0x86000000 0x0 0x200000>;
>  			no-map;
>  		};
>  
> -		adsp_region: adsp@8ea00000 {
> -			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
> +		tz_mem: memory@86200000 {
> +			reg = <0x0 0x86200000 0x0 0x2600000>;
>  			no-map;
>  		};
>  
> -		mpss_region: mpss@88800000 {
> -			reg = <0x0 0x88800000 0x0 0x6200000>;
> +		rmtfs_mem: rmtfs {
> +			compatible = "qcom,rmtfs-mem";
> +
> +			size = <0x0 0x200000>;
> +			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
>  			no-map;
> +
> +			qcom,client-id = <1>;
> +			qcom,vmid = <15>;
>  		};
>  
> -		smem_mem: smem-mem@86000000 {
> -			reg = <0x0 0x86000000 0x0 0x200000>;
> +		mpss_mem: mpss@88800000 {
> +			reg = <0x0 0x88800000 0x0 0x6200000>;
>  			no-map;
>  		};
>  
> -		memory@85800000 {
> -			reg = <0x0 0x85800000 0x0 0x800000>;
> +		adsp_mem: adsp@8ea00000 {
> +			reg = <0x0 0x8ea00000 0x0 0x1b00000>;
>  			no-map;
>  		};
>  
> -		memory@86200000 {
> -			reg = <0x0 0x86200000 0x0 0x2600000>;
> +		slpi_mem: slpi@90500000 {
> +			reg = <0x0 0x90500000 0x0 0xa00000>;
>  			no-map;
>  		};
>  
> -		rmtfs@86700000 {
> -			compatible = "qcom,rmtfs-mem";
> -
> -			size = <0x0 0x200000>;
> -			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
> +		gpu_mem: gpu@90f00000 {
> +			compatible = "shared-dma-pool";
> +			reg = <0x0 0x90f00000 0x0 0x100000>;
>  			no-map;
> +		};
>  
> -			qcom,client-id = <1>;
> -			qcom,vmid = <15>;
> +		venus_mem: venus@91000000 {
> +			reg = <0x0 0x91000000 0x0 0x500000>;
> +			no-map;
>  		};
>  
> -		zap_shader_region: gpu@8f200000 {
> -			compatible = "shared-dma-pool";
> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
> +		mba_mem: mba@91500000 {
> +			reg = <0x0 0x91500000 0x0 0x200000>;
>  			no-map;
>  		};
>  	};
> @@ -1013,7 +1018,7 @@ opp-133000000 {
>  			};
>  
>  			zap-shader {
> -				memory-region = <&zap_shader_region>;
> +				memory-region = <&gpu_mem>;
>  			};
>  		};
>  
> @@ -2001,7 +2006,7 @@ venus: video-codec@c00000 {
>  				 <&venus_smmu 0x2c>,
>  				 <&venus_smmu 0x2d>,
>  				 <&venus_smmu 0x31>;
> -			memory-region = <&venus_region>;
> +			memory-region = <&venus_mem>;
>  			status = "disabled";
>  
>  			video-decoder {
> @@ -3008,7 +3013,7 @@ adsp_pil: remoteproc@9300000 {
>  			clocks = <&xo_board>;
>  			clock-names = "xo";
>  
> -			memory-region = <&adsp_region>;
> +			memory-region = <&adsp_mem>;
>  
>  			qcom,smem-states = <&smp2p_adsp_out 0>;
>  			qcom,smem-state-names = "stop";
> -- 
> 2.33.0
> 
>
Dmitry Baryshkov Nov. 2, 2021, 11:50 p.m. UTC | #2
On 24/10/2021 06:04, Bjorn Andersson wrote:
> On Sun 26 Sep 14:06 CDT 2021, Yassine Oudjana wrote:
> 
>> Fix a total overlap between zap_shader_region and slpi_region, and rename
>> all regions to match the naming convention in other Qualcomm SoC device trees.
>>
>> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
> 
> FYI, I like this series, but I held off applying it because I wanted to
> verify that the shuffling of the memory regions works on the existing
> 8996 boards.
> 
> Unfortunately it didn't work, either with or without the shuffling on
> the db820c - and I've not found the time to figure out why that is. I
> hope to get back to this shortly (or that someone else will figure it
> out and provide a tested-by)

I gave this a test too on my db820c. Usually the board MSS will crash 
after ~0.1 - 0.15 seconds after booting up, then during recovery the 
board will crash/reboot somewhere at the end of q6v5_mss_load() (and 
typically after successful q6v5_rmb_mba_wait() call.

Occasionally (approximately 1 of 20) the MSS will not crash, presenting 
PDS service to the userspace. Even in this state it doesn't seem to be 
able to lock the gps location (but this might be related to the big UART 
mezzanine sitting on top of the board).

Unfortunately there seem to be no SLPI firmware for the db820c, so I can 
not test slpi.

A notice regarding the patchset itself. It looks like pil_q6v5_mss.c 
driver misses mx and cx proxy power domains for the MSS_MSM8996 case.

> 
> Regards,
> Bjorn
> 
>> ---
>>   .../dts/qcom/msm8996-sony-xperia-tone.dtsi    | 18 ++++--
>>   .../boot/dts/qcom/msm8996-xiaomi-common.dtsi  | 18 +++---
>>   arch/arm64/boot/dts/qcom/msm8996.dtsi         | 63 ++++++++++---------
>>   3 files changed, 55 insertions(+), 44 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
>> index 507396c4d23b..4c26e66f0610 100644
>> --- a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
>> @@ -13,9 +13,10 @@
>>   #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
>>   #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
>>   
>> -/delete-node/ &slpi_region;
>> -/delete-node/ &venus_region;
>> -/delete-node/ &zap_shader_region;
>> +/delete-node/ &adsp_mem;
>> +/delete-node/ &slpi_mem;
>> +/delete-node/ &venus_mem;
>> +/delete-node/ &gpu_mem;
>>   
>>   / {
>>   	qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
>> @@ -46,18 +47,23 @@ cont_splash_mem: memory@83401000 {
>>   			no-map;
>>   		};
>>   
>> -		zap_shader_region: gpu@90400000 {
>> +		adsp_mem: adsp@8ea00000 {
>> +			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
>> +			no-map;
>> +		};
>> +
>> +		gpu_mem: gpu@90400000 {
>>   			compatible = "shared-dma-pool";
>>   			reg = <0x0 0x90400000 0x0 0x2000>;
>>   			no-map;
>>   		};
>>   
>> -		slpi_region: memory@90500000 {
>> +		slpi_mem: memory@90500000 {
>>   			reg = <0 0x90500000 0 0xa00000>;
>>   			no-map;
>>   		};
>>   
>> -		venus_region: memory@90f00000 {
>> +		venus_mem: memory@90f00000 {
>>   			reg = <0 0x90f00000 0 0x500000>;
>>   			no-map;
>>   		};
>> diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
>> index d239b01b8505..a5e7bccadba2 100644
>> --- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
>> @@ -66,32 +66,32 @@ memory@88800000 {
>>   
>>   		/* This platform has all PIL regions offset by 0x1400000 */
>>   		/delete-node/ mpss@88800000;
>> -		mpss_region: mpss@89c00000 {
>> +		mpss_mem: mpss@89c00000 {
>>   			reg = <0x0 0x89c00000 0x0 0x6200000>;
>>   			no-map;
>>   		};
>>   
>>   		/delete-node/ adsp@8ea00000;
>> -		adsp_region: adsp@8ea00000 {
>> +		adsp_mem: adsp@8fe00000 {
>>   			reg = <0x0 0x8fe00000 0x0 0x1b00000>;
>>   			no-map;
>>   		};
>>   
>> -		/delete-node/ slpi@90b00000;
>> -		slpi_region: slpi@91900000 {
>> +		/delete-node/ slpi@90500000;
>> +		slpi_mem: slpi@91900000 {
>>   			reg = <0x0 0x91900000 0x0 0xa00000>;
>>   			no-map;
>>   		};
>>   
>> -		/delete-node/ gpu@8f200000;
>> -		zap_shader_region: gpu@92300000 {
>> +		/delete-node/ gpu@90f00000;
>> +		gpu_mem: gpu@92300000 {
>>   			compatible = "shared-dma-pool";
>>   			reg = <0x0 0x92300000 0x0 0x2000>;
>>   			no-map;
>>   		};
>>   
>>   		/delete-node/ venus@91000000;
>> -		venus_region: venus@90400000 {
>> +		venus_mem: venus@92400000 {
>>   			reg = <0x0 0x92400000 0x0 0x500000>;
>>   			no-map;
>>   		};
>> @@ -107,7 +107,7 @@ ramoops@92900000 {
>>   			pmsg-size = <0x40000>;
>>   		};
>>   
>> -		/delete-node/ rmtfs@86700000;
>> +		/delete-node/ rmtfs;
>>   		rmtfs@f6c00000 {
>>   			compatible = "qcom,rmtfs-mem";
>>   			reg = <0 0xf6c00000 0 0x200000>;
>> @@ -118,7 +118,7 @@ rmtfs@f6c00000 {
>>   		};
>>   
>>   		/delete-node/ mba@91500000;
>> -		mba_region: mba@f6f00000 {
>> +		mba_mem: mba@f6f00000 {
>>   			reg = <0x0 0xf6f00000 0x0 0x100000>;
>>   			no-map;
>>   		};
>> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> index eb3ec5ff46eb..1495fff6ffc9 100644
>> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>> @@ -384,60 +384,65 @@ reserved-memory {
>>   		#size-cells = <2>;
>>   		ranges;
>>   
>> -		mba_region: mba@91500000 {
>> -			reg = <0x0 0x91500000 0x0 0x200000>;
>> +		hyp_mem: memory@85800000 {
>> +			reg = <0x0 0x85800000 0x0 0x600000>;
>>   			no-map;
>>   		};
>>   
>> -		slpi_region: slpi@90b00000 {
>> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
>> +		xbl_mem: memory@85e00000 {
>> +			reg = <0x0 0x85e00000 0x0 0x200000>;
>>   			no-map;
>>   		};
>>   
>> -		venus_region: venus@90400000 {
>> -			reg = <0x0 0x90400000 0x0 0x700000>;
>> +		smem_mem: smem-mem@86000000 {
>> +			reg = <0x0 0x86000000 0x0 0x200000>;
>>   			no-map;
>>   		};
>>   
>> -		adsp_region: adsp@8ea00000 {
>> -			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
>> +		tz_mem: memory@86200000 {
>> +			reg = <0x0 0x86200000 0x0 0x2600000>;
>>   			no-map;
>>   		};
>>   
>> -		mpss_region: mpss@88800000 {
>> -			reg = <0x0 0x88800000 0x0 0x6200000>;
>> +		rmtfs_mem: rmtfs {
>> +			compatible = "qcom,rmtfs-mem";
>> +
>> +			size = <0x0 0x200000>;
>> +			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
>>   			no-map;
>> +
>> +			qcom,client-id = <1>;
>> +			qcom,vmid = <15>;
>>   		};
>>   
>> -		smem_mem: smem-mem@86000000 {
>> -			reg = <0x0 0x86000000 0x0 0x200000>;
>> +		mpss_mem: mpss@88800000 {
>> +			reg = <0x0 0x88800000 0x0 0x6200000>;
>>   			no-map;
>>   		};
>>   
>> -		memory@85800000 {
>> -			reg = <0x0 0x85800000 0x0 0x800000>;
>> +		adsp_mem: adsp@8ea00000 {
>> +			reg = <0x0 0x8ea00000 0x0 0x1b00000>;
>>   			no-map;
>>   		};
>>   
>> -		memory@86200000 {
>> -			reg = <0x0 0x86200000 0x0 0x2600000>;
>> +		slpi_mem: slpi@90500000 {
>> +			reg = <0x0 0x90500000 0x0 0xa00000>;
>>   			no-map;
>>   		};
>>   
>> -		rmtfs@86700000 {
>> -			compatible = "qcom,rmtfs-mem";
>> -
>> -			size = <0x0 0x200000>;
>> -			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
>> +		gpu_mem: gpu@90f00000 {
>> +			compatible = "shared-dma-pool";
>> +			reg = <0x0 0x90f00000 0x0 0x100000>;
>>   			no-map;
>> +		};
>>   
>> -			qcom,client-id = <1>;
>> -			qcom,vmid = <15>;
>> +		venus_mem: venus@91000000 {
>> +			reg = <0x0 0x91000000 0x0 0x500000>;
>> +			no-map;
>>   		};
>>   
>> -		zap_shader_region: gpu@8f200000 {
>> -			compatible = "shared-dma-pool";
>> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
>> +		mba_mem: mba@91500000 {
>> +			reg = <0x0 0x91500000 0x0 0x200000>;
>>   			no-map;
>>   		};
>>   	};
>> @@ -1013,7 +1018,7 @@ opp-133000000 {
>>   			};
>>   
>>   			zap-shader {
>> -				memory-region = <&zap_shader_region>;
>> +				memory-region = <&gpu_mem>;
>>   			};
>>   		};
>>   
>> @@ -2001,7 +2006,7 @@ venus: video-codec@c00000 {
>>   				 <&venus_smmu 0x2c>,
>>   				 <&venus_smmu 0x2d>,
>>   				 <&venus_smmu 0x31>;
>> -			memory-region = <&venus_region>;
>> +			memory-region = <&venus_mem>;
>>   			status = "disabled";
>>   
>>   			video-decoder {
>> @@ -3008,7 +3013,7 @@ adsp_pil: remoteproc@9300000 {
>>   			clocks = <&xo_board>;
>>   			clock-names = "xo";
>>   
>> -			memory-region = <&adsp_region>;
>> +			memory-region = <&adsp_mem>;
>>   
>>   			qcom,smem-states = <&smp2p_adsp_out 0>;
>>   			qcom,smem-state-names = "stop";
>> -- 
>> 2.33.0
>>
>>
Yassine Oudjana Nov. 3, 2021, 2:42 a.m. UTC | #3
On Wed, 2021-11-03 at 03:50 +0400, Dmitry Baryshkov wrote:
> On 24/10/2021 06:04, Bjorn Andersson wrote:
> > On Sun 26 Sep 14:06 CDT 2021, Yassine Oudjana wrote:
> > 
> > > Fix a total overlap between zap_shader_region and slpi_region, and rename
> > > all regions to match the naming convention in other Qualcomm SoC device trees.
> > > 
> > > Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
> > 
> > FYI, I like this series, but I held off applying it because I wanted to
> > verify that the shuffling of the memory regions works on the existing
> > 8996 boards.
> > 
> > Unfortunately it didn't work, either with or without the shuffling on
> > the db820c - and I've not found the time to figure out why that is. I
> > hope to get back to this shortly (or that someone else will figure it
> > out and provide a tested-by)
> 
> I gave this a test too on my db820c. Usually the board MSS will crash
> after ~0.1 - 0.15 seconds after booting up, then during recovery the
> board will crash/reboot somewhere at the end of q6v5_mss_load() (and
> typically after successful q6v5_rmb_mba_wait() call.

> Occasionally (approximately 1 of 20) the MSS will not crash, presenting
> PDS service to the userspace. Even in this state it doesn't seem to be
> able to lock the gps location (but this might be related to the big UART
> mezzanine sitting on top of the board).

I've had MSS crash on xiaomi-scorpio too, but far less often. It seemed
like some sort of race condition, as it only happened when ADSP and MSS
were booted at the same time. To workaround this, I delayed loading of
the rmtfs service to leave some time between booting ADSP and MSS.

> 
> Unfortunately there seem to be no SLPI firmware for the db820c, so I can
> not test slpi.
> 
> A notice regarding the patchset itself. It looks like pil_q6v5_mss.c
> driver misses mx and cx proxy power domains for the MSS_MSM8996 case.

I didn't notice that. I guess they stay on and MSS is able to boot
anyway. I'll add them similar to PATCH 2/5.

> 
> > 
> > Regards,
> > Bjorn
> > 
> > > ---
> > >   .../dts/qcom/msm8996-sony-xperia-tone.dtsi    | 18 ++++--
> > >   .../boot/dts/qcom/msm8996-xiaomi-common.dtsi  | 18 +++---
> > >   arch/arm64/boot/dts/qcom/msm8996.dtsi         | 63 ++++++++++---------
> > >   3 files changed, 55 insertions(+), 44 deletions(-)
> > > 
> > > diff --git a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
> > > index 507396c4d23b..4c26e66f0610 100644
> > > --- a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
> > > @@ -13,9 +13,10 @@
> > >   #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> > >   #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
> > > 
> > > -/delete-node/ &slpi_region;
> > > -/delete-node/ &venus_region;
> > > -/delete-node/ &zap_shader_region;
> > > +/delete-node/ &adsp_mem;
> > > +/delete-node/ &slpi_mem;
> > > +/delete-node/ &venus_mem;
> > > +/delete-node/ &gpu_mem;
> > > 
> > >   / {
> > >   	qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
> > > @@ -46,18 +47,23 @@ cont_splash_mem: memory@83401000 {
> > >   			no-map;
> > >   		};
> > > 
> > > -		zap_shader_region: gpu@90400000 {
> > > +		adsp_mem: adsp@8ea00000 {
> > > +			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
> > > +			no-map;
> > > +		};
> > > +
> > > +		gpu_mem: gpu@90400000 {
> > >   			compatible = "shared-dma-pool";
> > >   			reg = <0x0 0x90400000 0x0 0x2000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		slpi_region: memory@90500000 {
> > > +		slpi_mem: memory@90500000 {
> > >   			reg = <0 0x90500000 0 0xa00000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		venus_region: memory@90f00000 {
> > > +		venus_mem: memory@90f00000 {
> > >   			reg = <0 0x90f00000 0 0x500000>;
> > >   			no-map;
> > >   		};
> > > diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> > > index d239b01b8505..a5e7bccadba2 100644
> > > --- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
> > > @@ -66,32 +66,32 @@ memory@88800000 {
> > > 
> > >   		/* This platform has all PIL regions offset by 0x1400000 */
> > >   		/delete-node/ mpss@88800000;
> > > -		mpss_region: mpss@89c00000 {
> > > +		mpss_mem: mpss@89c00000 {
> > >   			reg = <0x0 0x89c00000 0x0 0x6200000>;
> > >   			no-map;
> > >   		};
> > > 
> > >   		/delete-node/ adsp@8ea00000;
> > > -		adsp_region: adsp@8ea00000 {
> > > +		adsp_mem: adsp@8fe00000 {
> > >   			reg = <0x0 0x8fe00000 0x0 0x1b00000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		/delete-node/ slpi@90b00000;
> > > -		slpi_region: slpi@91900000 {
> > > +		/delete-node/ slpi@90500000;
> > > +		slpi_mem: slpi@91900000 {
> > >   			reg = <0x0 0x91900000 0x0 0xa00000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		/delete-node/ gpu@8f200000;
> > > -		zap_shader_region: gpu@92300000 {
> > > +		/delete-node/ gpu@90f00000;
> > > +		gpu_mem: gpu@92300000 {
> > >   			compatible = "shared-dma-pool";
> > >   			reg = <0x0 0x92300000 0x0 0x2000>;
> > >   			no-map;
> > >   		};
> > > 
> > >   		/delete-node/ venus@91000000;
> > > -		venus_region: venus@90400000 {
> > > +		venus_mem: venus@92400000 {
> > >   			reg = <0x0 0x92400000 0x0 0x500000>;
> > >   			no-map;
> > >   		};
> > > @@ -107,7 +107,7 @@ ramoops@92900000 {
> > >   			pmsg-size = <0x40000>;
> > >   		};
> > > 
> > > -		/delete-node/ rmtfs@86700000;
> > > +		/delete-node/ rmtfs;
> > >   		rmtfs@f6c00000 {
> > >   			compatible = "qcom,rmtfs-mem";
> > >   			reg = <0 0xf6c00000 0 0x200000>;
> > > @@ -118,7 +118,7 @@ rmtfs@f6c00000 {
> > >   		};
> > > 
> > >   		/delete-node/ mba@91500000;
> > > -		mba_region: mba@f6f00000 {
> > > +		mba_mem: mba@f6f00000 {
> > >   			reg = <0x0 0xf6f00000 0x0 0x100000>;
> > >   			no-map;
> > >   		};
> > > diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> > > index eb3ec5ff46eb..1495fff6ffc9 100644
> > > --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> > > @@ -384,60 +384,65 @@ reserved-memory {
> > >   		#size-cells = <2>;
> > >   		ranges;
> > > 
> > > -		mba_region: mba@91500000 {
> > > -			reg = <0x0 0x91500000 0x0 0x200000>;
> > > +		hyp_mem: memory@85800000 {
> > > +			reg = <0x0 0x85800000 0x0 0x600000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		slpi_region: slpi@90b00000 {
> > > -			reg = <0x0 0x90b00000 0x0 0xa00000>;
> > > +		xbl_mem: memory@85e00000 {
> > > +			reg = <0x0 0x85e00000 0x0 0x200000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		venus_region: venus@90400000 {
> > > -			reg = <0x0 0x90400000 0x0 0x700000>;
> > > +		smem_mem: smem-mem@86000000 {
> > > +			reg = <0x0 0x86000000 0x0 0x200000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		adsp_region: adsp@8ea00000 {
> > > -			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
> > > +		tz_mem: memory@86200000 {
> > > +			reg = <0x0 0x86200000 0x0 0x2600000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		mpss_region: mpss@88800000 {
> > > -			reg = <0x0 0x88800000 0x0 0x6200000>;
> > > +		rmtfs_mem: rmtfs {
> > > +			compatible = "qcom,rmtfs-mem";
> > > +
> > > +			size = <0x0 0x200000>;
> > > +			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
> > >   			no-map;
> > > +
> > > +			qcom,client-id = <1>;
> > > +			qcom,vmid = <15>;
> > >   		};
> > > 
> > > -		smem_mem: smem-mem@86000000 {
> > > -			reg = <0x0 0x86000000 0x0 0x200000>;
> > > +		mpss_mem: mpss@88800000 {
> > > +			reg = <0x0 0x88800000 0x0 0x6200000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		memory@85800000 {
> > > -			reg = <0x0 0x85800000 0x0 0x800000>;
> > > +		adsp_mem: adsp@8ea00000 {
> > > +			reg = <0x0 0x8ea00000 0x0 0x1b00000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		memory@86200000 {
> > > -			reg = <0x0 0x86200000 0x0 0x2600000>;
> > > +		slpi_mem: slpi@90500000 {
> > > +			reg = <0x0 0x90500000 0x0 0xa00000>;
> > >   			no-map;
> > >   		};
> > > 
> > > -		rmtfs@86700000 {
> > > -			compatible = "qcom,rmtfs-mem";
> > > -
> > > -			size = <0x0 0x200000>;
> > > -			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
> > > +		gpu_mem: gpu@90f00000 {
> > > +			compatible = "shared-dma-pool";
> > > +			reg = <0x0 0x90f00000 0x0 0x100000>;
> > >   			no-map;
> > > +		};
> > > 
> > > -			qcom,client-id = <1>;
> > > -			qcom,vmid = <15>;
> > > +		venus_mem: venus@91000000 {
> > > +			reg = <0x0 0x91000000 0x0 0x500000>;
> > > +			no-map;
> > >   		};
> > > 
> > > -		zap_shader_region: gpu@8f200000 {
> > > -			compatible = "shared-dma-pool";
> > > -			reg = <0x0 0x90b00000 0x0 0xa00000>;
> > > +		mba_mem: mba@91500000 {
> > > +			reg = <0x0 0x91500000 0x0 0x200000>;
> > >   			no-map;
> > >   		};
> > >   	};
> > > @@ -1013,7 +1018,7 @@ opp-133000000 {
> > >   			};
> > > 
> > >   			zap-shader {
> > > -				memory-region = <&zap_shader_region>;
> > > +				memory-region = <&gpu_mem>;
> > >   			};
> > >   		};
> > > 
> > > @@ -2001,7 +2006,7 @@ venus: video-codec@c00000 {
> > >   				 <&venus_smmu 0x2c>,
> > >   				 <&venus_smmu 0x2d>,
> > >   				 <&venus_smmu 0x31>;
> > > -			memory-region = <&venus_region>;
> > > +			memory-region = <&venus_mem>;
> > >   			status = "disabled";
> > > 
> > >   			video-decoder {
> > > @@ -3008,7 +3013,7 @@ adsp_pil: remoteproc@9300000 {
> > >   			clocks = <&xo_board>;
> > >   			clock-names = "xo";
> > > 
> > > -			memory-region = <&adsp_region>;
> > > +			memory-region = <&adsp_mem>;
> > > 
> > >   			qcom,smem-states = <&smp2p_adsp_out 0>;
> > >   			qcom,smem-state-names = "stop";
> > > --
> > > 2.33.0
> > > 
> > > 
> 
> 
> --
> With best wishes
> Dmitry
Dmitry Baryshkov Nov. 3, 2021, 1:55 p.m. UTC | #4
On 03/11/2021 05:42, Yassine Oudjana wrote:
> On Wed, 2021-11-03 at 03:50 +0400, Dmitry Baryshkov wrote:
>> On 24/10/2021 06:04, Bjorn Andersson wrote:
>>> On Sun 26 Sep 14:06 CDT 2021, Yassine Oudjana wrote:
>>>
>>>> Fix a total overlap between zap_shader_region and slpi_region, and rename
>>>> all regions to match the naming convention in other Qualcomm SoC device trees.
>>>>
>>>> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
>>>
>>> FYI, I like this series, but I held off applying it because I wanted to
>>> verify that the shuffling of the memory regions works on the existing
>>> 8996 boards.
>>>
>>> Unfortunately it didn't work, either with or without the shuffling on
>>> the db820c - and I've not found the time to figure out why that is. I
>>> hope to get back to this shortly (or that someone else will figure it
>>> out and provide a tested-by)
>>
>> I gave this a test too on my db820c. Usually the board MSS will crash
>> after ~0.1 - 0.15 seconds after booting up, then during recovery the
>> board will crash/reboot somewhere at the end of q6v5_mss_load() (and
>> typically after successful q6v5_rmb_mba_wait() call.
> 
>> Occasionally (approximately 1 of 20) the MSS will not crash, presenting
>> PDS service to the userspace. Even in this state it doesn't seem to be
>> able to lock the gps location (but this might be related to the big UART
>> mezzanine sitting on top of the board).
> 
> I've had MSS crash on xiaomi-scorpio too, but far less often. It seemed
> like some sort of race condition, as it only happened when ADSP and MSS
> were booted at the same time. To workaround this, I delayed loading of
> the rmtfs service to leave some time between booting ADSP and MSS.

For the tests to get 1:20 I've disabled ADSP (and WiFi/BT) completely. 
Without that I think I never got MSS to boot successfully. I think this 
is some kind of power/regulators/clock with ADSP and MSS draining too 
much power.

Note to myself: check rmtfs/partitions usage on db820c.

> 
>>
>> Unfortunately there seem to be no SLPI firmware for the db820c, so I can
>> not test slpi.
>>
>> A notice regarding the patchset itself. It looks like pil_q6v5_mss.c
>> driver misses mx and cx proxy power domains for the MSS_MSM8996 case.
> 
> I didn't notice that. I guess they stay on and MSS is able to boot
> anyway. I'll add them similar to PATCH 2/5.

Thanks!

> 
>>
>>>
>>> Regards,
>>> Bjorn
>>>
>>>> ---
>>>>    .../dts/qcom/msm8996-sony-xperia-tone.dtsi    | 18 ++++--
>>>>    .../boot/dts/qcom/msm8996-xiaomi-common.dtsi  | 18 +++---
>>>>    arch/arm64/boot/dts/qcom/msm8996.dtsi         | 63 ++++++++++---------
>>>>    3 files changed, 55 insertions(+), 44 deletions(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
>>>> index 507396c4d23b..4c26e66f0610 100644
>>>> --- a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
>>>> @@ -13,9 +13,10 @@
>>>>    #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
>>>>    #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
>>>>
>>>> -/delete-node/ &slpi_region;
>>>> -/delete-node/ &venus_region;
>>>> -/delete-node/ &zap_shader_region;
>>>> +/delete-node/ &adsp_mem;
>>>> +/delete-node/ &slpi_mem;
>>>> +/delete-node/ &venus_mem;
>>>> +/delete-node/ &gpu_mem;
>>>>
>>>>    / {
>>>>    	qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
>>>> @@ -46,18 +47,23 @@ cont_splash_mem: memory@83401000 {
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		zap_shader_region: gpu@90400000 {
>>>> +		adsp_mem: adsp@8ea00000 {
>>>> +			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
>>>> +			no-map;
>>>> +		};
>>>> +
>>>> +		gpu_mem: gpu@90400000 {
>>>>    			compatible = "shared-dma-pool";
>>>>    			reg = <0x0 0x90400000 0x0 0x2000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		slpi_region: memory@90500000 {
>>>> +		slpi_mem: memory@90500000 {
>>>>    			reg = <0 0x90500000 0 0xa00000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		venus_region: memory@90f00000 {
>>>> +		venus_mem: memory@90f00000 {
>>>>    			reg = <0 0x90f00000 0 0x500000>;
>>>>    			no-map;
>>>>    		};
>>>> diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
>>>> index d239b01b8505..a5e7bccadba2 100644
>>>> --- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
>>>> @@ -66,32 +66,32 @@ memory@88800000 {
>>>>
>>>>    		/* This platform has all PIL regions offset by 0x1400000 */
>>>>    		/delete-node/ mpss@88800000;
>>>> -		mpss_region: mpss@89c00000 {
>>>> +		mpss_mem: mpss@89c00000 {
>>>>    			reg = <0x0 0x89c00000 0x0 0x6200000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>>    		/delete-node/ adsp@8ea00000;
>>>> -		adsp_region: adsp@8ea00000 {
>>>> +		adsp_mem: adsp@8fe00000 {
>>>>    			reg = <0x0 0x8fe00000 0x0 0x1b00000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		/delete-node/ slpi@90b00000;
>>>> -		slpi_region: slpi@91900000 {
>>>> +		/delete-node/ slpi@90500000;
>>>> +		slpi_mem: slpi@91900000 {
>>>>    			reg = <0x0 0x91900000 0x0 0xa00000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		/delete-node/ gpu@8f200000;
>>>> -		zap_shader_region: gpu@92300000 {
>>>> +		/delete-node/ gpu@90f00000;
>>>> +		gpu_mem: gpu@92300000 {
>>>>    			compatible = "shared-dma-pool";
>>>>    			reg = <0x0 0x92300000 0x0 0x2000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>>    		/delete-node/ venus@91000000;
>>>> -		venus_region: venus@90400000 {
>>>> +		venus_mem: venus@92400000 {
>>>>    			reg = <0x0 0x92400000 0x0 0x500000>;
>>>>    			no-map;
>>>>    		};
>>>> @@ -107,7 +107,7 @@ ramoops@92900000 {
>>>>    			pmsg-size = <0x40000>;
>>>>    		};
>>>>
>>>> -		/delete-node/ rmtfs@86700000;
>>>> +		/delete-node/ rmtfs;
>>>>    		rmtfs@f6c00000 {
>>>>    			compatible = "qcom,rmtfs-mem";
>>>>    			reg = <0 0xf6c00000 0 0x200000>;
>>>> @@ -118,7 +118,7 @@ rmtfs@f6c00000 {
>>>>    		};
>>>>
>>>>    		/delete-node/ mba@91500000;
>>>> -		mba_region: mba@f6f00000 {
>>>> +		mba_mem: mba@f6f00000 {
>>>>    			reg = <0x0 0xf6f00000 0x0 0x100000>;
>>>>    			no-map;
>>>>    		};
>>>> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>>>> index eb3ec5ff46eb..1495fff6ffc9 100644
>>>> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
>>>> @@ -384,60 +384,65 @@ reserved-memory {
>>>>    		#size-cells = <2>;
>>>>    		ranges;
>>>>
>>>> -		mba_region: mba@91500000 {
>>>> -			reg = <0x0 0x91500000 0x0 0x200000>;
>>>> +		hyp_mem: memory@85800000 {
>>>> +			reg = <0x0 0x85800000 0x0 0x600000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		slpi_region: slpi@90b00000 {
>>>> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
>>>> +		xbl_mem: memory@85e00000 {
>>>> +			reg = <0x0 0x85e00000 0x0 0x200000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		venus_region: venus@90400000 {
>>>> -			reg = <0x0 0x90400000 0x0 0x700000>;
>>>> +		smem_mem: smem-mem@86000000 {
>>>> +			reg = <0x0 0x86000000 0x0 0x200000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		adsp_region: adsp@8ea00000 {
>>>> -			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
>>>> +		tz_mem: memory@86200000 {
>>>> +			reg = <0x0 0x86200000 0x0 0x2600000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		mpss_region: mpss@88800000 {
>>>> -			reg = <0x0 0x88800000 0x0 0x6200000>;
>>>> +		rmtfs_mem: rmtfs {
>>>> +			compatible = "qcom,rmtfs-mem";
>>>> +
>>>> +			size = <0x0 0x200000>;
>>>> +			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
>>>>    			no-map;
>>>> +
>>>> +			qcom,client-id = <1>;
>>>> +			qcom,vmid = <15>;
>>>>    		};
>>>>
>>>> -		smem_mem: smem-mem@86000000 {
>>>> -			reg = <0x0 0x86000000 0x0 0x200000>;
>>>> +		mpss_mem: mpss@88800000 {
>>>> +			reg = <0x0 0x88800000 0x0 0x6200000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		memory@85800000 {
>>>> -			reg = <0x0 0x85800000 0x0 0x800000>;
>>>> +		adsp_mem: adsp@8ea00000 {
>>>> +			reg = <0x0 0x8ea00000 0x0 0x1b00000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		memory@86200000 {
>>>> -			reg = <0x0 0x86200000 0x0 0x2600000>;
>>>> +		slpi_mem: slpi@90500000 {
>>>> +			reg = <0x0 0x90500000 0x0 0xa00000>;
>>>>    			no-map;
>>>>    		};
>>>>
>>>> -		rmtfs@86700000 {
>>>> -			compatible = "qcom,rmtfs-mem";
>>>> -
>>>> -			size = <0x0 0x200000>;
>>>> -			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
>>>> +		gpu_mem: gpu@90f00000 {
>>>> +			compatible = "shared-dma-pool";
>>>> +			reg = <0x0 0x90f00000 0x0 0x100000>;
>>>>    			no-map;
>>>> +		};
>>>>
>>>> -			qcom,client-id = <1>;
>>>> -			qcom,vmid = <15>;
>>>> +		venus_mem: venus@91000000 {
>>>> +			reg = <0x0 0x91000000 0x0 0x500000>;
>>>> +			no-map;
>>>>    		};
>>>>
>>>> -		zap_shader_region: gpu@8f200000 {
>>>> -			compatible = "shared-dma-pool";
>>>> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
>>>> +		mba_mem: mba@91500000 {
>>>> +			reg = <0x0 0x91500000 0x0 0x200000>;
>>>>    			no-map;
>>>>    		};
>>>>    	};
>>>> @@ -1013,7 +1018,7 @@ opp-133000000 {
>>>>    			};
>>>>
>>>>    			zap-shader {
>>>> -				memory-region = <&zap_shader_region>;
>>>> +				memory-region = <&gpu_mem>;
>>>>    			};
>>>>    		};
>>>>
>>>> @@ -2001,7 +2006,7 @@ venus: video-codec@c00000 {
>>>>    				 <&venus_smmu 0x2c>,
>>>>    				 <&venus_smmu 0x2d>,
>>>>    				 <&venus_smmu 0x31>;
>>>> -			memory-region = <&venus_region>;
>>>> +			memory-region = <&venus_mem>;
>>>>    			status = "disabled";
>>>>
>>>>    			video-decoder {
>>>> @@ -3008,7 +3013,7 @@ adsp_pil: remoteproc@9300000 {
>>>>    			clocks = <&xo_board>;
>>>>    			clock-names = "xo";
>>>>
>>>> -			memory-region = <&adsp_region>;
>>>> +			memory-region = <&adsp_mem>;
>>>>
>>>>    			qcom,smem-states = <&smp2p_adsp_out 0>;
>>>>    			qcom,smem-state-names = "stop";
>>>> --
>>>> 2.33.0
>>>>
>>>>
>>
>>
>> --
>> With best wishes
>> Dmitry
> 
> 
>
Dmitry Baryshkov April 3, 2022, 7:40 p.m. UTC | #5
On 26/09/2021 22:06, Yassine Oudjana wrote:
> Fix a total overlap between zap_shader_region and slpi_region, and rename
> all regions to match the naming convention in other Qualcomm SoC device trees.
> 
> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>

Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> #db820c
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
index 507396c4d23b..4c26e66f0610 100644
--- a/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi
@@ -13,9 +13,10 @@ 
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
 
-/delete-node/ &slpi_region;
-/delete-node/ &venus_region;
-/delete-node/ &zap_shader_region;
+/delete-node/ &adsp_mem;
+/delete-node/ &slpi_mem;
+/delete-node/ &venus_mem;
+/delete-node/ &gpu_mem;
 
 / {
 	qcom,msm-id = <246 0x30001>; /* MSM8996 V3.1 (Final) */
@@ -46,18 +47,23 @@  cont_splash_mem: memory@83401000 {
 			no-map;
 		};
 
-		zap_shader_region: gpu@90400000 {
+		adsp_mem: adsp@8ea00000 {
+			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
+			no-map;
+		};
+
+		gpu_mem: gpu@90400000 {
 			compatible = "shared-dma-pool";
 			reg = <0x0 0x90400000 0x0 0x2000>;
 			no-map;
 		};
 
-		slpi_region: memory@90500000 {
+		slpi_mem: memory@90500000 {
 			reg = <0 0x90500000 0 0xa00000>;
 			no-map;
 		};
 
-		venus_region: memory@90f00000 {
+		venus_mem: memory@90f00000 {
 			reg = <0 0x90f00000 0 0x500000>;
 			no-map;
 		};
diff --git a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
index d239b01b8505..a5e7bccadba2 100644
--- a/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996-xiaomi-common.dtsi
@@ -66,32 +66,32 @@  memory@88800000 {
 
 		/* This platform has all PIL regions offset by 0x1400000 */
 		/delete-node/ mpss@88800000;
-		mpss_region: mpss@89c00000 {
+		mpss_mem: mpss@89c00000 {
 			reg = <0x0 0x89c00000 0x0 0x6200000>;
 			no-map;
 		};
 
 		/delete-node/ adsp@8ea00000;
-		adsp_region: adsp@8ea00000 {
+		adsp_mem: adsp@8fe00000 {
 			reg = <0x0 0x8fe00000 0x0 0x1b00000>;
 			no-map;
 		};
 
-		/delete-node/ slpi@90b00000;
-		slpi_region: slpi@91900000 {
+		/delete-node/ slpi@90500000;
+		slpi_mem: slpi@91900000 {
 			reg = <0x0 0x91900000 0x0 0xa00000>;
 			no-map;
 		};
 
-		/delete-node/ gpu@8f200000;
-		zap_shader_region: gpu@92300000 {
+		/delete-node/ gpu@90f00000;
+		gpu_mem: gpu@92300000 {
 			compatible = "shared-dma-pool";
 			reg = <0x0 0x92300000 0x0 0x2000>;
 			no-map;
 		};
 
 		/delete-node/ venus@91000000;
-		venus_region: venus@90400000 {
+		venus_mem: venus@92400000 {
 			reg = <0x0 0x92400000 0x0 0x500000>;
 			no-map;
 		};
@@ -107,7 +107,7 @@  ramoops@92900000 {
 			pmsg-size = <0x40000>;
 		};
 
-		/delete-node/ rmtfs@86700000;
+		/delete-node/ rmtfs;
 		rmtfs@f6c00000 {
 			compatible = "qcom,rmtfs-mem";
 			reg = <0 0xf6c00000 0 0x200000>;
@@ -118,7 +118,7 @@  rmtfs@f6c00000 {
 		};
 
 		/delete-node/ mba@91500000;
-		mba_region: mba@f6f00000 {
+		mba_mem: mba@f6f00000 {
 			reg = <0x0 0xf6f00000 0x0 0x100000>;
 			no-map;
 		};
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index eb3ec5ff46eb..1495fff6ffc9 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -384,60 +384,65 @@  reserved-memory {
 		#size-cells = <2>;
 		ranges;
 
-		mba_region: mba@91500000 {
-			reg = <0x0 0x91500000 0x0 0x200000>;
+		hyp_mem: memory@85800000 {
+			reg = <0x0 0x85800000 0x0 0x600000>;
 			no-map;
 		};
 
-		slpi_region: slpi@90b00000 {
-			reg = <0x0 0x90b00000 0x0 0xa00000>;
+		xbl_mem: memory@85e00000 {
+			reg = <0x0 0x85e00000 0x0 0x200000>;
 			no-map;
 		};
 
-		venus_region: venus@90400000 {
-			reg = <0x0 0x90400000 0x0 0x700000>;
+		smem_mem: smem-mem@86000000 {
+			reg = <0x0 0x86000000 0x0 0x200000>;
 			no-map;
 		};
 
-		adsp_region: adsp@8ea00000 {
-			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
+		tz_mem: memory@86200000 {
+			reg = <0x0 0x86200000 0x0 0x2600000>;
 			no-map;
 		};
 
-		mpss_region: mpss@88800000 {
-			reg = <0x0 0x88800000 0x0 0x6200000>;
+		rmtfs_mem: rmtfs {
+			compatible = "qcom,rmtfs-mem";
+
+			size = <0x0 0x200000>;
+			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
 			no-map;
+
+			qcom,client-id = <1>;
+			qcom,vmid = <15>;
 		};
 
-		smem_mem: smem-mem@86000000 {
-			reg = <0x0 0x86000000 0x0 0x200000>;
+		mpss_mem: mpss@88800000 {
+			reg = <0x0 0x88800000 0x0 0x6200000>;
 			no-map;
 		};
 
-		memory@85800000 {
-			reg = <0x0 0x85800000 0x0 0x800000>;
+		adsp_mem: adsp@8ea00000 {
+			reg = <0x0 0x8ea00000 0x0 0x1b00000>;
 			no-map;
 		};
 
-		memory@86200000 {
-			reg = <0x0 0x86200000 0x0 0x2600000>;
+		slpi_mem: slpi@90500000 {
+			reg = <0x0 0x90500000 0x0 0xa00000>;
 			no-map;
 		};
 
-		rmtfs@86700000 {
-			compatible = "qcom,rmtfs-mem";
-
-			size = <0x0 0x200000>;
-			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
+		gpu_mem: gpu@90f00000 {
+			compatible = "shared-dma-pool";
+			reg = <0x0 0x90f00000 0x0 0x100000>;
 			no-map;
+		};
 
-			qcom,client-id = <1>;
-			qcom,vmid = <15>;
+		venus_mem: venus@91000000 {
+			reg = <0x0 0x91000000 0x0 0x500000>;
+			no-map;
 		};
 
-		zap_shader_region: gpu@8f200000 {
-			compatible = "shared-dma-pool";
-			reg = <0x0 0x90b00000 0x0 0xa00000>;
+		mba_mem: mba@91500000 {
+			reg = <0x0 0x91500000 0x0 0x200000>;
 			no-map;
 		};
 	};
@@ -1013,7 +1018,7 @@  opp-133000000 {
 			};
 
 			zap-shader {
-				memory-region = <&zap_shader_region>;
+				memory-region = <&gpu_mem>;
 			};
 		};
 
@@ -2001,7 +2006,7 @@  venus: video-codec@c00000 {
 				 <&venus_smmu 0x2c>,
 				 <&venus_smmu 0x2d>,
 				 <&venus_smmu 0x31>;
-			memory-region = <&venus_region>;
+			memory-region = <&venus_mem>;
 			status = "disabled";
 
 			video-decoder {
@@ -3008,7 +3013,7 @@  adsp_pil: remoteproc@9300000 {
 			clocks = <&xo_board>;
 			clock-names = "xo";
 
-			memory-region = <&adsp_region>;
+			memory-region = <&adsp_mem>;
 
 			qcom,smem-states = <&smp2p_adsp_out 0>;
 			qcom,smem-state-names = "stop";