[PATCH v2] arm64: dts: qcom: msm8998: enable adreno_smmu by default

2024-06-03 Thread Marc Gonzalez
15 qcom platform DTSI files define an adreno_smmu node.
msm8998 is the only one with adreno_smmu disabled by default.

There's no reason why this SMMU should be disabled by default,
it doesn't need any further configuration.

Bring msm8998 in line with the 14 other platforms.

This fixes GPU init failing with ENODEV:
msm_dpu c901000.display-controller: failed to load adreno gpu
msm_dpu c901000.display-controller: failed to bind 500.gpu (ops a3xx_ops): 
-19

Fixes: 87cd46d68aeac8 ("Configure Adreno GPU and related IOMMU")
Signed-off-by: Marc Gonzalez 
Reviewed-by: Bryan O'Donoghue 
---
New in v2: rewrote commit message with input from Martin, Bryan, Luca
Supersedes: <1ba7031f-c97c-41f1-8cbc-d99f1e848...@freebox.fr>

Maintainers, feel free to drop the Fixes tag.

Failure log:
[2.756363] [drm:adreno_bind] Found GPU: 5.4.0.1
[2.767183] [drm:a5xx_gpu_init]
[2.767422] [drm:adreno_gpu_init] fast_rate=71097, slow_rate=2700
[3.003869] [drm:msm_gpu_init] ebi1_clk: fffe
[3.004002] adreno 500.gpu: supply vdd not found, using dummy regulator
[3.008463] [drm:msm_gpu_init] gpu_reg: 819e4000
[3.015105] adreno 500.gpu: supply vddcx not found, using dummy regulator
[3.020702] [drm:msm_gpu_init] gpu_cx: 819e4180
[3.028173] [drm:adreno_iommu_create_address_space]
[3.054552] [drm:msm_gpu_init] gpu->aspace=ffed
[3.058112] [drm:a5xx_destroy] 5.4.0.1
[3.065922] [drm:msm_gpu_cleanup] 5.4.0.1
[3.074237] msm_dpu c901000.display-controller: failed to load adreno gpu
[3.082412] msm_dpu c901000.display-controller: failed to bind 500.gpu 
(ops a3xx_ops): -19
[3.088342] msm_dpu c901000.display-controller: [drm:drm_managed_release] 
drmres release begin
...
[3.197694] [drm:drm_managed_release] drmres release end
[3.204009] msm_dpu c901000.display-controller: adev bind failed: -19
---
 arch/arm64/boot/dts/qcom/msm8998.dtsi | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi 
b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index 3d3b1f61c0690..edf379c28e1e1 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -1580,7 +1580,6 @@ adreno_smmu: iommu@504 {
 * SoC VDDMX RPM Power Domain in the Adreno driver.
 */
power-domains = < GPU_GX_GDSC>;
-   status = "disabled";
};
 
