Commit Graph

80 Commits

Author SHA1 Message Date
Bill Jordan
8194520fe5 L0 Sysman Standby cleanup.
Change-Id: I8702a7ca08c8edc0da3089891499699ec8bd20d3
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-08-06 13:03:59 +02:00
mraghuwa
220c575850 Update Ras Api's as per latest spec
Change-Id: I29b77eee0832fcca6d989f9ef41b01b17232a91e
Signed-off-by: mraghuwa <mayank.raghuwanshi@intel.com>
2020-08-06 08:31:03 +02:00
Matias A. Cabral
237e2fe61f Cleanup Sysman initialization
Change-Id: Idc1e13e1b1fd3928674d5f199665054dbab27a9b
Signed-off-by: Matias A. Cabral <matias.a.cabral@intel.com>
2020-08-06 06:28:21 +02:00
Jitendra Sharma
94a26db5ba Update Scheduler APIs as per latest spec
Change-Id: Ia8558ab30c83f1e30dae94cc7eb489ea7a8897da
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-08-05 18:52:34 +02:00
Vilvaraj, T J Vivek
a6ea7ab7db update Sysman PCI APIs to lastest Spec
Change-Id: Ie4daf2eb3596f05f824579eff3fe811ebb2f2032
2020-08-05 18:01:37 +02:00
Matias A. Cabral
990750d153 Enable ULTs for Sysman APIs ported to 1.0
Change-Id: I7ef425e6a076f8b26992a9a7cd4b2711e12f3a64
Signed-off-by: Matias A. Cabral <matias.a.cabral@intel.com>
2020-08-04 11:08:15 +02:00
Matias A. Cabral
5dbf7d5f8c Enable Sysman zesFrequencyGetAvailableClocks
Enable Sysman zesFrequencyGetAvailableClocks

Change-Id: I23f839a3c6eeccbba0cb24adc2b9e34d4595c201
Signed-off-by: Matias A. Cabral <matias.a.cabral@intel.com>
2020-08-03 20:27:52 +02:00
Jaime Arteaga
902fc2f6c4 level-zero v1.0 (2/N)
Change-Id: I1419231a721fab210e166d26a264cae04d661dcd
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: macabral <matias.a.cabral@intel.com>
Signed-off-by: davidoli <david.olien@intel.com>
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-08-03 13:11:13 +02:00
Jitendra Sharma
b6e98c4eb4 Update Sysman engine APIs as per latest spec
Change-Id: I477435714a20f7a9c8fd4bb1ef6b852eeaabd5e2
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-07-31 10:37:57 +02:00
Vilvaraj, T J Vivek
7bc405a9b3 Update sysman standby APIs to support latest spec.
Change-Id: I7a605c538432b2117ba968f155e4665078abc94f
Signed-off-by: Vilvaraj, T J Vivek <t.j.vivek.vilvaraj@intel.com>
2020-07-30 20:33:15 +02:00
Jitendra Sharma
0931801830 Update sysman temperature APIs as per latest spec
Change-Id: I171c5afe33fa216097b175e335d90692abfefa24
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-07-30 11:20:28 +02:00
Bill Jordan
c64eab402e Update all L0 Sysman getHandle routines to match spec.
Updated all the getHandle routines to use the following
algorithm:
    n = min(*pCount, available)
    if (*pCount == 0 || *pCount > available) {
        *pCount = available;
    }
    if (pArrayn != nullptr) {
        for(i = 0; i < n; i++) {
            pArray[i] = handle[i];
        }
    }

Change-Id: I3b2a2170c2b52d1651bddae4f85f361fd86167a0
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-07-30 07:27:21 +02:00
Bill Jordan
396fcbb941 Move FabricPort implementation to L0 Spec version 1.0.
Change-Id: I7b123c2813beab1175965eb8272c96cdb7f7be27
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-07-28 22:39:59 +02:00
Daniel Enriquez
278505ca4d Enable Windows Os Layer for Sysman
Adding KmdSysman with ULT

Change-Id: If080e6327171d3634a0c461c4169ea8c84461e13
2020-07-28 10:04:02 +02:00
Jitendra Sharma
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
Bill Jordan
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
Jitendra Sharma
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
SaiKishore Konda
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
Bill Jordan
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
T.J. Vivek Vilvaraj
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
Vilvaraj, T J Vivek
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
Jitendra Sharma
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
Jitendra Sharma
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
Bill Jordan
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
mraghuwa
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
Vilvaraj, T J Vivek
3c50e1ede6 fix unintialized class member in Ctor.
Change-Id: Idc3e8a2ddccaf9c94639a3f499824e86de830fd4
2020-07-07 21:48:18 +02:00
Bill Jordan
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
macabral
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
T.J. Vivek Vilvaraj
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
Jitendra Sharma
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
Vilvaraj, T J Vivek
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
Jitendra Sharma
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
Spruit, Neil R
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
SaiKishore Konda
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
mraghuwa
fea3c94772 Retrieve system default values for sysman scheduler
Change-Id: Ia547493e88656ad840b935487e52bc67fa806ebb
2020-06-19 06:53:11 +02:00
Jitendra Sharma
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
Jitendra Sharma
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
Jitendra Sharma
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
SaiKishore Konda
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
Mraghuwa
46b069b9d0 Redesign ULT by mocking sysfs and implementing for memory
Change-Id: I24206628212284f180fe4e5a239ab2ed58ffa8ea
2020-06-04 23:07:42 +02:00
Jitendra Sharma
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
Mraghuwa
b6ccfed471 Redesign ULT by mocking sysfs and implementing for pci
Change-Id: I5ee2219208d05c125d1fce1a4a5b992bc8c4646e
2020-06-02 08:46:10 +02:00
macabral
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
Jitendra Sharma
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
SaiKishore Konda
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
Jitendra Sharma
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
Mraghuwa
b9b34659c8 Redesign ULT by mocking sysfs and implementing for frequency
Change-Id: I5979132fc775fe227ed83f4d49f932f4ce2800cc
2020-05-15 22:36:40 +02:00
Mraghuwa
070c9b060b Redesign ULT by mocking sysfs and implementing for standby
Change-Id: Id2558122406f23e96e3115d57e7b82d04463bfc4
2020-05-14 19:41:28 +02:00
Jitendra Sharma
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
Jitendra Sharma
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