Граф коммитов

826 Коммитов

Автор SHA1 Сообщение Дата
Kent Russell 66da1c9cd2 kfdtest.exclude: Add some more SP3-shader tests to GFX10 exclude
These are failing as well, due to the SP3 shader merge. Blacklist them
as well to avoid more segfaults

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I07e142a1aad9b2a5304230f333eeaf4392bea4b7
2021-04-05 13:50:15 -04:00
Roberto Di Remigio b6d613d284 Treat link flags as a string, rather than a list
Fixes linking failure with gold

Change-Id: Ie9d2a7f68e71a0a793b041d57b8078ead22a93c8
Signed-off-by: Roberto Di Remigio <roberto.diremigio@gmail.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2021-04-05 13:18:33 -04:00
Cole Nelson a9ce8683eb CMakeLists.txt: add ENABLE_LDCONFIG to support multi-version install
Depends-On: I58fdf1d0b4e864b5a61ffe8e335d430d424811ab
Change-Id: I8e3e873fde99eaec79651ce6c3581870e9c2112d
Signed-off-by: Cole Nelson <cole.nelson@amd.com>
2021-03-27 15:27:55 -07:00
Felix Kuehling d287c60246 libhsakmt: New SRAM EDC support bit
The old bit was deprecated, because old buggy user mode depends on it
being always 0. The correct value is now reported in a new bit. New user
mode handles the reported EDC setting correctly, so we can report the
correct value in a new bit.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Change-Id: Ib5d5ed2519810e650458c6b69c97670dab435ddb
2021-03-11 13:37:45 -05:00
Felix Kuehling 41cd7aea2f Revert "libhsakmt: add kfd_ioctl.h svm and xnack support"
This reverts commit 5ae49f2321.
SVM is not ready yet. This was merged by accident.

Change-Id: I8901594a72e785ba5d25a6448718a570e76fe117
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2021-03-10 22:33:49 -05:00
Felix Kuehling 5edd00136d Revert "libhsakmt: add API to support svm and xnack"
This reverts commit a352639df5.
SVM is not ready yet. This was merged by accident.

Change-Id: I1bee102823e7e612be8e8f2e0f50580e8692cc80
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2021-03-10 22:33:49 -05:00
Felix Kuehling 4ebda913cd Revert "libhsakmt: add SVM thunk implementation"
This reverts commit 75e8fe383f.
SVM is not ready yet. This was merged by accident.

Change-Id: I372f7d293fd38429ec570bc0e0add7e612871594
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2021-03-10 22:33:34 -05:00
Felix Kuehling a8f4c43fef Revert "libhsakmt: add XNACK API set/get mode"
This reverts commit 3f45f602d4.
SVM is not ready yet. This was merged by accident.

Change-Id: I7c0d835a0d3a448f2ac1094f818601e5d6363045
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2021-03-10 20:34:43 -05:00
Harish Kasiviswanathan 0f16e6f35f kfdtest: Fix gfx1032 blacklist
BLACKLIST_ALL_ASICS has to the first in the list otherwise "-" negative
flag won't be inserted

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I9ee150d7f793809641b16012929c4e157595d37f
2021-03-08 21:12:55 -05:00
Harish Kasiviswanathan 95d58346c5 kfdtest: Temporarily disable shader tests on gfx10
Temporarily disable shader related tests until SP3 compiler is fixed

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I0468d82f845d1d69841ad8fdbd037761b8d4d9af
2021-03-05 19:52:53 -05:00
Kent Russell 83d80074f7 Merge gfx90a into amd-staging
Conflicts:
	CMakeLists.txt
	include/hsakmt.h
	src/libhsakmt.h
	src/libhsakmt.ver
	src/queues.c
	src/topology.c
	tests/kfdtest/src/KFDMemoryTest.cpp
	tests/kfdtest/src/KFDTestUtil.hpp

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: Ic2732e7c0b5e42c1a3a91223f65a65064b602181
2021-03-02 07:48:22 -05:00
Harish Kasiviswanathan e35778ed4d kfdtest: Temporarily blacklist KFDMemoryTest.PtraceAccess
Possibly because of moving to gart table for vram access from Kernel.
This test failure shouldn't be a blocker. Temporarily blacklist till a
solution is found.

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I99725f368aced863188e30f619288ad4d033b9a6
2021-02-26 13:00:09 -05:00
Oak Zeng ae0e74095e Allocate coherent uncached memory when HSA_DISABLE_CACHE is set
Set the KFD_IOC_ALLOC_MEM_FLAGS_COHERENT flag  and
KFD_IOC_ALLOC_MEM_FLAGS_UNCACHED flag to allocate
uncached coherent memory when HSA_DISABLE_CACHE
environment variable is set. At KFD driver,
Single KFD_IOC_ALLOC_MEM_FLAGS_UNCACHED flag is
not sufficient to allocate uncached memory. We
have to use both two flags to allocate uncached
memory.

