Series is acked-by: Evan Quan <evan.quan@xxxxxxx> > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Hawking Zhang > Sent: Monday, December 2, 2019 2:04 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Min, Frank <Frank.Min@xxxxxxx>; > Clements, John <John.Clements@xxxxxxx>; Deucher, Alexander > <Alexander.Deucher@xxxxxxx> > Cc: Zhang, Hawking <Hawking.Zhang@xxxxxxx> > 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@xxxxxxx> > --- > 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@xxxxxxxxxxxxxxxxxxxxx > 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 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx