Commit Graph

8920 Commits

Author SHA1 Message Date
Joseph Greathouse 5ddd8fb68b Pull out ASIC revision from HSA capability
KFD now passes the ASIC revision to user level through some bits
in the HSA topology's capability field. Some user-level software
wants this because different ASIC revisions may require user-level
software to do different things (e.g. patch code for things that
are changed in later hardware revisions).

Change-Id: I16f2a15ae0875edd01ebdb1f1685ec7865f7049e
2020-05-22 10:39:13 -05:00
Philip.Cox@amd.com 0a55f31463 Initial kfd debugger address watch support
Code for new kfd debugger address watch code.
           -- Adding support for:
              -- add address watch
              -- clear address watch

Change-Id: I9b014e7cee03897157b997b9e5b39b6ed403b8e1
Signed-off-by: Philip.Cox@amd.com <Philip.Cox@amd.com>
2020-05-21 13:41:55 -04:00
Evgeny da4b244887 renaming PCSAMPLE API as RESERVED1
Change-Id: I0f95e4be5b359dc36fc3542bf0e321094db78a79
2020-05-21 11:51:17 -05:00
Chris Freehill bdf22c1c9e Update README doc. build instructions
* Also, remove dependency of manual pdf on the README
file; they are independent of each other.

Change-Id: I1ab8c8c9adf6b78e5b4aab86ecdf4c46f3a6bf63
2020-05-21 09:10:08 -04:00
Evgeny 7c5cfafa30 fising mytest environment
Change-Id: Ic48c95e711758c3e448c317bc78c1bceeb22362c
2020-05-20 00:44:58 -05:00
Laurent Morichetti 584ef1e1ca Clear mode.debug_en if !status.halt
The 1st level trap handler jumps to the 2nd level trap handler on
context save requests or regular traps if (mode.debug_en
&& !status.halt) is true.

If we return from the 2nd level trap handler without status.halt=1, then
we need to make sure mode.debug_en is cleared, or we will re-enter the
2nd level trap handler again and again when trapsts.savectx is set.

Change-Id: I4db6369de8c91a32842f488a4df5c9d94fa65aa9
2020-05-19 18:31:29 -07:00
Evgeny c956bb9c6b fix hsa_path
Change-Id: I07c6a504ec1892f314fcbb207656baaf0e356864
2020-05-19 17:20:25 -05:00
Chris Freehill 754a993d32 Return an error instead of assert when reading bad data
Assert doesn't help with release builds.

Change-Id: Ib076791fd442e96c7544914cdf08774fc7a40a94
2020-05-19 15:58:40 -04:00
Rachida Kebichi 8cece61689 Added check trace with config.
Change-Id: I1c71793c4c6f512288e92f70105f428c3f8671c4
2020-05-19 09:47:19 -05:00
Chris Freehill 8ced9c986a Add RSMI ref manual to packages
Also,
* remove extraneous test files
* fix Doxygen docs. issues
* fix whitespace issues

Change-Id: I9b58b0d68bd125a34f4fe0dc84d609c7b0b6e30e
2020-05-18 23:40:38 -04:00
Evgeny 173c83c6d4 fixing rocm root
Change-Id: I79ff754775565d4500254e4566b8c994c237ba34
2020-05-18 22:35:30 -05:00
Evgeny Shcherbakov f1650a001b Merge "cleanup" into amd-master 2020-05-18 20:45:28 -04:00
Evgeny 074306d997 SWDEV-236864 : packaging of generated headers
Change-Id: Ifda69eecf3697f6b69c978b3c4c2ffe9835edeb8
2020-05-18 18:08:06 -05:00
Evgeny 47c223b757 cleanup
Change-Id: Ie5b98784605cb6a8efe09ca97a443fd9847a9976
2020-05-18 17:40:15 -05:00
Mike Li c7d349183a Add functions that are used to query Hardware topology.
Change-Id: I0f4cd02b237bde4d6dccfb0e83e65376ecb1cfaa
Signed-off-by: Mike Li <Tianxinmike.Li@amd.com>
2020-05-18 12:37:27 -04:00
Sean Keely ddebda6433 Add USER GCR packet
Allows cache flush from SDMA.

Change-Id: Iecae0b49519b2d4da7b1c053b03f721544439e71
2020-05-16 00:59:03 -04:00
Sean Keely 2ffc9ecbb3 Remove gfx1030 references.
Options seem to be gfx1030 and gfx1030.

