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  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 6 Jul 2020 13:28:34 +0300
From:   Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To:     Jonathan Marek <jonathan@...ek.ca>, linux-arm-msm@...r.kernel.org
Cc:     Andy Gross <agross@...nel.org>,
        Bjorn Andersson <bjorn.andersson@...aro.org>,
        Deepak Katragadda <dkatraga@...eaurora.org>,
        "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" 
        <devicetree@...r.kernel.org>,
        "open list:COMMON CLK FRAMEWORK" <linux-clk@...r.kernel.org>,
        open list <linux-kernel@...r.kernel.org>,
        Michael Turquette <mturquette@...libre.com>,
        Rob Herring <robh+dt@...nel.org>,
        Stephen Boyd <sboyd@...nel.org>,
        Taniya Das <tdas@...eaurora.org>, Vinod Koul <vkoul@...nel.org>
Subject: Re: [RESEND PATCH v2 00/13] Enable GPU for SM8150 and SM8250

Hi,

On 06/07/2020 00:08, Jonathan Marek wrote:
> On 7/3/20 1:29 PM, Dmitry Baryshkov wrote:
>> On 03/07/2020 18:14, Dmitry Baryshkov wrote:
>>> On 03/07/2020 18:08, Jonathan Marek wrote:
>>>> On 7/3/20 11:03 AM, Dmitry Baryshkov wrote:
>>>>> On 30/06/2020 00:17, Jonathan Marek wrote:
>>>>>> This series adds the missing clock drivers and dts nodes to enable
>>>>>> the GPU on both SM8150 and SM8250.
>>>>>>
>>>>>> Note an extra patch [1] is still required for GPU to work on SM8250.
>>>>>>
>>>>>> Changes in V2:
>>>>>> * Added "clk: qcom: gcc: fix sm8150 GPU and NPU clocks" to fix the 
>>>>>> newly added
>>>>>>    SM8150 GPU gcc clocks
>>>>>> * Added "Fixes:" tag to "clk: qcom: clk-alpha-pll: remove 
>>>>>> unused/incorrect PLL_CAL_VAL"
>>>>>> * Added yaml schemas to gpucc dt-bindings patches
>>>>>> * Added "clk: qcom: add common gdsc_gx_do_nothing_enable for gpucc 
>>>>>> drivers" and changed
>>>>>>    gpucc patches to use it.
>>>>>> * Removed CLK_IS_CRITICAL from gpu_cc_ahb_clk
>>>>>> * Added missing rpmh regulator level for sm8250 GPU clock levels
>>>>>> * Use sm8150/sm8250 iommu compatibles in dts
>>>>>> * Add gcc_gpu_gpll0_clk_src/gcc_gpu_gpll0_div_clk_src to gpucc 
>>>>>> clocks in dts
>>>>>>
>>>>>> [1] https://gist.github.com/flto/784f1aca761ebf2fe6c105719a4a04ca
>>>>>
>>>>> With your patches applied:
>>>>>
>>>>> [   56.751977] msm msm: [drm:adreno_request_fw] loaded 
>>>>> qcom/a650_sqe.fw from new location
>>>>> [   56.760166] msm msm: [drm:adreno_request_fw] loaded 
>>>>> qcom/a650_gmu.bin from new location
>>>>> [   56.768485] arm-smmu 3da0000.iommu: genpd_runtime_resume()
>>>>> [   56.774196] PM: gpu_cx_gdsc: Power-on latency exceeded, new 
>>>>> value 49531 ns
>>>>> [   56.781730] arm-smmu 3da0000.iommu: resume latency exceeded, 
>>>>> 462604 ns
>>>>> [   56.799559] platform 3d6a000.gmu: [drm:a6xx_gmu_resume] *ERROR* 
>>>>> GMU firmware initialization timed out
>>>>> [   56.809260] arm-smmu 3da0000.iommu: genpd_runtime_suspend()
>>>>> [   56.813062] msm msm: [drm:adreno_load_gpu] *ERROR* Couldn't 
>>>>> power up the GPU: -110
>>>>>
>>>>>
>>>>
>>>> Do you have your branch published somewhere so I can see what 
>>>> could've went wrong?
>>>
>>> I've applied your patches (this series + the extra one for 
>>> gpu/drm/msm) on top of 
>>> https://git.linaro.org/landing-teams/working/qualcomm/kernel.git 
>>> branch integration-linux-qcomlt .
>>
>> A trimmed down version: 
>> git.linaro.org/people/dmitry.baryshkov/kernel.git branch sm8250-gpu-test
>>
>>
> 
> Hi,
> 
> I tried this branch, with only the sm8250-hdk.dts from my other series 
> added (USB nodes removed as you don't have those in your branch), and 
> the GPU starts up without problems.
> 
> Possible differences I can think of:
> 
> 1) Different firmware version which behaves differently? These are the 
> checksums for the firmware I have:
> 
> /lib/firmware# md5sum a650_*
> f6536ba45c2f9f64ec31438217b6a027  a650_gmu.bin
> 897be740bed67deaa1943e9c36293165  a650_sqe.fw
> 00f1b291a2b30c98f05c25506e3f4761  a650_zap.b00
> bec0f79c7c6f5b32254facf3c7e046c7  a650_zap.b01
> 35273e4135147a269076144a3051b498  a650_zap.b02
> ce0dd1af27306eb341a01bda642f1c64  a650_zap.elf
> 09834955a8865073f6ee483f69a98b33  a650_zap.mdt

Interesting. This is what I have here:

3a3a455289c8c36b97a76b95d1dda5cb  a650_gmu.bin
9439db9b76c84f4aec625ff2bc4d1f90  a650_sqe.fw
00f1b291a2b30c98f05c25506e3f4761  a650_zap.b00
f30017eb17a440476a939d8eb1fbe102  a650_zap.b01
35273e4135147a269076144a3051b498  a650_zap.b02
03cef57e54ff48ab3ad49c7e2bcac56e  a650_zap.elf
93f651f41f4bab30dfb8e2bbd8f64ffd  a650_zap.mdt

> 2) GPU revision is not 650.2 (the downstream driver had workarounds for 
> bugs in the first revisions, which I didn't include in the upstream driver)

Interesting, I will take a look. The first obvious difference is the 
hang timeout and the a6xx_gmu_start() handling.

> 
> 3) Something in the kernel config is making a difference. Here is the 
> kernel config I used to test this: 
> https://gist.github.com/flto/c6b1bc48abda6fb580a2f21c51039c81

No, your config produces the same result:

[   46.964891] msm msm: [drm:0xffffffc01049bd00] loaded qcom/a650_sqe.fw 
from new location
[   46.973156] msm msm: [drm:0xffffffc01049bd00] loaded 
qcom/a650_gmu.bin from new location
[   46.994573] platform 3d6a000.gmu: [drm:0xffffffc0104a85d4] *ERROR* 
GMU firmware initialization timed out
[   47.004537] msm msm: [drm:0xffffffc01049b584] *ERROR* Couldn't power 
up the GPU: -110

-- 
With best wishes
Dmitry

Powered by blists - more mailing lists