Commit Graph

59 Commits

Author SHA1 Message Date
Chris Freehill b1c550f82d Add RSMI ref manual to packages
Also,
* remove extraneous test files
* fix Doxygen docs. issues
* fix whitespace issues

Change-Id: I9b58b0d68bd125a34f4fe0dc84d609c7b0b6e30e


[ROCm/amdsmi commit: 8ced9c986a]
2020-05-18 23:40:38 -04:00
Mike Li 84e3d0f0e9 Add functions that are used to query Hardware topology.
Change-Id: I0f4cd02b237bde4d6dccfb0e83e65376ecb1cfaa
Signed-off-by: Mike Li <Tianxinmike.Li@amd.com>


[ROCm/amdsmi commit: c7d349183a]
2020-05-18 12:37:27 -04:00
Chris Freehill 42aa39ac22 Add ref counting for rsmi init and shutdown
Also, clean lint from kfd_ioctl.h file.

Change-Id: I5a2ae127ab6ab6676a1b075ed10858d0ebfe13c1


[ROCm/amdsmi commit: 8e03d10035]
2020-05-11 15:57:42 -05:00
Chris Freehill b10500a770 Add event notification API
Change-Id: Ib6e8efbe6cdefaa7de1f74bd26993e9b4b011649


[ROCm/amdsmi commit: 2235ede34c]
2020-05-06 14:07:25 -05:00
Chris Freehill 922aa1b5dc Add checking for no-longer-existing process in test
When getting process information for a process, it's possible
that between the time the process ID was discovered and when
we attempt to collect data for that process, that the process
ended. This change is meant to handle that in the test case.

* Also, fix compile warning by removing unused variable.

Change-Id: I62f9a84a63548c856f0661fef15b7d248a330c05


[ROCm/amdsmi commit: 1c9ef44398]
2020-04-10 08:51:44 -05:00
Chris Freehill d592203ff5 Add device mutual exclusion tests and related fixes
* Added a new test to verify mutual exclusion of access to device
  resources
* Added some missing acquiring of mutexes to some RSMI calls, as
  well as try-catch blocks.

Change-Id: I87aac009878a0b2d1f975e1d5b794d887bb23ff9


[ROCm/amdsmi commit: f8b57c3b16]
2020-04-08 15:05:11 -05:00
Mukul Joshi b70850aa66 Add rsmi_topo_get_numa_affinity()
Given a device index, return the corresponding NUMA node for the
device.
Also, add NUMA node tests to Sys Info Read test.

Change-Id: I0df4937470e6362e6737ccea568d4b3e5890c91a


[ROCm/amdsmi commit: fd79e5c161]
2020-04-01 11:38:08 -04:00
Chris Freehill a2cf4e2ab4 Make rsmitst tests fail quickly if rsmi_init fails
Change-Id: I7b5d94b77305b30e08f33e1ddb6e2f089db0431f


[ROCm/amdsmi commit: d9ab846bee]
2020-03-11 12:13:28 -05:00
Chris Freehill abd01b37eb Add rsmi_compute_process_gpus_get()
Given a process ID, give the device indices that process is
currently using.

Also:
* made corrections to how RSMI, amdgpu (ie, "card#") and
  KFD indicies translate from one another
* add a few missing error codes to rsmi_status_string()
* fix some formatting

Change-Id: Icd2cae66bb4fec768da96af7cf9cf8b8b66ec7f9


[ROCm/amdsmi commit: 2d6e15190c]
2020-02-22 10:47:58 -06:00
Chris Freehill 35db3bb882 Disable TestFrequenciesReadWrite for arcturus
Change-Id: Ia20ec853cdba34ff3dcdc68b4f869890bf58b539


[ROCm/amdsmi commit: 1004a01094]
2019-11-07 16:22:45 -05:00
Chris Freehill 106c87ad0e Docs., error checking and test improvements
* Update doc. on api-support function
* Check for valid integer value when reading a monitor int. val.
* If fan-write test attempts to set speed higher than max.
   possible, then skip the test

Change-Id: I01ad0ab1f4caffdb0d2c26e9575f278c35a6b017


[ROCm/amdsmi commit: 52dfa4bcca]
2019-11-06 11:19:47 -05:00
Chris Freehill c7070324f3 Support rsmitst blacklisting by adding an exclude file
Change-Id: I9d581b8e24363a688b58a6ca59a6521c7be364d7


[ROCm/amdsmi commit: 3a26a7270c]
2019-10-17 13:47:02 -05:00
Chris Freehill cae8ad4321 Support checking for specific device-getter api support
For device-getter functions, allow users to specify a nullptr
for the provided buffer. In those cases, the function will return
RSMI_STATUS_NOT_SUPPORTED if the hardware or system software does
not support the function. If the function is supported, then
RSMI_STATUS_INVALID_ARGS will be returned, unless a different
error is encountered.

Additionally, tests and documentation were updated to reflect
this change.

Change-Id: Ie7db3a4c8c66af97ebd7ee1e3b95cd331ace9d9c


