VFs do not perform HW fini/suspend in FLR, so the dpm_enabled
is incorrectly kept enabled. Add interface to disable it in
virt_pre_reset call.
v2: Made implementation generic for all asics
v3: Re-order conditionals so PP_MP1_STATE_FLR is only evaluated on VF
Signed-off-by: Victor Skvortsov
VFs do not perform HW fini/suspend in FLR, so the dpm_enabled
is incorrectly kept enabled. Add interface to disable it in
virt_pre_reset call.
v2: Made implementation generic for all asics
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ++
drivers
Register access from userspace should be blocked until
reset is complete.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 44 ++---
1 file changed, 32 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
b
VFs do not perform HW fini/suspend in FLR, so the dpm_enabled
is incorrectly kept enabled. Add interface to disable it in
virt_pre_reset call.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c| 10 +
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 8
Stop waiting for the KIQ to return back when there is a reset pending.
It's quite likely that the KIQ will never response.
Signed-off-by: Koenig Christian
Suggested-by: Lazar Lijo
Tested-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 3 ++-
drivers/gpu/drm/amd/a
KIQ timeouts no longer seen.
This reverts commit b4d12cc00ad69e8a0dea2ece7202bacfd8b894fb.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
b/drivers/gpu/drm
Stop waiting for the KIQ to return back when there is a reset pending.
It's quite likely that the KIQ will never response.
Signed-off-by: Victor Skvortsov
Suggested-by: Lazar Lijo
---
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h | 5 +++
KIQ timeouts no longer seen.
This reverts commit b4d12cc00ad69e8a0dea2ece7202bacfd8b894fb.
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 137a88b8de4
flush_gpu_tlb may be called from another thread while
device_gpu_recover is running.
Both of these threads access registers through the VF
RLCG interface during VF Full Access. Add a lock around this interface
to prevent race conditions between these threads.
Signed-off-by: Victor Skvortsov
iate reset
request from the guest) inside the pf2vf thread on FED.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
i
Runtime KIQ interface to read/write registers in VF may take longer
than expected for BM environment. Extend the timeout.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu
This call is already done inside amdgpu_device_pre_asic_reset.
If should_recover_gpu is false, then vf2pf worker thread is
permanently killed.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 2 --
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c | 2 --
2 files changed, 4
From: Victor Skvortsov
Host will initiate an FLR in SDMA poison consumption scenario.
Guest should wait for FLR message to re-init data exchange.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a
Use amdgpu_vram_mgr to reserve bad page ranges.
Reserved ranges will be freed by amdgpu_vram_mgr_fini()
Delete bo_create path as it is redundant.
Suggested-by: Christian König
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 55 ++--
drivers
if (!(tmp & flag)) condition will always evaluate to true
when the flag is 0x0 (AMDGPU_RLCG_GC_WRITE). Instead check
that address bits are cleared to determine whether
the command is complete.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 2 +-
drivers/gpu
Expand RLCG interface for new GC read & write commands.
New interface will only be used if the PF enables the flag in pf2vf msg.
v2: Added a description for the scratch registers
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 117 --
1
Driver needs to call get_xgmi_info() before ip_init
to determine whether it needs to handle a pending hive reset.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 6 --
drivers/gpu/drm/amd/amdgpu
Modify GC register access from MMIO to RLCG if the indirect
flag is set
Signed-off-by: Victor Skvortsov
---
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 27 +--
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
Modify GC register access from MMIO to RLCG if the
indirect flag is set
v2: Replaced ternary operator with if-else for better
readability
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 57 ---
1 file changed, 43 insertions(+), 14 deletions
Add helper macros to change register access
from direct to indirect.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/soc15_common.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15_common.h
b/drivers/gpu/drm/amd/amdgpu/soc15_common.h
xgmi_info call
to earlier in init.
Victor Skvortsov (5):
drm/amdgpu: Add *_SOC15_IP_NO_KIQ() macro definitions
drm/amdgpu: Modify indirect register access for gmc_v9_0 sriov
drm/amdgpu: Modify indirect register access for amdkfd_gfx_v9 sriov
drm/amdgpu: get xgmi info before ip_init
drm
times without re-initializing the work item.
v2: Cleaned up the code. Kept the original call to init_exchange_data()
inside early init to initialize the work item, afterwards call
exchange_data() when needed.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6
Expand RLCG interface for new GC read & write commands.
New interface will only be used if the PF enables the flag in pf2vf msg.
v2: Added a description for the scratch registers
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 117 --
1
In SRIOV, RLC function pointers must be initialized early as
we rely on the RLCG interface for all GC register access.
v2: Make aldebaran a seperate case
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 4
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
Add helper macros to change register access
from direct to indirect.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/soc15_common.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15_common.h
b/drivers/gpu/drm/amd/amdgpu/soc15_common.h
Modify GC register access from MMIO to RLCG if the
indirect flag is set
v2: Replaced ternary operator with if-else for better
readability
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 57 ---
1 file changed, 43 insertions(+), 14 deletions
Modify GC register access from MMIO to RLCG if the indirect
flag is set
Signed-off-by: Victor Skvortsov
---
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 27 +--
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
This patchset introduces an expanded sriov RLCG interface.
This interface will be used by Aldebaran in sriov mode
for indirect GC register access during full access.
v2: Added descriptions to scratch registers, and
improved code readability.
Victor Skvortsov (5):
drm/amdgpu: Add
In SRIOV, RLC function pointers must be initialized early as
we rely on the RLCG interface for all GC register access.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 2 ++
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 3 +--
drivers/gpu/drm/amd/amdgpu
Modify GC register access from MMIO to RLCG if the
indirect flag is set
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 45 +++
1 file changed, 32 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
b/drivers
Expand RLCG interface for new GC read & write commands.
New interface will only be used if the PF enables the flag in pf2vf msg.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 111 +++---
1 file changed, 83 insertions(+), 28 deletions(-)
Add helper macros to change register access
from direct to indirect.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/soc15_common.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/soc15_common.h
b/drivers/gpu/drm/amd/amdgpu/soc15_common.h
Modify GC register access from MMIO to RLCG if the indirect
flag is set
Signed-off-by: Victor Skvortsov
---
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 27 +--
1 file changed, 13 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
This patchset introduces an expanded sriov RLCG interface.
This interface will be used by Aldebaran in sriov mode for
indirect GC register access during full access.
Victor Skvortsov (5):
drm/amdgpu: Add *_SOC15_IP_NO_KIQ() macro definitions
drm/amdgpu: Modify indirect register access for
Host initiated VF FLR may fail if someone else
is already holding a read_lock. Change from
down_write_trylock to down_write to guarantee
the reset goes through.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 5 +++--
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c | 5
times without re-initializing the work item.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 20 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 42 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 5 +--
drivers/gpu/drm/amd/amdgpu
Add a pf-vf exchange right after GMC sw init in
order to reserve bad pages as early as possible
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd
37 matches
Mail list logo