Flora Cui
954807feff
wsl/hsakmt: rename vendor_packet_support
...
to vendor_packet_process.
:1 process vender specific packet (acquire_mem, handle signal, update
rptr)
:0 skip vender specific packet (handle signal by cpu, update rptr by
gpu)
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/35 >
2025-11-05 18:53:35 +08:00
lyndonli
5c13bc7509
wsl/hsakmt: Modify num_subdirs parameter to resolve the warning
...
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/32 >
2025-11-05 18:53:35 +08:00
lyndonli
c898104228
wsl/hsakmt: Introduce WSL_CHECK_AVAIL_SYSRAM environment variable
...
By default, this variable is 0. Set it to 1 to compare available
system memory with the requested amount before allocation. It helps
identify system hangs caused by excessive memory allocation.
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/32 >
2025-11-05 18:53:35 +08:00
Flora Cui
7a67eb90e2
wsl/hsakmt: add lock for sdma packet processing
...
Suggested-by: Shane Xiao <shane.xiao@amd.com >
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Shane Xiao <shane.xiao@amd.com >
Reviewed-by: Shi.Leslie <Yuliang.Shi@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/31 >
2025-11-05 18:53:35 +08:00
Flora Cui
55fc454b9d
wsl/hsakmt: move amd_queue_rocr_ above aql_to_pm4_thread_
...
to avoid segfault
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/28 >
2025-11-05 18:53:35 +08:00
Longlong Yao
a2b449a370
wsl/hsakmt: refine the header guard
...
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/26 >
2025-11-05 18:53:35 +08:00
Longlong Yao
84bfbf8e52
wsl/hsakmt: skip vender specific packet by default
...
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: lyndonli <Lyndon.Li@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/25 >
2025-11-05 18:53:35 +08:00
Horatio Zhang
9587e8b33d
wsl/hsakmt: Remove redundant variable for AqlToPm4Thread
...
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: lyndonli <Lyndon.Li@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/24 >
2025-11-05 18:53:35 +08:00
Horatio Zhang
ea04f9f62f
wsl/hsakmt: Remove unused flag file in libhsakmt
...
Clean up unused flag* file in libhsakmt, because we reuse the flag
from the ROCr layer and pass the support list upwards using
HsaVersionCapability.
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/23 >
2025-11-05 18:53:35 +08:00
Shane Xiao
8c7d5a01f9
wsl/hsakmt: Add no pcie atomic support for dispatch packet
...
This patch adds no pcie atomic support. This patch uses cpu to update
cmd queue completion signal to resolve potential contention issue,
and replaces ATOMIC_MEM with WRITE_DATA packet to update ring_index.
Signed-off-by: Shane Xiao <shane.xiao@amd.com >
Reviewed-by: Aaron Liu <aaron.liu@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/22 >
2025-11-05 18:53:35 +08:00
Shane Xiao
23243ba966
wsl/hsakmt: Add pm4 WRITE_DATA packet
...
This patch adds WRITE_DATA packet, which will be used
in no PCIe atomic platform.
Signed-off-by: Shane Xiao <shane.xiao@amd.com >
Reviewed-by: Aaron Liu <aaron.liu@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/22 >
2025-11-05 18:53:35 +08:00
lyndonli
c06c3fd82b
wsl/hsakmt: Fix boundary condition in VaMgr::Alloc
...
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed by: Shi.Leslie <Yuliang.Shi@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/19 >
2025-11-05 18:53:35 +08:00
lyndonli
4c11077c58
wsl/hsakmt: Replace asserts with warnings in VaMgr destructor
...
When NDEBUG is defined, assertions become ineffective.
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed by: Shi.Leslie <Yuliang.Shi@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/19 >
2025-11-05 18:53:35 +08:00
Shi.Leslie
3161be1619
wsl/hsakmt: Add ring ptr check before lock
...
This patch also move the invalid packet check outside the critical section.
Signed-off-by: Shi.Leslie <Yuliang.Shi@amd.com >
Reviewed-by: Shane Xiao <shane.xiao@amd.com >
2025-11-05 18:53:35 +08:00
tiancyin
efd0158724
wsl/hsakmt: use GpuMemory object address as va in physical memory handle case
...
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:35 +08:00
Longlong Yao
6f331de20d
wsl/hsakmt: drop doorbell signal
...
For wsl, doorbell ring needs to call hsaKmtQueueRingDoorbell
instead of atomic store in hsa runtime. It does not care about
the doorbell signal value. So just return a pointer that points
a memory allocation of 8 bytes.
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: lyndonli <Lyndon.Li@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/14 >
2025-11-05 18:53:35 +08:00
Aaron Liu
9c59764f97
wsl/hsakmt: fix support ASICs for WSL
...
Signed-off-by: Aaron Liu <aaron.liu@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/9 >
2025-11-05 18:53:35 +08:00
lyndonli
56f4bb18f5
wsl/hsakmt: Fix memory leak in WDDMDevice::CreateGpuMemory
...
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/4 >
2025-11-05 18:53:35 +08:00
lyndonli
186b0843ca
wsl/hsakmt: Set PRIV for gfx11
...
To fix the hang issue when enabling CWSR on gfx11.
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/4 >
2025-11-05 18:53:35 +08:00
Horatio Zhang
e8235d4a50
wsl/rocr: Add rocr4wsl project version
...
Users can obtain rocr4wsl version information through the following methods:
strings /opt/rocm/lib/libhsa-runtime64.so | grep ROCR4WSL
strings /opt/rocm/lib/libhsakmt.a | grep ROCR4WSL
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: tiancyin <tianci.yin@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/1 >
2025-11-05 18:53:35 +08:00
Flora Cui
8663eeaa34
wsl: drop libdrm dependency
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Shi.Leslie <Yuliang.Shi@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/2 >
wsl/libhsakmt: move drm headers to dedicated directory
to maintain a clean and organized codebase.
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/3 >
2025-11-05 18:53:35 +08:00
Chengjun Yao
09e1dba40b
wsl/hsakmt: Add hsaKmtModelEnabled()
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/78 >
2025-11-05 18:53:35 +08:00
Chengjun Yao
a80ed93484
wsl/libhsakmt: Implement amdgpu_device_initialize and amdgpu_device_deinitialize
...
Signed-off-by: Chengjun Yao <Chengjun.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/78 >
2025-11-05 18:53:35 +08:00
Flora Cui
4d4b203412
wsl/hsakmt: adapt optimized sdma poll command
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/rocr-runtime/-/merge_requests/31 >
2025-11-05 18:53:35 +08:00
Flora Cui
17dc4c1239
wsl/hsakmt/sdma: nop poll command
...
since the polling has been concluded
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Shane Xiao <shane.xiao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/34 >
2025-11-05 18:53:35 +08:00
Flora Cui
49524f5f7a
wsl/hsakmt: add OverrideEngineId property
...
partial cherry pick 671c6d8(1106575: libhsakmt: add OverrideEngineId
property | https://gerrit-git.amd.com/c/hsa/ec/rocr-runtime/+/1106575 )
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:35 +08:00
Flora Cui
a526a3fadb
wsl/hsakmt: implement hsaKmtCreateQueueExt
...
ref to 1105472: libhsakmt: Extend thunk queue creation with recommended
sdma engines |
https://gerrit-git.amd.com/c/hsa/ec/rocr-runtime/+/1105472
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:35 +08:00
Flora Cui
3f66ce03f8
wsl/hsakmt: implement hsaKmtRegisterGraphicsHandleToNodesExt
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:35 +08:00
Flora Cui
fa22e6a530
wsl/hsakmt: drop dlsym for hsa symbols
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:35 +08:00
tiancyin
b5fb17fd66
wsl/hsakmt: implement drm interfaces for dropping libdrm*
...
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:35 +08:00
Horatio Zhang
c7b5ff64e3
wsl/hsakmt: Remove fn_amdgpu_device_get_fd in openclose.cpp
...
There are already relevant implementations in this patch
dcf0fa2 ("wsl/thunk: implement drm interfaces for dropping libdrm*")
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/37 >
2025-11-05 18:53:35 +08:00
Longlong Yao
f402bf55eb
wsl/hsakmt: add VendorPacket to VersionCapInfo
...
Provide the query for hsa-runtime to decide whether dispatch
vendor packet to wsl-thunk
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/30 >
2025-11-05 18:53:35 +08:00
Flora Cui
7bf51b889f
wsl/hsakmt: enable sdma
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Shane Xiao <shane.xiao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/17 >
2025-11-05 18:53:35 +08:00
Flora Cui
ab8771ccae
wsl/hsakmt: add sdma queue implementation
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Shane Xiao <shane.xiao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/17 >
2025-11-05 18:53:35 +08:00
Flora Cui
e06e9b1d57
wsl/hsakmt: add more flag to control sdma
...
Signed-off-by: Flora Cui <flora.cui@amd.com >
Reviewed-by: Shane Xiao <shane.xiao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/17 >
2025-11-05 18:53:35 +08:00
tiancyin
4ecb939111
wsl/hsakmt: remove Vmem and dmabuf from VersionCapability
...
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:35 +08:00
Longlong Yao
48395b2295
wsl/hsakmt: rename rocr_proxy to thunk_proxy
...
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/26 >
2025-11-05 18:53:35 +08:00
Longlong Yao
c6fe6807e8
wsl/hsakmt: Set uncached for kernel arg region
...
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/5 >
2025-11-05 18:53:35 +08:00
lyndonli
bc9b11d754
wsl/hsakmt: Remove pre-allocation free memory check
...
This change removes the check for sufficient free memory before allocation.
The previous check could cause performance degradation. Reserving a portion
of system memory helps prevent system hangs due to insufficient memory.
However, if free memory is still insufficient, memory allocation may still
lead to system hangs.
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/10 >
2025-11-05 18:53:35 +08:00
tiancyin
90759bc89a
wsl/hsakmt: implement vmm
...
Reviewed-by: Shi.Leslie <Yuliang.Shi@amd.com >
Reviewed-by: Aaron Liu <aaron.liu@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:35 +08:00
tiancyin
d00c4446e9
wsl/hsakmt: just reserve SVM virtual memory for scratch pool
...
the allocation from InitScratchPool() does not really need VRAM
Reviewed-by: Flora Cui <flora.cui@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
2025-11-05 18:53:35 +08:00
lyndonli
b4b0b54c79
wsl/hsakmt: Add clear_allocation_map
...
If fork() is called, clear allocation map
that is invalid in the child process.
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Reviewed-by: Shi.Leslie Yuliang.Shi@amd.com
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/3 >
2025-11-05 18:53:35 +08:00
Longlong Yao
ccb3950068
wsl/hsakmt: clean up namespace
...
Signed-off-by: Longlong Yao <Longlong.Yao@amd.com >
Reviewed-by: lyndonli <Lyndon.Li@amd.com >
Reviewed-by: Flora Cui <flora.cui@amd.com >
Part-of: <http://10.67.69.192/wsl/libhsakmt/-/merge_requests/7 >
2025-11-05 18:53:35 +08:00
Flora Cui
79a63cf292
wsl/hsakmt: initial commit
...
Signed-off-by: lyndonli <Lyndon.Li@amd.com >
Signed-off-by: Horatio Zhang <Hongkun.Zhang@amd.com >
Signed-off-by: Shi.Leslie <Yuliang.Shi@amd.com >
Signed-off-by: LonglongYao <Longlong.Yao@amd.com >
Signed-off-by: tiancyin <tianci.yin@amd.com >
Signed-off-by: Frank Min <Frank.Min@amd.com >
Signed-off-by: Aaron Liu <aaron.liu@amd.com >
Signed-off-by: Shane Xiao <shane.xiao@amd.com >
Signed-off-by: Lang Yu <lang.yu@amd.com >
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com >
Signed-off-by: Ruili Ji <ruiliji2@amd.com >
Signed-off-by: Qiang Yu <qiang.yu@amd.com >
Signed-off-by: Flora Cui <flora.cui@amd.com >
2025-11-05 18:53:15 +08:00