[ROCm/amdsmi commit: 68d25e82fd]
2019-10-05 15:55:18 -05:00
Ori Messinger 15844991b7 Display GPU vram vendor
Add support and testing for reading the vram vendor associated with
the GPU. The vram vendor can be found as a separate sysfs file at:
/sys/class/drm/card[X]/device/mem_info_vram_vendor
The vram vendor is displayed as a string value.

Change-Id: I12c8e56e57f45aa08d7d6c25338c4e468ed1c7fc
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>


[ROCm/amdsmi commit: 2412dff6a2]
2019-10-04 11:51:30 -04:00
Chris Freehill 948b82ed1a Add functions that tell what capabilities are supported
The new functions added in this commit allow a caller to tell up
front what functions, function variants and monitors are
supported.

Also,
* fixed a few documentation/formatting issues
* fixed a process_info test issue

Change-Id: I2184ab1a4a6898f847e791f273e2185d556e78e9


[ROCm/amdsmi commit: 551b15182b]
2019-09-23 13:30:47 -05:00
Ori Messinger 15c604930e Display GPU brand name
Add support and testing for reading the brand name associated with
a specific GPU (such as mi25, mi50, mi60, etc). The brand name is
associated with the SKU of the GPU, and some brand names can be
mapped from multiple different SKUs.

Change-Id: I36eb95ca8e72efdd294ccd684841195925dfe820
Signed-off-by: Ori Messinger <Ori.Messinger@amd.com>


[ROCm/amdsmi commit: 7f2d970a80]
2019-08-22 12:24:29 -04:00
Chris Freehill 6d6689b02c Adjust how we read ECC block counter status
This change corresponds to kernel changes.

Change-Id: Ibd977e8b3338349036cb16e55fb0b2c9c187726d


[ROCm/amdsmi commit: aaecfd6fff]
2019-08-09 16:06:43 -05:00
Kent Russell fe56aa131f Fix RAS change
RAS formatting changed, so get it to handle both types of sysfs output
until it's normalized
Change-Id: I56f2a2495af8ff4d01011bc614283376afb9ad0a


[ROCm/amdsmi commit: a34832f11e]
2019-08-08 12:09:18 -04:00
Chris Freehill c858103137 Add support for rsmi_dev_memory_reserved_pages_get()
Also, don't return an error for empty sysfs files. The reserved memory
page file will often have no lines. We don't want it to appear that
this function is not supported if the file is empty.

Change-Id: I1d28bb184ea587bb578fe71dd75adc2a812d09a8


[ROCm/amdsmi commit: 73c54e1fd0]
2019-08-06 11:42:03 -05:00
Chris Freehill 1f67dcece3 Add rsmi_dev_serial_number_get()
Also correct whitespace issues

Change-Id: I7ffe23672304c31ed08d7148b04a19a7d4c3d7ef


[ROCm/amdsmi commit: cf13d6f4d8]
2019-07-22 07:09:53 -05:00
Harish Kasiviswanathan 5c1b5241c3 Test rsmi_dev_drm_render_minor_get()
Change-Id: I5c0702efc8ed1bc155292e4c3a73d74e5c66204e
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>


[ROCm/amdsmi commit: 904ea5fc27]
2019-07-11 13:13:03 -04:00
Chris Freehill 270c881cf8 Add rsmi_dev_firmware_version_get()
Change-Id: Iba3e5f3eaa0eb031fc013fc168bded22bc249b5c


[ROCm/amdsmi commit: 31e02fdc61]
2019-07-09 22:50:44 -05:00
Chris Freehill 64f22d2749 Add xgmi error_status and error_reset functions
Also, comment corrections and added check for invalid arguments

Change-Id: I891cbf9b37bfda629914a008811b840323872c02


[ROCm/amdsmi commit: 557e1f5704]
2019-07-09 09:55:05 -04:00
Chris Freehill df93edbbc0 Add initial support for getting process information
Added implementation of and tests for
rsmi_dev_compute_process_info_by_pid_get() and
rsmi_dev_compute_process_info_get()

Change-Id: I4c4f5f39fe6701da37916c9ad41449b5d35ac7af


[ROCm/amdsmi commit: 9b93cbe21d]
2019-07-03 20:01:43 -05:00
Chris Freehill c2930981ee Add rsmi_dev_memory_busy_percent_get()
Change-Id: Ide683b6c72870af547331f4502c5bb8c445d61b5


[ROCm/amdsmi commit: 1c5e090507]
2019-06-25 19:09:13 -05:00
Chris Freehill 1ce6397e6b Event counter support
XGMI related events are supported

Change-Id: If17036fe890c8be45da3654353599821b5828c14


[ROCm/amdsmi commit: ea26baec20]
2019-06-24 17:40:01 -05:00
Kent Russell dcc0969cc3 Add support for reading GPU's unique ID
Add support and testing for reading the Unique ID associated with a
specific GPU. This ID will persist across reboots, even if the GPU is
moved to a different machine. Note that this is per-GPU, not per-card,
as some cards have multiple GPUs, and each GPU will get a unique
identifier

