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