Change-Id: I3e33e3a950d1b950e10163612b892d9c382628fa
2020-05-15 16:53:11 -05:00
Chris Freehill f8d623cb44 Fix README example error
Change-Id: Ib0124642cea34dcbfae0ea3bbe8ffaf09116bede
2020-05-15 12:09:05 -04:00
Chris Freehill 02e4a9c14f Don't use static variable for monitors
Change-Id: I24b5ccfa94b2d722b070a6c6385af9201d21d9c5
2020-05-15 08:05:06 -04:00
Felix Kuehling df16950a0c libhsakmt: use _Static_assert instead of static_assert
Using static_assert breaks in "Many Linux" build environment. It is not
supported by that libc version. _Static_assert is a compiler built-in
and does not depend on the libc version.

Change-Id: I37cf0ad10de94d8f6fc8cefc4fdda55c9520d599
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2020-05-15 01:34:10 -04:00
Chris Freehill 27148a02cb Catch and handle regex exception
When pattern matching file names to determine API support, in
some environments std::regex will throw. This change is meant
to handle this more gracefully.

Change-Id: If1ccfe5bdd71ec4d08663c80692024488072e11b
2020-05-14 15:39:40 -04:00
Chris Freehill b7ff71c001 Require gcc version 5.4.0 or greater
To avoid build and runtime issues, we should set a minimum
compiler version. std::regex, used by rocm_smi_lib, requires
4.9.0 or greater. However, the development and test
environments are (mainly) 5.4.0.

Change-Id: Ie18e9f905786ec8eb50d61a326cb45173a0ec355
2020-05-14 15:15:56 -04:00
Sean Keely 012ffed459 Correct HSA_AMD_AGENT_INFO_MAX_ADDRESS_WATCH_POINTS text.
Missing attribute type.  Also remove dangling word in
HSA_AMD_AGENT_INFO_MEMORY_WIDTH.

No code change, documentation only.

Change-Id: I1d0efdb721eaa0e2fb0bdb21f8d5e034beaf8857
2020-05-13 22:40:25 -05:00
Evgeny ad1abf7d20 HIP-ROCCLR build porting
Change-Id: Ia5bfd2218134518a451c79eae2c6858c481558b0
2020-05-13 16:17:04 -05:00
Chris Freehill 44f14f4a86 Merge "Add ref counting for rsmi init and shutdown" into amd-master 2020-05-13 09:24:32 -04:00
Evgeny 98dbca9058 hip apr stream porting to hip vdi; hip_api_string off by default
Change-Id: I2a9b55b8bdc372743b175797c0d4827fe8931033
2020-05-13 06:06:17 -05:00
Ranieri Althoff aa185380f9 Avoid calculating strlen multiple times
Change-Id: Iec66c7d35e5d6cd2deb02c94ee070d0fa1335147
Signed-off-by: Ranieri Althoff <ranisalt@gmail.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
2020-05-13 00:38:26 -04:00
Evgeny Shcherbakov 48c8076e9c Merge "clang10 proting" into amd-master 2020-05-12 22:57:32 -04:00
Evgeny 04aea8c3df clang10 proting
Change-Id: I071833f9d1f46df105f7ef1749c5d17d989bbb05
2020-05-12 18:26:47 -05:00
Evgeny Shcherbakov c62eeac6c1 Merge "increasing API version" into amd-master 2020-05-12 16:14:50 -04:00
Amber Lin a37a88ddcb libhsakmt: Sync up the ioctl number
Update the non-upstream ioctl numbers to align with the change in the
kernel.

Signed-off-by: Amber Lin <Amber.Lin@amd.com>
Change-Id: Ie0ddccb343a023b55eb18477c59341acaa666e99
2020-05-12 15:06:07 -04:00
Evgeny eebde5e82e increasing API version
Change-Id: I30c1b5b22d0bef8cf57e9703261e397f3d2fa77a
2020-05-12 12:45:18 -04:00
Evgeny ab883f6184 increasing API version
Change-Id: I20ff2da4ef5c373d4e9b212b84bffaa7d25b0628
2020-05-12 10:30:18 -05:00
Laurent Morichetti 838c6bd6ad Set ttmp11[8] for all memory violation errors
In the case where SQ_WAVE_TRAPSTS_XNACK_ERROR_MASK is set, we also need
to set the TTMP11_EXCP_RAISED_BIT in ttmp11. If we don't, the debugger
may think that the wave is halted at launch (halted without events).

Change-Id: I8c19605bbfc145275728de4ad1979d3ba8bb478a
2020-05-12 00:44:06 -04:00
Sean Keely c60364e1e0 Allow linear swizzle mode with tiled image requests.
Mesa address lib faults if the only acceptable swizzle modes are
forbidden.  The old address lib simply ignored the forbidden list
in this case.  Mesa addrlib will not select linear unless there
is no other option so allowing linear mode for tiled images will
still use tiled modes when possible.

Change-Id: I1aa44d072db902c968484dbff67b482af03b45d9
2020-05-11 23:34:44 -04:00
Pruthvi Madugundu 2143bc30a1 Merge "Adding lib symlink to top level rocm lib directory" into amd-master 2020-05-11 21:25:32 -04:00
Ori Messinger 46f5e83066 Create KFDTest for SDMA Fault
The purpose of this KFDTest is to investigate the behaviour of an
SDMA queue when an invalid memory address is used.

