lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 3 Nov 2021 02:50:32 +0300
From:   Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To:     Bjorn Andersson <bjorn.andersson@...aro.org>,
        Yassine Oudjana <y.oudjana@...tonmail.com>
Cc:     Andy Gross <agross@...nel.org>, Ohad Ben-Cohen <ohad@...ery.com>,
        Mathieu Poirier <mathieu.poirier@...aro.org>,
        Rob Herring <robh+dt@...nel.org>,
        AngeloGioacchino Del Regno 
        <angelogioacchino.delregno@...ainline.org>,
        Konrad Dybcio <konrad.dybcio@...ainline.org>,
        Raffaele Tranquillini <raffaele.tranquillini@...il.com>,
        linux-arm-msm@...r.kernel.org, linux-remoteproc@...r.kernel.org,
        devicetree@...r.kernel.org, phone-devel@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/5] arm64: dts: qcom: msm8996: Revamp reserved memory

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@...tonmail.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@...01000 {
>>   			no-map;
>>   		};
>>   
>> -		zap_shader_region: gpu@...00000 {
>> +		adsp_mem: adsp@...00000 {
>> +			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
>> +			no-map;
>> +		};
>> +
>> +		gpu_mem: gpu@...00000 {
>>   			compatible = "shared-dma-pool";
>>   			reg = <0x0 0x90400000 0x0 0x2000>;
>>   			no-map;
>>   		};
>>   
>> -		slpi_region: memory@...00000 {
>> +		slpi_mem: memory@...00000 {
>>   			reg = <0 0x90500000 0 0xa00000>;
>>   			no-map;
>>   		};
>>   
>> -		venus_region: memory@...00000 {
>> +		venus_mem: memory@...00000 {
>>   			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@...00000 {
>>   
>>   		/* This platform has all PIL regions offset by 0x1400000 */
>>   		/delete-node/ mpss@...00000;
>> -		mpss_region: mpss@...00000 {
>> +		mpss_mem: mpss@...00000 {
>>   			reg = <0x0 0x89c00000 0x0 0x6200000>;
>>   			no-map;
>>   		};
>>   
>>   		/delete-node/ adsp@...00000;
>> -		adsp_region: adsp@...00000 {
>> +		adsp_mem: adsp@...00000 {
>>   			reg = <0x0 0x8fe00000 0x0 0x1b00000>;
>>   			no-map;
>>   		};
>>   
>> -		/delete-node/ slpi@...00000;
>> -		slpi_region: slpi@...00000 {
>> +		/delete-node/ slpi@...00000;
>> +		slpi_mem: slpi@...00000 {
>>   			reg = <0x0 0x91900000 0x0 0xa00000>;
>>   			no-map;
>>   		};
>>   
>> -		/delete-node/ gpu@...00000;
>> -		zap_shader_region: gpu@...00000 {
>> +		/delete-node/ gpu@...00000;
>> +		gpu_mem: gpu@...00000 {
>>   			compatible = "shared-dma-pool";
>>   			reg = <0x0 0x92300000 0x0 0x2000>;
>>   			no-map;
>>   		};
>>   
>>   		/delete-node/ venus@...00000;
>> -		venus_region: venus@...00000 {
>> +		venus_mem: venus@...00000 {
>>   			reg = <0x0 0x92400000 0x0 0x500000>;
>>   			no-map;
>>   		};
>> @@ -107,7 +107,7 @@ ramoops@...00000 {
>>   			pmsg-size = <0x40000>;
>>   		};
>>   
>> -		/delete-node/ rmtfs@...00000;
>> +		/delete-node/ rmtfs;
>>   		rmtfs@...00000 {
>>   			compatible = "qcom,rmtfs-mem";
>>   			reg = <0 0xf6c00000 0 0x200000>;
>> @@ -118,7 +118,7 @@ rmtfs@...00000 {
>>   		};
>>   
>>   		/delete-node/ mba@...00000;
>> -		mba_region: mba@...00000 {
>> +		mba_mem: mba@...00000 {
>>   			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@...00000 {
>> -			reg = <0x0 0x91500000 0x0 0x200000>;
>> +		hyp_mem: memory@...00000 {
>> +			reg = <0x0 0x85800000 0x0 0x600000>;
>>   			no-map;
>>   		};
>>   
>> -		slpi_region: slpi@...00000 {
>> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
>> +		xbl_mem: memory@...00000 {
>> +			reg = <0x0 0x85e00000 0x0 0x200000>;
>>   			no-map;
>>   		};
>>   
>> -		venus_region: venus@...00000 {
>> -			reg = <0x0 0x90400000 0x0 0x700000>;
>> +		smem_mem: smem-mem@...00000 {
>> +			reg = <0x0 0x86000000 0x0 0x200000>;
>>   			no-map;
>>   		};
>>   
>> -		adsp_region: adsp@...00000 {
>> -			reg = <0x0 0x8ea00000 0x0 0x1a00000>;
>> +		tz_mem: memory@...00000 {
>> +			reg = <0x0 0x86200000 0x0 0x2600000>;
>>   			no-map;
>>   		};
>>   
>> -		mpss_region: mpss@...00000 {
>> -			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@...00000 {
>> -			reg = <0x0 0x86000000 0x0 0x200000>;
>> +		mpss_mem: mpss@...00000 {
>> +			reg = <0x0 0x88800000 0x0 0x6200000>;
>>   			no-map;
>>   		};
>>   
>> -		memory@...00000 {
>> -			reg = <0x0 0x85800000 0x0 0x800000>;
>> +		adsp_mem: adsp@...00000 {
>> +			reg = <0x0 0x8ea00000 0x0 0x1b00000>;
>>   			no-map;
>>   		};
>>   
>> -		memory@...00000 {
>> -			reg = <0x0 0x86200000 0x0 0x2600000>;
>> +		slpi_mem: slpi@...00000 {
>> +			reg = <0x0 0x90500000 0x0 0xa00000>;
>>   			no-map;
>>   		};
>>   
>> -		rmtfs@...00000 {
>> -			compatible = "qcom,rmtfs-mem";
>> -
>> -			size = <0x0 0x200000>;
>> -			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
>> +		gpu_mem: gpu@...00000 {
>> +			compatible = "shared-dma-pool";
>> +			reg = <0x0 0x90f00000 0x0 0x100000>;
>>   			no-map;
>> +		};
>>   
>> -			qcom,client-id = <1>;
>> -			qcom,vmid = <15>;
>> +		venus_mem: venus@...00000 {
>> +			reg = <0x0 0x91000000 0x0 0x500000>;
>> +			no-map;
>>   		};
>>   
>> -		zap_shader_region: gpu@...00000 {
>> -			compatible = "shared-dma-pool";
>> -			reg = <0x0 0x90b00000 0x0 0xa00000>;
>> +		mba_mem: mba@...00000 {
>> +			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@...000 {
>>   				 <&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@...0000 {
>>   			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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