/linux/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_debug.h | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | kfd_int_process_v10.c | 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | kfd_debug.c | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | kfd_int_process_v11.c | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | Makefile | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | kfd_int_process_v9.c | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | kfd_process_queue_manager.c | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | kfd_process.c | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | kfd_priv.h | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_amdkfd.h | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
H A D | amdgpu_amdkfd.c | diff 12fb1ad70d65edc3405884792d044fa79df7244f Fri Apr 22 18:26:18 CEST 2022 Jonathan Kim <jonathan.kim@amd.com> drm/amdkfd: update process interrupt handling for debug events
The debugger must be notified by any debugger subscribed exception that comes from hardware interrupts.
If a debugger session exits, any exceptions it subscribed to may still have interrupts in the interrupt ring buffer or KGD/KFD pipeline. To prevent a new session from inheriting stale interrupts, when a new queue is created, open an interrupt drain and allow the IH ring to drain from a timestamped checkpoint. Then inject a custom IV so that once the custom IV is picked up by the KFD, it's safe to close the drain and proceed with queue creation.
The drain must also be on debug disable as SW interrupts may still be processed. Drain at this time and clear all the exception status.
The debugger may also not be attached nor subscibed to certain exceptions so forward them directly to the runtime.
GFX10 also requires its own IV processing, hence the creation of kfd_int_process_v10.c. This is because the IV from SQ interrupts are packed into a new continguous format unlike GFX9. To make this clear, a separate interrupting handling code file was created.
Signed-off-by: Jonathan Kim <jonathan.kim@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|