v2: Don't wait for SDMA queue to finish - it won't finish because of
the gpuvm fault.

v3: Create kfd event before SDMA queue submission. This fix the issue
that gpuvm fault happens earlier than kfd event is created then KFD
exception handler can't find the kfd event (to wake up kfd test)

v4: Instead of using 0x12345678 as the invalid VA, map one page of
FB to gpu and unmap it. Use the mapped GPUVA as the
invalid address

Change-Id: I58af1511f75d869adddede302b238c2725f3fe5a
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2020-05-11 18:52:35 -04:00
Sean Keely 9c9064c2b7 Correct async_mem_copy sample.
Peer accessibility query was not previously directed at the peer agent.

Change-Id: I259f0afac827a6e4778a56419a3acd296d00391b
2020-05-11 18:39:39 -04:00
Pruthvi Madugundu 2f3535f2eb Adding lib symlink to top level rocm lib directory
Signed-off-by: Pruthvi Madugundu <pruthvi.madugundu@amd.com>
Change-Id: Id00e501de7c3cbc814d18493b97449a5fcb96fd6
2020-05-11 15:35:12 -07:00
Chris Freehill 8e03d10035 Add ref counting for rsmi init and shutdown
Also, clean lint from kfd_ioctl.h file.

Change-Id: I5a2ae127ab6ab6676a1b075ed10858d0ebfe13c1
2020-05-11 15:57:42 -05:00
Kent Russell dc784ba482 Fix HostAccess flags for XGMI configs in P2PTest
We need HostAccess for large-bar XGMI configs for this test,
but we can't use it on small-bar XGMI configs, so deal with it
appropriately

Change-Id: Ic16b810de03adfc63de21a00c55e5f3ea1ce66d1
2020-05-11 11:12:33 -04:00
Sean Keely 2fbacccaed Correct handling of failed lazy_ptr constructors.
Contructor function must not be attempted twice even if the construction
attempt returns nullptr.

Change-Id: I75353e5e511769a96e4332f7f60887f6559c1cd5
2020-05-08 22:23:46 -04:00
Jonathan Kim 93c333711a libhsakmt: queue suspend/resume can return non-zero positive values
New queue suspend/resume update can now return the number of successful
queue requests so return success if IOCTL return is non-negative.

This should be backwards compatible since old queue suspend/resume returns
0 on success.

Signed-off-by: Jonathan Kim <Jonathan.Kim@amd.com>
Change-Id: I06b70d95d203b2bfc19a0cc1b88c5719c695159a
2020-05-08 22:10:41 -04:00
Evgeny 807bd250f6 using env variables to set compilers
Change-Id: I9af812c4528d0f14c4318436c74a0c63e25d0527
2020-05-08 05:01:19 -04:00
Tony bccb25fc33 Make HSA_QUEUE_TYPE_COOPERATIVE a queue type value
- Correct defintion of HSA_QUEUE_TYPE_COOPERATIVE to be a queue type
  and not a bit mask.
- Correct implementation of hsa_queue_type_t to treat is as an
  enumeration type and not a bit mask. In particular
  HSA_QUEUE_TYPE_COOPERATIVE is a distinct queue type that uses the
  multi producer protocol, and is not a bit set value.

Change-Id: I9415be8853671e5511e16e306caf16020e8c84af
2020-05-07 19:24:19 -04:00
Chris Freehill e1f0d7e85a Use user-mode version of kfd_ioctl.h file
Previously using kernel mode version.

Change-Id: I82bfff9c019a9059b4d0d198c6cf06dc515cc528
2020-05-07 17:13:59 -05:00
Evgeny 3d4f6b3002 buffer wrap-thread startup fix
Change-Id: I857cff63d28dcc068eddbd3ae2bc0193c428ec41
2020-05-07 06:45:29 -05:00
Evgeny 9950b97567 disabling destruction
Change-Id: I2a7d05a8f597b3bc8bd07bffe7181f9dcace1cbf
2020-05-07 03:34:30 -05:00
Evgeny 0248ebdb13 hip launch api tracing fix
Change-Id: I1785ff7c56d982ac85bb921caaccb60ab5b4389d
2020-05-06 19:42:46 -05:00
Amber Lin 741f9c31ff Allow specifying rsmi-lib install path
Instead of hard-coding install path to /opt/rocm, allow users to specify
where "make install" goes to so users can install lib to their local build
path for testing purpose without touching global /opt/rocm files.

Signed-off-by: Amber Lin <Amber.Lin@amd.com>
Change-Id: I4144988e325edae4d1d1a2824e031996091036d3
2020-05-06 18:08:22 -04:00