• Andrey Grodzovsky's avatar
    drm/amdgpu: Refactor GPU reset for XGMI hive case · 26bc5340
    Andrey Grodzovsky authored
    For XGMI hive case do reset in steps where each step iterates over
    all devs in hive. This especially important for asic reset
    since all PSP FW in hive must come up within a limited time
    (around 1 sec) to properply negotiate the link.
    Do this by  refactoring  amdgpu_device_gpu_recover and amdgpu_device_reset
    into pre_asic_reset, asic_reset and post_asic_reset functions where is part
    is exectued for all the GPUs in the hive before going to the next step.
    
    v2: Update names for amdgpu_device_lock/unlock functions.
    
    v3: Introduce per hive locking to avoid multiple resets for GPUs
        in same hive.
    v4:
    Remove delayed_workqueue()/ttm_bo_unlock_delayed_workqueue() - they
    are copy & pasted over from radeon and on amdgpu there isn't
    any reason for that any more.
    Signed-off-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
    Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    26bc5340
amdgpu_device.c 98.4 KB