Commit Graph

117 Commits

Author SHA1 Message Date
278505ca4d Enable Windows Os Layer for Sysman
Adding KmdSysman with ULT

Change-Id: If080e6327171d3634a0c461c4169ea8c84461e13
2020-07-28 10:04:02 +02:00
70babc4b69 Update Sysman frequency API as per latest spec
Change-Id: I5bfdb5e5681e9cfa054f48cf8cc4fd8e76740958
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-07-27 18:31:07 +02:00
6fc66a82cb More boilerplate for FabricPorts.
Added a FabricDevice object that all FabricPort objects have access
to. Although we don't provide library routines for the user to
access a FabricDevice level object, one exists. And the FabricPort
objects will need to coordinate with the device level object
to get perform operations.

Change-Id: Ief307a312187e8bc5c566bcf4af5b50ecc171aee
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-07-24 19:05:28 +02:00
a0c22dec2d Update sysman power APIs to support latest spec
Change-Id: I4631a73c44d918db9421ceb394c71ffa8ca514ca
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-07-22 22:26:28 +02:00
be6ea36769 Implementing zetSysmanMemoryGetState
- zetSysmanMemoryGetState api Implementation
- Corresponding ULT for validation

Change-Id: I2dcd53af4dd0f7cd3e19f594d70fefe21d2206e7
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-07-22 14:10:14 +02:00
6e20dfafab Added limited XML parsing capability to L0 Sysman using libxml2.
XML parsing for linux only, hanging off the OsSysmanImp object.

Change-Id: I473dc8dde0611cc13f38a2c0b59e839fced2e59e
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-07-16 12:12:45 -07:00
6224db771a PCI driver fix for Discrete devices
Change-Id: I91e444c88b5e72463c7f181ece535da4150a2665
Signed-off-by: Vilvaraj, T J Vivek <t.j.vivek.vilvaraj@intel.com>
2020-07-15 23:33:59 +02:00
ce781fe9ce Add Per Client Memory info to GetProcessState
Change-Id: Ifa181bce7701a97a46474f0668f0e6bf9d738ac3
Signed-off-by: Vilvaraj, T J Vivek <t.j.vivek.vilvaraj@intel.com>
2020-07-14 21:07:37 +02:00
92b15507b0 Initialize variables and validate pointers before actually using them
Change-Id: Iae6fbeac124e1a02da419f5071e1ebc292b390cf
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-07-14 11:17:58 +02:00
146fc900c3 Add initial sysman stub as per latest spec
Change-Id: I6f36b9faa21e05a6954de0b50ea01240539441d1
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-07-11 06:54:08 +05:30
e8bd440773 Don't allow copy or moving Sysman related objects.
Change-Id: I70dd97bffa1c4d08f05eb796c6d6a2eb66f06f4b
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-07-10 21:05:15 +02:00
357fef0ff0 Refactor file access in sysman
Change-Id: I9603c96658430064a1d68b901586171c8ba52803
Signed-off-by: mraghuwa <mayank.raghuwanshi@intel.com>
2020-07-08 08:32:02 +02:00
3c50e1ede6 fix unintialized class member in Ctor.
Change-Id: Idc3e8a2ddccaf9c94639a3f499824e86de830fd4
2020-07-07 21:48:18 +02:00
c7d584b8ec Added boilerplate implementation of Sysman FabricPort
Change-Id: Icb8db2b1bac7858fd07470506c17f5cc38f34581
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-07-07 13:42:02 -04:00
e08022e9c7 Support for Platform Monitoring Technology
Add support for Platform Monitoring Technology,
and read temperature and energy counters.

Change-Id: Ic2c79e902400148cc538267c498fc1d0185c81f8
Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2020-07-02 19:41:06 +02:00
96a7b1e066 add rules to install RAS udev rules
- create rules to install Udev rules in configurable location
- create files relating to RAS counters

Change-Id: Iebd57ba2dd09494ea4586b305cd56c86a71fb8b0
2020-07-02 10:25:21 +02:00
c43759cc48 Cleanup and fixes in sysman source
In this Change:
 - Initialize local variables used in pci source.
 - Move setting of temperature handle's type to constructor of
   TemperatureImp class as temperature handle's type is used in
   init() of TemperatureImp class.
 - Allow only ENOENT  errno at the end of FsAccess::listDirectory function.
   Because in this function all directory entries will be read in a
   loop. And loop will exit only after readdir() finished reading
   all entries in directory and thus readdir() will exit, when it fails
   reading any further entry. Thus system will return ENOENT for readdir.

Change-Id: Ibd3ac3f841b114fd87edea1410750b33f3a14e5b
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-25 18:32:33 +02:00
0c9c55cd17 add counter support for RAS.
- added dual handle support for RAS Correctable and Uncorrectable Errors.
- added reset counter for RAS.
- added Os Specific ULT for RAS

