Commit Graph

13501 Commits

Author SHA1 Message Date
Jenkins e2afebe585 Merge 'master' into 'amd-master'
Change-Id: I70ca0d1cbf293b22b271e19cfd82abcee8c4295f
2019-05-14 02:12:15 -07:00
Chris Freehill ab740f9828 Merge branch 'master' into master 2019-05-13 18:51:36 -05:00
Chris Freehill 53489c1f3d Correct return code of isAMDGpu()
Also, correct some comments, whitespace.
2019-05-13 18:02:03 -05:00
Chris Freehill ae7ca83920 By default, only consider AMD GPU's in RSMI device list
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures
2019-05-13 18:02:03 -05:00
Chris Freehill d7de7e23cb By default, only consider AMD GPU's in RSMI device list
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures
2019-05-13 18:02:03 -05:00
Chris Freehill 1c53271842 Correct previous commit 2019-05-13 18:02:03 -05:00
Chris Freehill a0014f34df Remove duplicate definition of rsmi_init_flags_t (#37)
* By default, only consider AMD GPU's in RSMI device list

With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures

* By default, only consider AMD GPU's in RSMI device list

With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures

* Remove duplicate definition of rsmi_init_flags_t
2019-05-13 18:02:03 -05:00
Chris Freehill 15ca1c26a0 By default, only consider AMD GPU's in RSMI device list (#36)
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures
2019-05-13 18:02:03 -05:00
Kent Russell 54e042eee1 Add missing gfx803 ID
Change-Id: I9eca81f0f149ea924c3b81bd80680d7fd1ad7a6c
2019-05-13 09:03:06 -04:00
Jenkins 34d92bdc5e Merge 'master' into 'amd-master'
Change-Id: I0627486e3f9d9033a59e460b6c93947d3857a28b
2019-05-13 05:46:22 -04:00
Sean Keely 06376e726b Expose HDP flush registers.
Exposed via agent info query.  Only valid if fine grain PCIe memory is enabled.

Change-Id: Ib4770901592ec047276458926a947737f9b93bb5
2019-05-11 00:04:47 -04:00
Oak Zeng 78e4ef17c2 Temporarily disable HostHdpFlush test
Change-Id: I070cb3523a33b4efbfa7041fa2623059e1ff37bb
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-05-10 09:34:40 -04:00
Chris Freehill bda7f8c618 Correct previous commit 2019-05-10 08:19:33 -05:00
Chris Freehill b3a3f2c45e Remove duplicate definition of rsmi_init_flags_t (#37)
* By default, only consider AMD GPU's in RSMI device list

With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures

* By default, only consider AMD GPU's in RSMI device list

With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures

* Remove duplicate definition of rsmi_init_flags_t
2019-05-09 20:59:57 -05:00
Chris Freehill 30d5f3e2c6 Remove duplicate definition of rsmi_init_flags_t 2019-05-09 20:56:17 -05:00
Chris Freehill a0817d6b13 By default, only consider AMD GPU's in RSMI device list (#36)
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures
2019-05-09 20:45:54 -05:00
Chris Freehill 2d847e3afd By default, only consider AMD GPU's in RSMI device list
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures
2019-05-09 19:15:43 -05:00
Chris Freehill 1dfef717bb By default, only consider AMD GPU's in RSMI device list
With newly added initialization parameters that can be
passed to rsmi_init(), you can tell RSMI to consider other
devices.

Also:
-fixed incorrect header file name that would break in C
builds
-modified rsmi_init() and rsmi_shut_down() to reinitialize and
clear static structures
2019-05-09 18:55:15 -05:00
Felix Kuehling 8f10c9375d libhsakmt: Disable -Werror by default
This can cause build failures on unknown of future compiler versions.
Only enable it if explicitly enabled by an environment variable. This
allows us to continue building with -Werror in internal builds with
known compiler versions.

Change-Id: Ic1cd9d223218cc4e4cddba49df93bb357c1cbd40
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-05-07 16:06:51 -04:00
Philip Cox b0d23aee16 fix suspend/resume logic in debug_trap code
There was a mistake and RESUME was used when it should
have been suspend in two places in the suspend resume
code.  This fixes that error.


Change-Id: I69be733d7ae7c14ce5ee8af57a307976e4212d62
2019-05-07 06:56:00 -04:00
Jenkins 8ab76fd0cc Merge 'master' into 'amd-master'
Change-Id: I4bf7ea780e1c74ece3ead10be1eb941128ce2d9e
2019-05-06 12:02:02 -07:00
Chris Freehill caf2748398 Merge pull request #34 from cfreehill/master
Added rsmi_dev_pci_replay_counter_get()
2019-05-06 13:28:53 -05:00
Chris Freehill 34c977bd06 Added rsmi_dev_pci_replay_counter_get()
Also, added code to destroy/recreate mutex if we can't get a lock
within 3 seconds, when shared memory mutex is initialized.
2019-05-06 11:26:40 -05:00
Chris Freehill d4af9e44c2 Merge pull request #33 from cfreehill/master
Add mutex for  multi-process access to device sysfs files
2019-05-04 15:23:35 -05:00
Chris Freehill 5e24a77193 Add mutex for multi-process access to device sysfs files
This commit uses a pthread mutex in shared memory to prevent
almost all cases of multiple processes simultaneously
reading/writing to device sysfs files. The main existing race
condition is when 2 processes are starting at the same time,
setting up their shared memory and mutexes. Since this is meant
to prevent collisions among thread and processes, the small
shared memory segments (big enough for a pthread_mutex) will
persist until reboot.
2019-05-04 15:10:58 -05:00
Philip Cox c2c1385e29 libhsakmt: Update wave suspend/resume API
This is updating to the new suspend and resume API for the
KFD and the thunk.  We now support passing in a list of queues
to suspend, and not just all of the queues for the process.

The kfdtest testcase was also updated so it still compiles.

Change-Id: I71d1b178476bd9df0c311bdedaa6a891528cebcf
Signed-off-by: Philip Cox <Philip.Cox@amd.com>
2019-05-03 10:32:47 -04:00
Philip Cox d21e9d5bbd libhsakmt: Update HsaQueueInfo for GetQueueInfo
hsaKmtGetQueueInfo needs to return the control stack size, and the
wave state size for the debugger.  These changes are needed to support
returning the new values.

Change-Id: Ib4c60e0ea34446c06aef4a86996250989f348a69
Signed-off-by: Philip Cox <Philip.Cox@amd.com>
2019-05-03 10:32:47 -04:00
Oak Zeng b26580788b Host HDP flush test
Change-Id: I396ac021d15da972f4841d6d8f90d4b175e64ecd
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-05-03 09:31:41 -04:00
Felix Kuehling c8d823eb10 kfdtest: Make eviction tests more robust
- Run more graphics command submissions with shorter delay between
  them
- Synchronize after every graphics command submission
- Include the big VRAM BO in the BOList of the command submission
  to trigger more evictions
- In QueueTest, run AMDGPU command submissions concurrently with
  compute shader on the user mode queue
- Submit AMDGPU commands to GFX queue instead of compute queue to
  avoid deadlocks between user-mode and kernel-mode queues on the
  same pipe
- Allocate slightly less memory from KFD to avoid allocation errors
  due to fragmentation or memory leaks in previous tests
- Running only two processes maximizes the number of KFD evictions
  (probably because of lower chances of evicting non-KFD BOs)

Change-Id: If05d53f5fcf690b6488998a3f933f120ddaa71ee
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-05-02 17:34:11 -04:00
Oak Zeng 804aa90a22 Add MMIO_REMAP heap type
Add a MMIO_REMAP heap type and expose mmio virtual address
through HsaKmtGetNodeMemoryProperties



Change-Id: I1e585e6dfbec8fa7c85f1dda7b89b763a8e2c439
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-04-30 15:40:50 -05:00
Oak Zeng e4a6a01389 Fix return value of fmm_get_aperture_base_and_limit
Only return success when the aperture is valid

Change-Id: I63b97fd0450e1ff277cf45abc7a1be9f7a0c0d50
2019-04-30 09:38:46 -05:00
Oak Zeng ae111689f0 Map remapped mmio page to process space
HDP conherence registers are remapped at driver level
to an empty page in mmio space (the remapped mmio page).
This change allocate and map the remapped mmio page to
process space.



Change-Id: I89c405c41870a79c5b58eea0d8e564aa35f55182
Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
2019-04-30 09:00:16 -05:00
Sean Keely e89f9807f1 Patch from github.
At the moment it is not possible to build ROCr with Clang. This is
a spurious limitation. The present PR addresses it by guarding GCC
only flags and by fixing some additional warnings that Clang triggers;
one of said warnings did outline a rather interesting issue with math
being done on void*s. - AlexVlx

Void ptr arithmetic had already been fixed in amd-master branch.

Change-Id: I5ee97e20b5c40b10dd73facecabe75f02ba46462
2019-04-29 16:17:24 -04:00
Felix Kuehling 0c6b9532d4 Use non-paged memory for IPC signals
Non-paged memory can be IPC-shared even when HSA_USERPTR_FOR_PAGED_MEM
is enabled.

Change-Id: I8b1fa6d7a4a9327c78a77b3679697fbf55397093
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
2019-04-29 09:20:11 -04:00
Jenkins 6ab3423df3 Merge 'master' into 'amd-master'
Change-Id: Ieab713983c6e489e1d693a4a03e643d8d38c506c
2019-04-29 02:11:33 -07:00
eshcherb cb617559b1 Update README.md
[ROCm/roctracer commit: a52a9f3cd1]
2019-04-26 14:56:38 -05:00
eshcherb a52a9f3cd1 Update README.md 2019-04-26 14:56:38 -05:00
Evgeny afe36cf4a0 explicitely resolving the types scope
[ROCm/roctracer commit: 429a660dce]
2019-04-26 11:50:34 -05:00
Evgeny 429a660dce explicitely resolving the types scope 2019-04-26 11:50:34 -05:00
eshcherb 8a5927db5e Update README.md
[ROCm/roctracer commit: 5fcdacf5fb]
2019-04-25 14:18:19 -05:00
eshcherb 5fcdacf5fb Update README.md 2019-04-25 14:18:19 -05:00
eshcherb 8caa327134 Update README.md
[ROCm/roctracer commit: eed50bea56]
2019-04-25 14:17:36 -05:00
eshcherb eed50bea56 Update README.md 2019-04-25 14:17:36 -05:00
eshcherb 308c0caaa3 Update README.md
[ROCm/roctracer commit: 53e06a0595]
2019-04-25 14:15:03 -05:00
eshcherb 53e06a0595 Update README.md 2019-04-25 14:15:03 -05:00
Chris Freehill 8e17b81121 Merge pull request #32 from cfreehill/master
Added rsmi_version_str_get()
2019-04-24 19:06:09 -05:00
Chris Freehill bb73c2607f Added rsmi_version_str_get() 2019-04-24 17:46:53 -05:00
Yong Zhao 5b18614eaf kfdtest: Add CreateDestroyCpQueue and CreateDestroySdmaQueue test
Those two tests cover the basic queue creation and destruction
without submitting packets to CP and SDMA user queues. During bringup,
they bring values in term of untangling the issues arising in queue
creation and packet execution, which are two very different kinds.

Because of those two tests, we also rename some existing tests as
follows:
CreateCpQueue             ->   SubmitPacketCpQueue
CreateSdmaQueue           ->   SubmitPacketSdmaQueue
CreateMultipleCpQueues    ->   MultipleCpQueues
CreateMultipleSdmaQueues  ->   MultipleSdmaQueues

Lastly, move MultipleCpQueues test closer to the CP queue section
rather than leaving it behind the SDMA queue section.

Change-Id: I110fb3f3fb21878339045dd1d1c8c9d61b8988b7
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
2019-04-23 15:08:17 -04:00
Kent Russell e109ce541c Fix test if Render Node can't be found
If a Render Node can't be found, we should finish off all child
processes immediately, then return.

Trying to do the check before forking the children results in the test
failing as well, regardless of the status of finding the render node,
which is likely why the forking occurred first in the test's initial
creation. This way we ensure that things finish cleanly before moving to
the next test


Change-Id: I2e1b62fed25c30ff1f179612127c23960da4ee5e
2019-04-23 07:14:35 -04:00
Alex Voicu ee9831779c Macros are devious, wrap argument to prevent surprises.
Change-Id: Ib99e7d2ec1e7a2802f4ae7946ba1fa92c9940a85
2019-04-19 07:06:28 -04:00