From: "Zhang, Jerry (Junwei)" <Jerry.Zhang-5C7GfCeVMHo@public.gmane.org>
To: Huang Rui <ray.huang-5C7GfCeVMHo@public.gmane.org>,
Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [PATCH] drm/amdgpu: add checking for sos version
Date: Wed, 23 May 2018 14:08:37 +0800 [thread overview]
Message-ID: <5B050565.8000105@amd.com> (raw)
In-Reply-To: <1527054349-30329-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
On 05/23/2018 01:45 PM, Huang Rui wrote:
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 27 ++++++++++++++++++++++++++-
> 1 file changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
> index 196e75d..efe5c1f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v3_1.c
> @@ -44,6 +44,8 @@ MODULE_FIRMWARE("amdgpu/vega12_asd.bin");
>
> #define smnMP1_FIRMWARE_FLAGS 0x3010028
>
> +static uint32_t sos_old_versions[] = {1517616, 1510592, 1448594, 1446554};
> +
> static int
> psp_v3_1_get_fw_type(struct amdgpu_firmware_info *ucode, enum psp_gfx_fw_type *type)
> {
> @@ -207,12 +209,31 @@ static int psp_v3_1_bootloader_load_sysdrv(struct psp_context *psp)
> return ret;
> }
>
> +static bool psp_v3_1_match_version(struct amdgpu_device *adev, uint32_t ver)
> +{
> + int i;
> +
> + if (ver == adev->psp.sos_fw_version)
> + return true;
> +
> + /*
> + * Double check if the latest three legacy versions.
> + * If yes, it is still the right version.
> + */
> + for (i = 0; i < sizeof(sos_old_versions) / sizeof(uint32_t); i++) {
> + if (sos_old_versions[i] == adev->psp.sos_fw_version)
> + return true;
> + }
> +
> + return false;
> +}
> +
> static int psp_v3_1_bootloader_load_sos(struct psp_context *psp)
> {
> int ret;
> unsigned int psp_gfxdrv_command_reg = 0;
> struct amdgpu_device *adev = psp->adev;
> - uint32_t sol_reg;
> + uint32_t sol_reg, ver;
>
> /* Check sOS sign of life register to confirm sys driver and sOS
> * are already been loaded.
> @@ -245,6 +266,10 @@ static int psp_v3_1_bootloader_load_sos(struct psp_context *psp)
> RREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_81),
> 0, true);
>
> + ver = RREG32_SOC15(MP0, 0, mmMP0_SMN_C2PMSG_58);
> + if (!psp_v3_1_match_version(adev, ver))
> + DRM_WARN("SOS version doesn't match\n");
> +
> return ret;
> }
>
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2018-05-23 6:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-23 5:45 [PATCH] drm/amdgpu: add checking for sos version Huang Rui
[not found] ` <1527054349-30329-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
2018-05-23 6:08 ` Zhang, Jerry (Junwei) [this message]
2018-05-23 7:34 ` Christian König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5B050565.8000105@amd.com \
--to=jerry.zhang-5c7gfcevmho@public.gmane.org \
--cc=alexander.deucher-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=ray.huang-5C7GfCeVMHo@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.