[PATCH 3/3] drm/amdgpu: load np fw prior before loading the TAs
Quan, Evan
Evan.Quan at amd.com
Tue Dec 3 02:50:02 UTC 2019
Series is acked-by: Evan Quan <evan.quan at amd.com>
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of
> Hawking Zhang
> Sent: Monday, December 2, 2019 2:04 PM
> To: amd-gfx at lists.freedesktop.org; Min, Frank <Frank.Min at amd.com>;
> Clements, John <John.Clements at amd.com>; Deucher, Alexander
> <Alexander.Deucher at amd.com>
> Cc: Zhang, Hawking <Hawking.Zhang at amd.com>
> Subject: [PATCH 3/3] drm/amdgpu: load np fw prior before loading the TAs
>
> Platform TAs will independently toggle DF Cstate.
> for instance, get/set topology from xgmi ta. do error
> injection from ras ta. In such case, PMFW needs to be
> loaded before TAs so that all the subsequent Cstate
> calls recieved by PSP FW can be routed to PMFW.
>
> Change-Id: I83db1a22577a84ae647e7e570c200057650096c5
> Signed-off-by: Hawking Zhang <Hawking.Zhang at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 66 ++++++++++++-------------
> 1 file changed, 33 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index 0e8907179e07..ceea8314d88d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -1218,39 +1218,6 @@ static int psp_hw_start(struct psp_context *psp)
> return ret;
> }
>
> - ret = psp_asd_load(psp);
> - if (ret) {
> - DRM_ERROR("PSP load asd failed!\n");
> - return ret;
> - }
> -
> - if (adev->gmc.xgmi.num_physical_nodes > 1) {
> - ret = psp_xgmi_initialize(psp);
> - /* Warning the XGMI seesion initialize failure
> - * Instead of stop driver initialization
> - */
> - if (ret)
> - dev_err(psp->adev->dev,
> - "XGMI: Failed to initialize XGMI session\n");
> - }
> -
> - if (psp->adev->psp.ta_fw) {
> - ret = psp_ras_initialize(psp);
> - if (ret)
> - dev_err(psp->adev->dev,
> - "RAS: Failed to initialize RAS\n");
> -
> - ret = psp_hdcp_initialize(psp);
> - if (ret)
> - dev_err(psp->adev->dev,
> - "HDCP: Failed to initialize HDCP\n");
> -
> - ret = psp_dtm_initialize(psp);
> - if (ret)
> - dev_err(psp->adev->dev,
> - "DTM: Failed to initialize DTM\n");
> - }
> -
> return 0;
> }
>
> @@ -1560,6 +1527,39 @@ static int psp_load_fw(struct amdgpu_device *adev)
> if (ret)
> goto failed;
>
> + ret = psp_asd_load(psp);
> + if (ret) {
> + DRM_ERROR("PSP load asd failed!\n");
> + return ret;
> + }
> +
> + if (adev->gmc.xgmi.num_physical_nodes > 1) {
> + ret = psp_xgmi_initialize(psp);
> + /* Warning the XGMI seesion initialize failure
> + * Instead of stop driver initialization
> + */
> + if (ret)
> + dev_err(psp->adev->dev,
> + "XGMI: Failed to initialize XGMI session\n");
> + }
> +
> + if (psp->adev->psp.ta_fw) {
> + ret = psp_ras_initialize(psp);
> + if (ret)
> + dev_err(psp->adev->dev,
> + "RAS: Failed to initialize RAS\n");
> +
> + ret = psp_hdcp_initialize(psp);
> + if (ret)
> + dev_err(psp->adev->dev,
> + "HDCP: Failed to initialize HDCP\n");
> +
> + ret = psp_dtm_initialize(psp);
> + if (ret)
> + dev_err(psp->adev->dev,
> + "DTM: Failed to initialize DTM\n");
> + }
> +
> return 0;
>
> failed:
> --
> 2.17.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.free
> desktop.org%2Fmailman%2Flistinfo%2Famd-
> gfx&data=02%7C01%7Cevan.quan%40amd.com%7Cfa57b9cb28ce4af1c61
> 308d776ed6f91%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6371
> 08634483533019&sdata=wc15XfsaTlTgIlaP0%2F12a8SFFBnk%2F9RCKGwK
> oREx8J8%3D&reserved=0
More information about the amd-gfx
mailing list