Commit 6ddbfa1f authored by Dmitry Baryshkov's avatar Dmitry Baryshkov Committed by Rob Clark

drm/msm: a6xx: fix version check for the A650 SQE microcode

I suppose the microcode version check for a650 is incorrect. It checks
for the version 1.95, while the firmware released have major version of 0:
0.91 (vulnerable), 0.99 (fixing the issue).

Lower version requirements to accept firmware 0.99.

Fixes: 8490f02a ("drm/msm: a6xx: Make sure the SQE microcode is safe")
Cc: Akhil P Oommen <akhilpo@codeaurora.org>
Cc: Jordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Acked-by: default avatarJordan Crouse <jordan@cosmicpenguin.net>
Message-Id: <20210331140223.3771449b-1-dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 9fbd3088
...@@ -567,17 +567,17 @@ static bool a6xx_ucode_check_version(struct a6xx_gpu *a6xx_gpu, ...@@ -567,17 +567,17 @@ static bool a6xx_ucode_check_version(struct a6xx_gpu *a6xx_gpu,
} else { } else {
/* /*
* a650 tier targets don't need whereami but still need to be * a650 tier targets don't need whereami but still need to be
* equal to or newer than 1.95 for other security fixes * equal to or newer than 0.95 for other security fixes
*/ */
if (adreno_is_a650(adreno_gpu)) { if (adreno_is_a650(adreno_gpu)) {
if ((buf[0] & 0xfff) >= 0x195) { if ((buf[0] & 0xfff) >= 0x095) {
ret = true; ret = true;
goto out; goto out;
} }
DRM_DEV_ERROR(&gpu->pdev->dev, DRM_DEV_ERROR(&gpu->pdev->dev,
"a650 SQE ucode is too old. Have version %x need at least %x\n", "a650 SQE ucode is too old. Have version %x need at least %x\n",
buf[0] & 0xfff, 0x195); buf[0] & 0xfff, 0x095);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment