Commit Graph

28 Commits

Author SHA1 Message Date
a6ea7ab7db update Sysman PCI APIs to lastest Spec
Change-Id: Ie4daf2eb3596f05f824579eff3fe811ebb2f2032
2020-08-05 18:01:37 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
5d756b7b15 Add FsAccess::getFileMode and SysfsAccess::getFileMode methods
Change-Id: I4dddf1b3983e63ef6ad664009ebd20d474c8cc17
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-04-01 09:14:40 +02:00
d96e462754 Reorganize Level Zero Core API files
Change-Id: I95750b90748dd65310fa72b030ea3ab2f72d3f24
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-03-25 11:21:43 +01:00
7c489ac60d Implement zetSysmanDeviceReset
Implemented function level reset.

Implementation is:
Make sure we are root (otherwise, return insufficient permissions)
Make sure no one has the device open
    (otherwise, return hande object in use)
Close our file handle
Unbind the device from the kernel driver
Make sure no one still has the device open
    (otherwise, kill them)
Perform function level reset (FLR)
Rebind the device to the kernel driver

Change-Id: Ic57b95487e73b5a5f2d03e619d813bf4199adf40
Signed-off-by: Bill Jordan <bill.jordan@intel.com>
2020-03-24 18:26:45 +01:00
307a5cb822 Link tools and experimental sources to object library
Related-To: NEO-4480

Change-Id: I16da4434ec24753eabdb1bce9e38ed2e1e83ed6c
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-03-23 08:57:19 +01:00
a5082656ca Remove systemCmd from sysman
Change-Id: I8821d5a9712984076264f6521a9b7fe9cac5cd8e
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-03-17 17:07:14 +01:00
27f4bce42f Initial support for oneAPI Level Zero
Change-Id: I221df8427b1844237a4d9d900c58512706b0be0f
2020-03-06 14:53:29 +01:00