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
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
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
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.
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: Koenig Christian
Suggested-by: Lazar Lijo
Tested-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 3 ++-
drivers/gpu/drm/amd/a
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
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.
v2: Made implementation generic for all asics
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ++
drivers
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
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
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
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
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
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
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
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
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
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
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(-)
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
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
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
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
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
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
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
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
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
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
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
The SRIOV PF/VF Data exchange is extended by 64KB for VF RAS Telemetry data.
Add Host RAS Telemetry enable capabilities bitfields.
Add a new VF msg REQ_RAS_ERROR_COUNT, the host response data will be populated
in the RAS Telemetry region.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd
If VF RAS Capability support is enabled, guest is able to
retrieve the real RAS support from the host.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 5 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 53
drivers/gpu/drm/amd/amdgpu
every 60 seconds, afterwhich
the host will ignore any more in-coming telemetry messages. The VF will
rate limit its msg calling to once every 5 seconds (12 times in 60 seconds).
While the VF is rate limited, it will continue to report the last
good cached data.
Signed-off-by: Victor Skvortsov
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 1 +
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c| 16 ++--
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.h| 2 ++
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 1 +
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.c| 16 ++--
drivers/gpu/drm/amd/amdgpu/mxgpu_nv.h| 2 ++
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu
date statistics order for VF
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +
drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c| 3 +
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c| 72 +--
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h| 1 +
drivers/gpu/drm
The SRIOV PF/VF Data exchange is extended by 64KB for VF RAS Telemetry data.
Add Host RAS Telemetry enable capabilities bitfields.
Add a new VF msg REQ_RAS_ERROR_COUNT, the host response data will be populated
in the RAS Telemetry region.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd
If VF RAS Capability support is enabled, guest is able to
retrieve the real RAS support from the host.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 5 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 53
drivers/gpu/drm/amd/amdgpu
VFs are not able to query error counts for all RAS blocks. Rather than
returning error for queries on these blocks, skip sysfs the creation
all together.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 3 +++
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 16
VFs cannot read the NAK_COUNTER register. This information is only
available through PMFW metrics.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 27 --
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/amd
VFs on some IP verions are unable to access this register directly.
This register must be programmed before PSP ring is setup,
so use PSP VF mailbox directly.
Signed-off-by: Victor Skvortsov
---
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 10
drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
48 matches
Mail list logo