Change-Id: Ie490f37b2e696314e60048f5b1b57442431696e9
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2021-02-26 13:00:01 -05:00
Chengming Gui c21466d735 libhsakmt: add DID for gfx1031
Signed-off-by: Chengming Gui <Jack.Gui@amd.com>
Change-Id: I1b890dda0ef9ee53c3950c17c106197167f210b9
2021-02-26 17:40:13 +08:00
Eric Huang 9aa521d1ff KFDTest: add cache coherence tests for gfx90a
Three kfd subtests are added to verify new XGMI connection with
cache coherence HW link on A+A.

Signed-off-by: Eric Huang <JinhuiEric.Huang@amd.com>
Change-Id: I6960ec91cbfb696c4e6acb3b79fd83107003acdd
2021-02-23 12:22:32 -05:00
Harish Kasiviswanathan 085005f07b kfdtest: Add gfx9_PollNCMemory function to support NC memory
In A+A all system memory is mapped as NC. So add a new function
gfx9_PollNCMemory which will support NC memory.

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I097b95fb156f73d6f480cd4fd262cc6fa5933f69
2021-02-23 12:20:29 -05:00
Eric Huang f7759df6e0 kfdtest: fix KFDQMTest.Atomics test failure on A+A
destBuf is mapped as cached, the intruction flat_atomic_add
operates on cache that cause test failed. Adding scc modifier
in the instruction will fix the issue.

Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I8e138f93ae4f5e23020e3ac1549ef924968a74c5
2021-02-23 12:20:29 -05:00
Eric Huang 3a378fcf0b kdftest: remove some kfdtests filtered for gfx90a
The three kfdtests have been fixed, so remove them from
filter list.

Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I101a72476970a9d105e8c0b5c022847757fdd316
2021-02-23 12:20:29 -05:00
Oak Zeng f132fb2cd0 Make GPU mapping of memory as uncached if HSA_DISABLE_CACHE is set
Before gfx90a, coherent memory is uncached. So it was reasonable
when environment variable HSA_DISABLE_CACHE is set, memory is mapped
as coherent. On gfx90a, coherent memory can be cached, so mapping
memory as coherent can't guarantee memory is uncached. When
HSA_DISABLE_CACHE is set, we have to map memory as uncached.

Change-Id: Ia5ed4cf0ad6aef5644dc8c9e6632b52d606f06f4
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2021-02-23 12:20:29 -05:00
Harish Kasiviswanathan 57f46b53ec kfdtest: A+A: CP writes to NC mem need flush
Refer to commit "Mark buffers accessed by CP as UC"

A+A buffers are mapped as NC. CP (PM4Writes) need ReleaseMem function to
ensure the write go through to the memory

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I4ee55a6e40fba078f5950d95c8fee7ee076260bf
2021-02-23 12:20:29 -05:00
Harish Kasiviswanathan 0e8500b886 kfdtest: A+A: Mark queue address as UC
Refer to commit: " Mark buffers accessed by CP as UC"

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I1816e035dbb3178f28f5e34b050c20ecca282060
2021-02-23 12:20:29 -05:00
Harish Kasiviswanathan 44adc3dafd kfdtest: Add Uncached flag to HsaMemoryBuffer constructor
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I14b0a73ffb04f4798547fe7003de1440736b413d
2021-02-23 12:20:29 -05:00
Harish Kasiviswanathan 10674916e4 libhsakmt: Explicitly mark AQL buffers as UC
This change might be redundant if ROCr takes care of it

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I7b67143a8ad21baa61b7eda7b8e5fe0ac1e33830
2021-02-23 12:20:29 -05:00
Harish Kasiviswanathan 7c05c5240f libhsakmt: A+A: Mark buffers accessed by CP as UC
This change is for the A+A bring-up branch as it needs to made more
generic to handle all ASICs.