Change-Id: Idce50c6febc2ceb1a4c1200d2489ec8b9d8fe174


[ROCm/amdsmi commit: 35d2807196]
2019-06-21 08:39:36 -04:00
Chris Freehill 3beb502a69 Add support for junction, edge and memory temperature sensors (#42)
* If vendor/device/subsystem name is not found, use device ID string

* Update documentation for get-name functions

* Add support for junction, edge and memory temperature sensors


[ROCm/amdsmi commit: 11f714326b]
2019-05-24 15:24:49 -05:00
Chris Freehill 9bf9c80d32 Updated google test to googletest-release-1.8.1
[ROCm/amdsmi commit: 98c2ad6aaf]
2019-05-15 10:21:37 -05:00
Chris Freehill 7ae2c068ca 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


[ROCm/amdsmi commit: 1dfef717bb]
2019-05-09 18:55:15 -05:00
Chris Freehill e9c3d5dec6 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.


[ROCm/amdsmi commit: 34c977bd06]
2019-05-06 11:26:40 -05:00
Chris Freehill 7943cf3ac0 Added rsmi_version_str_get()
[ROCm/amdsmi commit: bb73c2607f]
2019-04-24 17:46:53 -05:00
Chris Freehill c63fe6a5fc Add "Disabled" state to ECC states
[ROCm/amdsmi commit: 84e3c541d1]
2019-04-04 15:27:15 -05:00
Chris Freehill cff4d16afc Added ECC enabled, status and get functions
[ROCm/amdsmi commit: 4e679b9324]
2019-04-03 11:17:43 -05:00
Chris Freehill 965b738ae1 Added new clock types
Also added missing error code strings and improved test output
messages


[ROCm/amdsmi commit: c77f3c0ebd]
2019-03-28 17:01:35 -05:00
Chris Freehill dc7c6e4d7d Added new id and id name string look up functions
Also, updated docs with typo corrections and a new section


[ROCm/amdsmi commit: cbdfac7bdc]
2019-03-15 16:21:37 -05:00
Chris Freehill 692388a478 Add table for GPU name look to give better name than just "amdgpu"
[ROCm/amdsmi commit: d39752cee7]
2019-03-10 17:56:06 -05:00
Chris Freehill 546a39c82c Add rsmi_dev_memory_total_get()and rsmi_dev_memory_usage_get()
[ROCm/amdsmi commit: ddd292f1b5]
2019-03-04 18:26:11 -06:00
Chris Freehill 533b3f8c74 Re-organize function documentation into sections
[ROCm/amdsmi commit: 89fb40fbe5]
2019-03-03 23:11:50 -06:00
Chris Freehill 1a39a9d828 Use "_t" suffix consistently for RSMI types
[ROCm/amdsmi commit: bc0d801478]
2019-03-02 16:30:30 -06:00
Chris Freehill 0f27774440 Added rsmi_dev_error_count_get()
[ROCm/amdsmi commit: fb5f41fc10]
2019-03-01 16:33:11 -06:00
Chris Freehill 2c61b97684 Add rsmi_dev_pci_throughput_get()
[ROCm/amdsmi commit: 18ce553dce]
2019-02-27 15:10:26 -06:00
Chris Freehill 5f5b053e29 Add VBIOS version get function
Also, consolidate "get version" type function tests into 1 test.


[ROCm/amdsmi commit: 021f13a68f]
2019-02-24 11:01:18 -06:00
Chris Freehill 0f66ee6958 Documentation and volt-curve read updates
[ROCm/amdsmi commit: 68b5e2ee0d]
2019-02-22 15:05:44 -06:00
Chris Freehill 37057e98cc Add get_version test; remove sanity test
Also, don't fail pcie bandwidth test when the pp_dpm_pcie file
does not correctly show the current bandwidth.


[ROCm/amdsmi commit: f3fa9a036c]
2019-02-12 18:07:26 -06:00
Chris Freehill fe7d53dc33 Break down monolithic test into many smaller tests
Also, added boot up default power profile, and modified to
accomodate new profile format


[ROCm/amdsmi commit: 17bf80dcb2]
2019-02-11 22:53:24 -06:00
Chris Freehill 91d7476581 Add dont_fail option to not fail entire test on a single failure
[ROCm/amdsmi commit: dd450e963c]
2019-02-09 12:18:49 -06:00
Chris Freehill 65bfca358a Replace fan test failure with warning
In some cases, the fan sysfs files will exist even if the device
doesn't have a fan. In these cases, the tests will give apparently
random results.

Also, remove documentation and ifdef'd test of debugfs related
power functions.


[ROCm/amdsmi commit: 4ab27528be]
2019-02-08 09:51:10 -06:00
Chris Freehill 0019e1caab Don't assert or fail tests that are unsupported by system
[ROCm/amdsmi commit: 08ec2a9804]
2019-01-24 16:07:25 -06:00
Chris Freehill 3889df286a Add support for reading frequency-volt curve data
[ROCm/amdsmi commit: b6ce6d30f4]
2019-01-09 23:17:16 -06:00