Change-Id: Ia10115bf6720ab211f549571e810ec0d6c0801ec
2020-06-25 08:48:11 +02:00
251994149a Expose DRM interface to sysman APIs
Change-Id: Iab4d42cf90c9804c2b036045f3990aedd31efa91
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-24 16:40:49 +02:00
e1d9f92b94 Fixed Global Driver to be void * with library unload driver cleanup
- Changed Global Driver to be a void * to avoid auto add of Global
Driver Destructor to run before destruction of other L0 data structures
that might be enqueued to destory in static object destructors.
- Added register of library unload driverdestructor to cleanup
driver/device as the last destructor run.

Change-Id: I8ba6c5c27424b942a86a2613edd52fc682ab1c64
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2020-06-22 12:59:03 +02:00
1a90061d54 Updating Sysman Power APIs for Set/Get thresholds
- APIs zetSysmanPowerGetEnergyThreshold & zetSysmanPowerSetEnergyThreshold

Change-Id: I052d4df989bc02549936cff5b0f9a801a34e320b
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-06-19 08:55:13 +02:00
fea3c94772 Retrieve system default values for sysman scheduler
Change-Id: Ia547493e88656ad840b935487e52bc67fa806ebb
2020-06-19 06:53:11 +02:00
1618a25d71 Fix error returning to user from zetSysmanProcessesGetState API
If after reading clients directory, while actually trying to
access the individual clients file, we receive a error
ZET_RESULT_ERROR_NOT_AVAILABLE, then it means that this process/client
might be killed/removed. Hence dont return error to user.
Instead simply skip that client's traversal further and move on
to next available client.

Change-Id: If86610a89d7b2421fd85560e5a223391b76d78a0
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-17 07:02:35 +02:00
b558c9ca30 Retrieve Temperature for multiple sensors
Create two handles for Global and Compute temperature
sensors.

Change-Id: I5da90135a803df71372c9c4be9dc891ca64fc214
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-16 05:52:14 +02:00
8dff60b6a5 Report correct PCI width from API zetSysmanPciGetProperties
If system reports incorrect PCI width, then check width against valid
value, and report correct PCI width accordingly.

Change-Id: I56f8fe96785ccd22032860d55dd96b81d5fc53f7
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-08 19:34:51 +02:00
16ee26f20d Add support for zetPowerGetEnergyCounter
Change-Id: I497e025690401ced668d653db4e0052852b6e570
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-06-08 17:40:49 +02:00
46b069b9d0 Redesign ULT by mocking sysfs and implementing for memory
Change-Id: I24206628212284f180fe4e5a239ab2ed58ffa8ea
2020-06-04 23:07:42 +02:00
1780cc01e3 Add support for zetSysmanTemperatureGetState API
Change-Id: I8c41cec6e2c7e69489882df7fc05352caef503c7
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-02 22:57:45 +02:00
b6ccfed471 Redesign ULT by mocking sysfs and implementing for pci
Change-Id: I5ee2219208d05c125d1fce1a4a5b992bc8c4646e
2020-06-02 08:46:10 +02:00
86105d7e77 Disable copying Linux OS sysman class
Update the Linux os class not allow copying
by usage of  NEO::NonCopyableClass.

Change-Id: Icc0d40eaa83d7a46ec0d48a5fc9deb5c57c0e3f8
Signed-off-by: macabral <matias.a.cabral@intel.com>
2020-05-26 11:37:52 -07:00
68084042e5 add support for zetSysmanTemperatureGetState
-- add ULT support to validate temperature APIs.

Change-Id: I32bb576f81859f0f7ee22f9a63b0d1a8f192f790
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-05-20 07:50:49 +02:00
80f9b5e45a add support for zetSysmanPowerGetEnergyCounter
-- add ULT support for power

Change-Id: I37ebebb62c3433a1efe106d6b6546955a2d6effb
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-05-19 19:20:36 +02:00
135851e218 Fixes for APIs zetSysmanDeviceGetProperties and zetSysmanProcessesGetState
This change:
 - Fixes the problem of last character truncted from strings returned
   by zetSysmanDeviceGetProperties() API.
 - Fix ULT to validate them.
 - Return UNSUPPORTED_FEATURE in case zetSysmanProcessesGetState()
   fails to find required sysfs nodes in filesystem.

Change-Id: I4b18688c13b1971a1654a41a5a0ef1949330ed10
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-05-19 18:47:41 +02:00
b9b34659c8 Redesign ULT by mocking sysfs and implementing for frequency
Change-Id: I5979132fc775fe227ed83f4d49f932f4ce2800cc
2020-05-15 22:36:40 +02:00
070c9b060b Redesign ULT by mocking sysfs and implementing for standby
Change-Id: Id2558122406f23e96e3115d57e7b82d04463bfc4
2020-05-14 19:41:28 +02:00
596c1a8e70 Implement zetSysmanProcessesGetState API
This change does the following:
 - Implement API zetSysmanProcessesGetState.
 - Implement ULT to validate zetSysmanProcessesGetState's implementation
 - Redesign ULTs for zetSysmanDeviceGetProperties to mock only OS specific
   classes, and validate zetSysmanDeviceGetProperties's implementation end
   to end.
 - Some bug fixes in code that are caught by these new ULTs