For A+A all the system buffers are mapped as NC (non coherent) unless
explicitly marked as UC (uncached). The coherency is then expected to be
handled by shader by explicitly using acquire/release instructions.

However, CP doesn't have same feature. The buffers used by CP thus have
to UC. For now queue buffer and Signal handler memory is marked as UC.

This change shouldn't affect other ASICs since Uncached flag is not used
in those. However, this change still need to be made more generic.

Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Change-Id: I56c37a809913f7f08c94d01b0572d0f4864939aa
2021-02-23 12:20:29 -05:00
Laurent Morichetti 4cf11c3a7e libhsakmt: Fix the ctrl stack size calculation
On gfx9, the maximum number of wavefronts per queue is the minimum of
40 waves per compute units, or 512 waves per shader engine.  On gfx10,
there can only be 32 waves per compute units.

Signed-off-by: Laurent Morichetti <laurent.morichetti@amd.com>
Change-Id: I148d1a4fe6c07cdbfaa1f77939eb29311c81c008
2021-02-23 12:20:29 -05:00
Laurent Morichetti a83f9b67ce Update the context save area size
Reserve some space in the context save area for the debugger's
use. There should be 32 bytes per wave for a given queue.

Change-Id: I65ddb6123d0f6afd3149844617ad19023009101d
2021-02-23 12:20:29 -05:00
Amber Lin e342c9c890 kfdtest: Temporarily blacklist some tests
Temporarily blacklist some tests on gfx90a until they are solved.

Signed-off-by: Amber Lin <Amber.Lin@amd.com>
Change-Id: I87cc3a996ea7d55ed8f20f5b4eecfd8bb691effd
2021-02-23 12:20:29 -05:00
Oak Zeng 1f05b54dc9 Delete device stepping check
On every new asic with new stepping, we need to manually relax this
checking. This check is not very helpful. Delete it.

Change-Id: I11f813023ca2566d82f6d11121d4be38c296674b
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2021-02-23 12:20:29 -05:00
Eric Huang ec7ba38b23 kfdtest: blacklist KFDMemoryTest.DeviceHdpFlush on gfx90a
Due to cache coherence change, the remote vram mapping is changed
to cached, the written value by remote shader will not be read by
local shader. So the test will fail.

Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I2b64e8a30bed0066e159bad9bb7febae5ebe84aa
2021-02-23 12:20:29 -05:00
Oak Zeng 50debca7e9 Support gfx90a real asic device id
Change-Id: Ib223b4e890899c3c4e468993a88f849bccc5d182
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2021-02-23 12:20:29 -05:00
Alex Sierra 3f45f602d4 libhsakmt: add XNACK API set/get mode
XNACK API for GPUs that support this mode. This API
makes calls to amdgpu driver to configure xnack mode.
It supports set xnack mode and query the current mode used.

Change-Id: If865fd0e3f900f008243dc49504e1a0694e1791a
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
2021-02-23 12:20:29 -05:00
Alex Sierra 75e8fe383f libhsakmt: add SVM thunk implementation
Implement SVM (Shared Virtual Memory) in the thunk.

Change-Id: I0380150d1d3da48070f9389a06f416d6059d6948
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Signed-off-by: Sean Keely <Sean.Keely@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
2021-02-23 12:20:29 -05:00
Alex Sierra a352639df5 libhsakmt: add API to support svm and xnack
Add function definitions to support SVM (shared virtual memory)
and xnack set.

Change-Id: Ia97ad9d0c449d8d500d799f702e1a58e87d65a56
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2021-02-23 12:20:29 -05:00
Philip Yang 5ae49f2321 libhsakmt: add kfd_ioctl.h svm and xnack support
Add svm (shared virtual memory) range and xnack mode
APIs.

