For now we depends on the TA(firmware) to decided whether the memory will be shared or not . They always been set to enabled within same hive . Regards shaoyun.liu On 2018-11-09 12:53 p.m., Grodzovsky, Andrey wrote: > Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@xxxxxxx> > > Question - shouldn't we also set psp_xgmi_node_info.is_sharing_enabled > to 1 to enable FB sharing ? > > Andrey > > > On 11/08/2018 11:14 AM, Liu, Shaoyun wrote: >> From: shaoyunl <Shaoyun.Liu@xxxxxxx> >> >> Driver need to call each psp instance to get topology info before set topology >> >> Change-Id: I20d914a0c678686db3f1f99edf250f3656ec9fc1 >> Signed-off-by: shaoyunl <Shaoyun.Liu@xxxxxxx> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 19 ++++++++++++------- >> 1 file changed, 12 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c >> index 56acdea..909216a 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c >> @@ -88,14 +88,19 @@ int amdgpu_xgmi_add_device(struct amdgpu_device *adev) >> list_for_each_entry(entry, &hive->device_list, head) >> tmp_topology->nodes[count++].node_id = entry->node_id; >> >> - ret = psp_xgmi_get_topology_info(&adev->psp, count, tmp_topology); >> - if (ret) { >> - dev_err(adev->dev, >> - "XGMI: Get topology failure on device %llx, hive %llx, ret %d", >> - adev->gmc.xgmi.node_id, >> - adev->gmc.xgmi.hive_id, ret); >> - goto exit; >> + /* Each psp need to get the latest topology */ >> + list_for_each_entry(tmp_adev, &hive->device_list, gmc.xgmi.head) { >> + ret = psp_xgmi_get_topology_info(&tmp_adev->psp, count, tmp_topology); >> + if (ret) { >> + dev_err(tmp_adev->dev, >> + "XGMI: Get topology failure on device %llx, hive %llx, ret %d", >> + tmp_adev->gmc.xgmi.node_id, >> + tmp_adev->gmc.xgmi.hive_id, ret); >> + /* To do : continue with some node failed or disable the whole hive */ >> + break; >> + } >> } >> + >> /* Each psp need to set the latest topology */ >> list_for_each_entry(tmp_adev, &hive->device_list, gmc.xgmi.head) { >> ret = psp_xgmi_set_topology_info(&tmp_adev->psp, count, tmp_topology); _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx