Fix the following for qmp_get() errors:

1. Correctly handle probe defer for A6x GPUs
2. Ignore other errors because those are okay when GPU ACD is
not required. They are checked again during gpu acd probe.

Signed-off-by: Akhil P Oommen <quic_akhi...@quicinc.com>
---
 drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c 
b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
index 2689e79aefa5..1f213a0fc61b 100644
--- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
+++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
@@ -1844,9 +1844,10 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct 
device_node *node)
                goto detach_cxpd;
        }
 
+       /* Other errors are handled during GPU ACD probe */
        gmu->qmp = qmp_get(gmu->dev);
-       if (IS_ERR(gmu->qmp) && adreno_is_a7xx(adreno_gpu)) {
-               ret = PTR_ERR(gmu->qmp);
+       if (PTR_ERR_OR_ZERO(gmu->qmp) == -EPROBE_DEFER) {
+               ret = -EPROBE_DEFER;
                goto detach_gxpd;
        }
 

-- 
2.45.2

Reply via email to