Change-Id: I4a83789771d32978576ff62859628df2c0c795ad
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-05-14 19:33:46 +02:00
fe719f2665 Redesign ULT by mocking sysfs and implementing for scheduler
- Redesign the ULT to implement OSSpecific ULT by mocking only sysfs
- Fixing the Engine type "RCS" to use by default

Change-Id: I551374ab02da03fe2e4168fd6a30aa8ccaf3dd3e
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-05-12 21:02:45 +02:00
fda985aa0e Engine OSspecific ULT implementation
- by Mocking sysfs class and implementing OSSpecific(Linux)

Change-Id: I2eabf24e44e92b72e73bc323206776440b330b83
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-05-12 18:18:37 +02:00
b3b67c39b3 Implement zetSysmanFrequencyGetAvailableClocks.
Change-Id: Idb8e9edd89f3d3e228fb51501ae51a872bb60d23
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-05-08 19:03:03 +02:00
7c1eaadf50 Engine Sysman APIs using RCS Engine
- Fixing the engine sysfs node path
- Using default engine as RCS (compute) engine for engine APIs
- Updating the ULT for the same

Change-Id: If11aea422ac7e73b7f5fd0bc30d0918915d73848
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-05-08 18:15:24 +02:00
98c6e85ae9 fixes for RAS implementation class
- add default constructor
- fix init function to be a public method

Change-Id: I9e9c3c0d1305497f030f44a1f50b2499b93d3e0c
Signed-off-by: Vilvaraj, T J Vivek <t.j.vivek.vilvaraj@intel.com>
2020-05-01 21:25:48 +02:00
5c029b4471 Implement RAS APIs
- Implemented zetSysmanGetProperties
- Implemented zetSysmanGetState

Change-Id: Id40a1cb036693156c31c6e9ee78c3113ef35e5c2
Signed-off-by: Vilvaraj, T J Vivek <t.j.vivek.vilvaraj@intel.com>
2020-04-29 18:03:05 +02:00
610662dbd8 Power APIs boilerplate for Level Zero Sysman
- boilerplate for following power APIs
-zetSysmanPowerGet
-zetSysmanPowerGetProperties
-zetSysmanPowerGetEnergyCounter
-zetSysmanPowerGetLimits
-zetSysmanPowerSetLimits
-zetSysmanPowerGetEnergyThreshold
-zetSysmanPowerSetEnergyThreshold

Change-Id: I6350d869da9a64424b197ce16ac008224405a65d
Signed-off-by: Konda <saikishore.konda@intel.com>
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-04-28 19:53:57 +02:00
f3217b5d1a Cleanup Level zero Tools Sysman code
- removing the ULT specific constructors

Change-Id: Ieaee9ab72c144d5f5794f6bc023c2f14df2a7b0b
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-04-28 08:53:53 +02:00
e83e9bd114 Temperature API's boilerplate for Level Zero Sysman
Change-Id: I0573ed2ce36d8c94c6a0e1c32644f8050b6b8d5c
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-04-27 21:10:10 +02:00
749e59fc54 Implement RAS APIs
- Implement zetSysmanRasGet API

Change-Id: Ic2a82ceac2619cd1955d4e39924228f94ecd42dd
2020-04-22 18:40:28 +02:00
5374a0ffc1 Implement scheduler APIs
Add logic to implement following scheduler APIs
-zetSysmanSchedulerGetCurrentMode
-zetSysmanSchedulerGetTimeoutModeProperties
-zetSysmanSchedulerGetTimesliceModeProperties
-zetSysmanSchedulerSetTimeoutMode
-zetSysmanSchedulerSetTimesliceMode
-zetSysmanSchedulerSetExclusiveMode

Change-Id: I134b200ffd6b13bc50b1f38e955dd584455b4b38
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-04-22 20:26:57 +05:30
ce6828d374 Adding default constructor for Memory, Engine
- adding default constructor
- updating the member variables of engine, memory imp classes

Change-Id: I635858593aa53f4d56044df377286e72898ecbc4
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-04-22 15:02:50 +02:00
324b1f5c60 RAS APIs boilerplate for Level Zero Sysman.
-Implement zetSysmanRasGet API

Change-Id: Ib06e4a5d087a1e684c918413c3d98da2082e4f91
Signed-off-by: Vilvaraj, T J Vivek <t.j.vivek.vilvaraj@intel.com>
2020-04-21 20:04:53 +02:00
3c2e98e22f Implement Engine APIs
Add logic to implement the following Engine APIs
-zetSysmanEngineGet
-zetSysmanEngineGetProperties
-zetSysmanEngineGetActivity

Change-Id: I48fe1d73b7449c80304df09537024cdcfe4e0387
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-04-18 01:28:27 -04:00