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

168 Коммитов

Автор SHA1 Сообщение Дата
Srinivasan Subramanian 29d55e001a Changes for multiple ROCm installation
1. Support multiple rocm installtion
2. Support shared library versioning.

Change-Id: Id5c25b90abed084e8fe8cb7c374c2d4384653bbf
2020-01-30 11:08:57 -08:00
Chris Freehill d00b9ac07d Security improvements
Improvements include
* adding additional build flags that warn about stack-smashing
and type conversion errors
* run-time checks for valid function input values and adquate
space for the result of arithmetic operations.
* make sure default case for switch statements do something
besides just assert
* disable using env. var. debugging in release mode

Change-Id: I5f048310c5c56e05d9ec31bcc273404d6a0dd646
2020-01-16 14:56:27 -06:00
Chris Freehill fe4f7ed4a1 Use default value for version when git tags not present
Also, documentation typo correction.

Change-Id: I7fe4de05d3b8fb808a980862a09a9be32ed32bf5
2019-12-19 08:32:38 -06:00
Chris Freehill 8ffe1bc7f6 Merge "Make dpkg and rpm package names match their file names" into amd-master 2019-11-09 14:27:17 -05:00
Chris Freehill c926d50c3a Make dpkg and rpm package names match their file names
For example,
$ dpkg -i rocm-smi-lib64-2.0.0.1.local-build-0-d10a391.deb 

will yield:
 ...
 Package: rocm-smi-lib64
 Version: 2.0.0.1.local-build-0-d10a391
 ...

Change-Id: I1e56e0c623b9421261cf0864958e821d10226d39
2019-11-08 15:09:16 -04:00
Chris Freehill 1004a01094 Disable TestFrequenciesReadWrite for arcturus
Change-Id: Ia20ec853cdba34ff3dcdc68b4f869890bf58b539
2019-11-07 16:22:45 -05:00
Chris Freehill 4ebb436893 Merge "Docs., error checking and test improvements" into amd-master 2019-11-06 20:15:26 -05:00
Chris Freehill 0e5c44de2a Use "-" instead of "_" for package name
This is part of fix to SWDEV-208805. The other part will
be in the build_* script.

Change-Id: I36397e3f918d08170db8bb228722a2b7389af83b
2019-11-06 11:31:50 -05:00
Chris Freehill 52dfa4bcca 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
2019-11-06 11:19:47 -05:00
Chris Freehill 3a26a7270c Support rsmitst blacklisting by adding an exclude file
Change-Id: I9d581b8e24363a688b58a6ca59a6521c7be364d7
2019-10-17 13:47:02 -05:00
Chris Freehill ee13e85265 Correct README Markdown formatting
Change-Id: Id63618fc7fa7fa7cdc68bcd451cbe89ef2c04469
2019-10-17 08:38:50 -05:00
Chris Freehill 68d25e82fd 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
2019-10-05 15:55:18 -05:00
Ori Messinger 2412dff6a2 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>
2019-10-04 11:51:30 -04:00
Chris Freehill 551b15182b 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
2019-09-23 13:30:47 -05:00
Chris Freehill 469af303d6 Make bdfid use 32 bit domain if possible
If the 32-bit domain is found in the kfd node properties for
a device, then it will be used when constructing the bdfid.
If it's not present, it will continue to use the 16 bit version.

Also, whether or not 32b or 16b are used for the domain, the
domain will now be placed in the upper 32b of the 64b bdfid.

* Fixed some unrelated doxygen issues

Change-Id: Icb5116daa1ab45ee305bdbe6cd5df5736dd3ffa3
2019-08-27 11:05:58 -04:00
Chris Freehill 01e0800741 Fix issues with buffer length when getting brand name
* Specifically, address case when brand name is longer than buffer
provided

* Also, slightly modify prototype to match similar, existing APIs.

* Address some cpplint issues.

Change-Id: Iaf77304e23085123e88f301e4b33bc4e6be2a225
2019-08-26 07:21:02 -04:00
Ori Messinger 7f2d970a80 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>
2019-08-22 12:24:29 -04:00
Chris Freehill aa2db48237 Fix building lib and test in non-automated (CI) env.
Also, use abbreviated ROCM_BUILD_ID environment variable for job
and build number, if it's available.

Change-Id: Ib5a721f5920f1008bb6382935f7b439429389de0
2019-08-14 23:18:15 -05:00
Chris Freehill dffa533e13 Add build and job numbers to package version
Change-Id: I06baf23e09b3a63a24d0046046f7f22281e0ec93
2019-08-14 09:48:59 -05:00
Chris Freehill fe738eaedb Conform versioning of to uniform version standards
Library version will now only have major and minor. Package
version will now include number of commits since previous
package. Both SO and package versions rely on git tags to
determine the current build and the commits since the last
release.

Change-Id: If2bda74bf342930a9e07f5c91cb1380b6b7c64ca
2019-08-12 08:59:09 -05:00
Chris Freehill aaecfd6fff Adjust how we read ECC block counter status
This change corresponds to kernel changes.

Change-Id: Ibd977e8b3338349036cb16e55fb0b2c9c187726d
2019-08-09 16:06:43 -05:00
Kent Russell a34832f11e Fix RAS change
RAS formatting changed, so get it to handle both types of sysfs output
until it's normalized
Change-Id: I56f2a2495af8ff4d01011bc614283376afb9ad0a
2019-08-08 12:09:18 -04:00
Chris Freehill 0da1599c4f Update docs for rsmi_dev_memory_reserved_pages_get()
Change-Id: I3cc479ea709bb8d9c23ff35d7339e329477ffe18
2019-08-06 16:57:09 -05:00
Chris Freehill 73c54e1fd0 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
2019-08-06 11:42:03 -05:00
Chris Freehill cf13d6f4d8 Add rsmi_dev_serial_number_get()
Also correct whitespace issues

Change-Id: I7ffe23672304c31ed08d7148b04a19a7d4c3d7ef
2019-07-22 07:09:53 -05:00
Chris Freehill dea44dee54 Merge "Make git-describe find annotated and non-annotated tags" into amd-master 2019-07-12 21:11:59 -04:00
Harish Kasiviswanathan 904ea5fc27 Test rsmi_dev_drm_render_minor_get()
Change-Id: I5c0702efc8ed1bc155292e4c3a73d74e5c66204e
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
2019-07-11 13:13:03 -04:00
Harish Kasiviswanathan 68cb303a44 Add rsmi_dev_drm_render_minor_get()
Function to get the drm minor number associated with ROCm device

Change-Id: I9356b9ca75151882acbb075076bc072f08b73aae
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
2019-07-11 13:12:34 -04:00
Chris Freehill 29353aa314 Make git-describe find annotated and non-annotated tags
Change-Id: I56f67e9a0a69fce3c825577160ab7380c297d243
2019-07-10 22:41:44 -05:00
Chris Freehill 31e02fdc61 Add rsmi_dev_firmware_version_get()
Change-Id: Iba3e5f3eaa0eb031fc013fc168bded22bc249b5c
2019-07-09 22:50:44 -05:00
Chris Freehill 557e1f5704 Add xgmi error_status and error_reset functions
Also, comment corrections and added check for invalid arguments

Change-Id: I891cbf9b37bfda629914a008811b840323872c02
2019-07-09 09:55:05 -04:00
Chris Freehill 9b93cbe21d 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
2019-07-03 20:01:43 -05:00
Chris Freehill 1c5e090507 Add rsmi_dev_memory_busy_percent_get()
Change-Id: Ide683b6c72870af547331f4502c5bb8c445d61b5
2019-06-25 19:09:13 -05:00
Chris Freehill ea26baec20 Event counter support
XGMI related events are supported

Change-Id: If17036fe890c8be45da3654353599821b5828c14
2019-06-24 17:40:01 -05:00
Kent Russell 04479f0b44 Merge "Add support for reading GPU's unique ID" into amd-master 2019-06-24 13:01:50 -04:00
Chris Freehill 908f07cb3b Revert "Event counter support"
This reverts commit 075833e9a5.
2019-06-21 22:07:40 -05:00
Chris Freehill 075833e9a5 Event counter support
XGMI related events are supported

Change-Id: Ic99d5a1847e8d28b22ad0b61cb9ea206eb878708
2019-06-21 18:27:50 -05:00
Kent Russell 35d2807196 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
2019-06-21 08:39:36 -04:00
Jenkins dbdb1a9248 Merge 'master' into 'amd-master'
Change-Id: I3b26f926aafd63fa403a46e93d1889f8560fa160
2019-05-27 02:12:53 -07:00
Chris Freehill 11f714326b 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
2019-05-24 15:24:49 -05:00
Jenkins ff34ce64d3 Merge 'master' into 'amd-master'
Change-Id: I64c161435e761eefeb415069a2f4bed81f089d25
2019-05-18 11:28:21 -07:00
Chris Freehill 59538cd004 If vendor/device/subsystem name is not found, use device ID string (#41)
* If vendor/device/subsystem name is not found, use device ID string
2019-05-16 16:15:17 -05:00
Chris Freehill acc508de60 Merge pull request #40 from cfreehill/master
Check for root access early for functions that require it
2019-05-15 16:55:43 -05:00
Chris Freehill 7b9ff01a37 Check for root access early for functions that require it 2019-05-15 16:54:20 -05:00
Chris Freehill 371905fbd9 Merge pull request #39 from cfreehill/master
Updated google test to googletest-release-1.8.1
2019-05-15 10:26:09 -05:00
Chris Freehill 8dc774a31d Merge pull request #2 from RadeonOpenCompute/master
Bring cfreehill fork in sync with RadeonOpenCompute repo
2019-05-15 10:23:36 -05:00
Chris Freehill 98c2ad6aaf Updated google test to googletest-release-1.8.1 2019-05-15 10:21:37 -05:00
Jenkins 77c666c523 Merge 'master' into 'amd-master'
Change-Id: I321d307628f1a249a60f11fa551dd89de42f32ca
2019-05-15 05:45:22 -04:00
Chris Freehill 7d0df99998 Remove incorrect license text (#38) 2019-05-14 18:27:38 -05:00
Chris Freehill 5fc789fe2e Remove incorrect license text 2019-05-14 18:24:48 -05:00