Change-Id: Ibd8d7fe566dc200730da0c892caa71aad7589ebd
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Signed-off-by: Alex Sierra <alex.sierra@amd.com>
2021-02-23 12:20:29 -05:00
Kent Russell 731a06c704 Fix GCC warning regarding strncpy in CPU info
strlen(src) should not be used as the length in strncpy. Use memcpy
since we know the length of the string, and ensure that we
NULL-terminate regardless of length

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I21cc6d106510c69464e7ac9d3fc7da3a1e6d1a68
2021-02-23 12:20:29 -05:00
Eric Huang 18ead8815c KFDTest: fix an exception bug in P2PTest
The largebar check will exit exceptionally from test
when destination node is not set.

Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I8bf0fed613250cc71468208e645fc562fb1a8757
2021-02-23 12:20:29 -05:00
Eric Huang 4b3b941bb3 libhsakmt: add device id(0x46) for gfx90a mGPU model in topology
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I43f7c12906c408576e1eb55871d51e7a30569ede
2021-02-23 12:20:29 -05:00
Eric Huang 198b5bd450 kfdtest: add function to determine XGMI link to cpu
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Change-Id: I7650f7857f0eecd2ad587634ae11c1cf5116bd97
2021-02-23 12:20:29 -05:00
Jonathan Kim f398d6d204 libhsakmt: add host trap send
Adding host trap send command.

Signed-off-by: Jonathan Kim <Jonathan.Kim@amd.com>
Change-Id: I291c13f5905e00bc6685a980284a6abd0c98da78
2021-02-23 12:20:29 -05:00
Oak Zeng 97ae33f9de Add gfx90a Gopher LSE DID (0x54)
Change-Id: Ic0a1e3d01373e0d6ba58e42188dced394423de82
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2021-02-23 12:20:29 -05:00
Mukul Joshi da3abfb0f8 Update build script for SP3 static library
Update build script and CMakeLists_sp3.txt file as SP3 directory
structure has changed.
The SP3 source code with gfx90a suport is merged into a
new branch mukjoshi/sp3_gfx90a.
Please make sure to checkout this branch before using the
build script to generate the static library.

Change-Id: I2bf0ade8b2d254cd7648cc8a6d69a83ee51344cd
2021-02-23 12:20:29 -05:00
Amber Lin 8c6dd3cbae libhsakmt: Add device ID used in Simnow
Simnow simulator uses 0x7400 as gfx90a's device ID

Signed-off-by: Amber Lin <Amber.Lin@amd.com>
Change-Id: I0022509ef643760bc906e537b4fc64f1523fd8bf
2021-02-23 12:20:29 -05:00
Mukul Joshi c861873dae Add SP3 assembler support for gfx90a.
Add updated SP3 static library with support for gfx90a and
also add initial corresponding changes in kfdtest.

Change-Id: I71bc6404ace7f9bf0dd74e712287136aa2b8a03d
2021-02-23 12:20:29 -05:00
Yong Zhao 690a148427 kfdtest: Add a simple test case to test local memory
Given the chance of local memory breakage is so high on emulators, we
should use this simple test to check the local memory function.

Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
Change-Id: Ifc48c12e11d75cc777ed7ea13e03bf54c2458e12
2021-02-23 12:20:29 -05:00
Yong Zhao 33c34506fa kfdtest: Fix a path error in CMakeLists.txt
PKG_CONFIG_PATH environment variable should be set to
<rocm_path>/lib/pkgconfig, because the *.pc file is located there.

Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
Change-Id: Iec503b1c2409987e52fd88fea160c70762686a28
2021-02-23 12:20:29 -05:00
Yong Zhao 87f62056f1 kfdtest: Move the package definitions to the beginning in CMakeLists.txt
This ensures that similiar logic stays together.

Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
Change-Id: I32695d7d6a7366bcbf4169e22119d768d111c633
2021-02-23 12:20:29 -05:00
Eric Huang 2464bfc714 libhsakmt: add new flag for memory mapped as uncached
It is to provide an option to map specific memory as
uncached on A+A HW platform.

Signed-off-by: Eric Huang <JinhuiEric.Huang@amd.com>
Change-Id: Ib665cb306a0e78aba3ea5ee2f0e46cb62ae139f8
2021-02-23 12:20:29 -05:00
Yong Zhao 8881075ab2 kfdtest: Improve the message when CWSR basic test does not pass
This will give out more info.

Change-Id: I407422b84bebdf39a886c57736093a035ff02118
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2021-02-23 12:20:29 -05:00
Yong Zhao 51b6bcf40d kfdtest: Support gfx90a
Change-Id: I879ea534729e7adca4892be897dc86f6153aa190
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2021-02-23 12:20:29 -05:00
Yong Zhao be09658247 Program mmCOMPUTE_PGM_RSRC3 on gfx90a
Change-Id: If387d137ebd388f5aea930a5f7bca3413dcbfcce
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2021-02-23 12:19:42 -05:00