diff options
| author | Monk Liu <[email protected]> | 2020-03-04 15:51:51 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2020-04-01 18:44:43 +0000 |
| commit | 122078de168b8380e9dde15a5c04a5412e710cb6 (patch) | |
| tree | baac20fa2cf9533edde1e21d870b4f5e2467e43d /drivers/gpu/drm/amd/amdgpu/nv.c | |
| parent | drm/amdgpu: use static mmio offset for NV mailbox (diff) | |
| download | kernel-122078de168b8380e9dde15a5c04a5412e710cb6.tar.gz kernel-122078de168b8380e9dde15a5c04a5412e710cb6.zip | |
drm/amdgpu: equip new req_init_data handshake
by this new handshake host side can prepare vbios/ip-discovery
and pf&vf exchange data upon recieving this request without
stopping world switch.
this way the world switch is less impacted by VF's exclusive mode
request
Signed-off-by: Monk Liu <[email protected]>
Reviewed-by: Emily Deng <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/nv.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/nv.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/nv.c b/drivers/gpu/drm/amd/amdgpu/nv.c index a67d78d7eeeb..7768880fcccf 100644 --- a/drivers/gpu/drm/amd/amdgpu/nv.c +++ b/drivers/gpu/drm/amd/amdgpu/nv.c @@ -457,16 +457,19 @@ int nv_set_ip_blocks(struct amdgpu_device *adev) { int r; - /* Set IP register base before any HW register access */ - r = nv_reg_base_init(adev); - if (r) - return r; - adev->nbio.funcs = &nbio_v2_3_funcs; adev->nbio.hdp_flush_reg = &nbio_v2_3_hdp_flush_reg; - if (amdgpu_sriov_vf(adev)) + if (amdgpu_sriov_vf(adev)) { adev->virt.ops = &xgpu_nv_virt_ops; + /* try send GPU_INIT_DATA request to host */ + amdgpu_virt_request_init_data(adev); + } + + /* Set IP register base before any HW register access */ + r = nv_reg_base_init(adev); + if (r) + return r; switch (adev->asic_type) { case CHIP_NAVI10: |