gpucc: clock-controller@5065000 {
-- 
2.34.1



Re: [PATCH v2] arm64: dts: qcom: msm8998: enable adreno_smmu by default

2024-05-27 Thread Bjorn Andersson


On Wed, 15 May 2024 16:27:44 +0200, Marc Gonzalez wrote:
> 15 qcom platform DTSI files define an adreno_smmu node.
> msm8998 is the only one with adreno_smmu disabled by default.
> 
> There's no reason why this SMMU should be disabled by default,
> it doesn't need any further configuration.
> 
> Bring msm8998 in line with the 14 other platforms.
> 
> [...]

Applied, thanks!

[1/1] arm64: dts: qcom: msm8998: enable adreno_smmu by default
  commit: 98a0c4f2278b4d6c1c7722735c20b2247de6293f

Best regards,
-- 
Bjorn Andersson 


Re: [PATCH v2] arm64: dts: qcom: msm8998: enable adreno_smmu by default

2024-05-17 Thread Jeffrey Hugo

On 5/15/2024 8:27 AM, Marc Gonzalez wrote:

15 qcom platform DTSI files define an adreno_smmu node.
msm8998 is the only one with adreno_smmu disabled by default.

There's no reason why this SMMU should be disabled by default,
it doesn't need any further configuration.

Bring msm8998 in line with the 14 other platforms.

This fixes GPU init failing with ENODEV:
msm_dpu c901000.display-controller: failed to load adreno gpu
msm_dpu c901000.display-controller: failed to bind 500.gpu (ops a3xx_ops): 
-19

Fixes: 87cd46d68aeac8 ("Configure Adreno GPU and related IOMMU")
Signed-off-by: Marc Gonzalez 
Reviewed-by: Bryan O'Donoghue 


Reviewed-by: Jeffrey Hugo 


Re: [PATCH v2] arm64: dts: qcom: msm8998: enable adreno_smmu by default

2024-05-15 Thread Marijn Suijten
On 2024-05-15 16:27:44, Marc Gonzalez wrote:
> 15 qcom platform DTSI files define an adreno_smmu node.
> msm8998 is the only one with adreno_smmu disabled by default.
> 
> There's no reason why this SMMU should be disabled by default,
> it doesn't need any further configuration.
> 
> Bring msm8998 in line with the 14 other platforms.
> 
> This fixes GPU init failing with ENODEV:

Nit: I'd specialize this to:

"This saves every MSM8998 board DTS from having to enable adreno_smmu when
enabling the Adreno GPU node, which leads to the following unclear probe failure
when forgotten about:"

But no need to send a v3 for that.

> msm_dpu c901000.display-controller: failed to load adreno gpu
> msm_dpu c901000.display-controller: failed to bind 500.gpu (ops 
> a3xx_ops): -19

And as a more general discussion, which is not really relevant to have your
commit message, we could have a separate patch adding an error message detailing
**where** this -19 came from.  In this case create_address_space().

> Fixes: 87cd46d68aeac8 ("Configure Adreno GPU and related IOMMU")
> Signed-off-by: Marc Gonzalez 
> Reviewed-by: Bryan O'Donoghue 

Reviewed-by: Marijn Suijten 

> ---
> New in v2: rewrote commit message with input from Martin, Bryan, Luca

Thanks!

> Supersedes: <1ba7031f-c97c-41f1-8cbc-d99f1e848...@freebox.fr>
> 
> Maintainers, feel free to drop the Fixes tag.

For context, I don't think the original patch was necessarily wrong in disabling
this node, as any node using it (adreno_gpu) is also disabled by default.  It is
however less consistent with other DTSI, which don't require every board DTS to
re-enable adreno_smmu.

- Marijn

> Failure log:
> [2.756363] [drm:adreno_bind] Found GPU: 5.4.0.1
> [2.767183] [drm:a5xx_gpu_init]
> [2.767422] [drm:adreno_gpu_init] fast_rate=71097, slow_rate=2700
> [3.003869] [drm:msm_gpu_init] ebi1_clk: fffe
> [3.004002] adreno 500.gpu: supply vdd not found, using dummy regulator
> [3.008463] [drm:msm_gpu_init] gpu_reg: 819e4000
> [3.015105] adreno 500.gpu: supply vddcx not found, using dummy 
> regulator
> [3.020702] [drm:msm_gpu_init] gpu_cx: 819e4180
> [3.028173] [drm:adreno_iommu_create_address_space]
> [3.054552] [drm:msm_gpu_init] gpu->aspace=ffed
> [3.058112] [drm:a5xx_destroy] 5.4.0.1
> [3.065922] [drm:msm_gpu_cleanup] 5.4.0.1
> [3.074237] msm_dpu c901000.display-controller: failed to load adreno gpu
> [3.082412] msm_dpu c901000.display-controller: failed to bind 500.gpu 
> (ops a3xx_ops): -19
> [3.088342] msm_dpu c901000.display-controller: [drm:drm_managed_release] 
> drmres release begin
> ...
> [3.197694] [drm:drm_managed_release] drmres release end
> [3.204009] msm_dpu c901000.display-controller: adev bind failed: -19
> ---
>  arch/arm64/boot/dts/qcom/msm8998.dtsi | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi 
> b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> index 3d3b1f61c0690..edf379c28e1e1 100644
> --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> @@ -1580,7 +1580,6 @@ adreno_smmu: iommu@504 {
>* SoC VDDMX RPM Power Domain in the Adreno driver.
>*/
>   power-domains = < GPU_GX_GDSC>;
> - status = "disabled";
>   };
>  
>   gpucc: clock-controller@5065000 {
> -- 
> 2.34.1
>