drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
We were using 10ms, kgsl uses 100ms. In practice it is usually takes
less than 10ms, but very occasionally goes a bit above 10ms, leading to
a "GMU firmware inialization timed out", from which point things go
south.
There are probably some things that could be done to speed up init, like
increasing GMU freq. But to be safe, increase the timeout to match
kgsl.
Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
---
drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index 2170bf7bb045..9290010c8cdd 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -320,7 +320,7 @@ static int a6xx_gmu_start(struct a6xx_gmu *gmu)
gmu_write(gmu, REG_A6XX_GMU_CM3_SYSRESET, 0);
ret = gmu_poll_timeout(gmu, REG_A6XX_GMU_CM3_FW_INIT_RESULT, val,
- (val & mask) == reset_val, 100, 10000);
+ (val & mask) == reset_val, 100, 100000);
if (ret)
DRM_DEV_ERROR(gmu->dev, "GMU firmware initialization timed out\n");
--
2.55.0
On 9/12/26 5:09 PM, Rob Clark wrote: > We were using 10ms, kgsl uses 100ms. In practice it is usually takes > less than 10ms, but very occasionally goes a bit above 10ms, leading to > a "GMU firmware inialization timed out", from which point things go > south. > > There are probably some things that could be done to speed up init, like > increasing GMU freq. But to be safe, increase the timeout to match > kgsl. > > Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On 9/12/2026 8:39 PM, Rob Clark wrote: > We were using 10ms, kgsl uses 100ms. In practice it is usually takes > less than 10ms, but very occasionally goes a bit above 10ms, leading to > a "GMU firmware inialization timed out", from which point things go > south. > > There are probably some things that could be done to speed up init, like > increasing GMU freq. But to be safe, increase the timeout to match > kgsl. > > Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com> Reviewed-by: Akhil P Oommen <akhilpo@oss.qualcomm.com> -Akhil > --- > drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > index 2170bf7bb045..9290010c8cdd 100644 > --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c > @@ -320,7 +320,7 @@ static int a6xx_gmu_start(struct a6xx_gmu *gmu) > gmu_write(gmu, REG_A6XX_GMU_CM3_SYSRESET, 0); > > ret = gmu_poll_timeout(gmu, REG_A6XX_GMU_CM3_FW_INIT_RESULT, val, > - (val & mask) == reset_val, 100, 10000); > + (val & mask) == reset_val, 100, 100000); > > if (ret) > DRM_DEV_ERROR(gmu->dev, "GMU firmware initialization timed out\n");
© 2016 - 2026 Red Hat, Inc.