capi.h Source File

capi.h Source File#

mbltml: capi.h Source File
mbltml Test Preview
mbltml — EN
capi.h
Go to the documentation of this file.
1// Copyright ⓒ 2019- Mobilint Inc. All rights reserved.
5
6#ifndef MOBILINT_MBLTML_CAPI_H_
7#define MOBILINT_MBLTML_CAPI_H_
8
9#include "mbltml/export.h"
10#include "mbltml/type.h"
11
16
18#define MBLTML_DRIVER_VERSION_BUFFER_SIZE 80
20#define MBLTML_ON_DEVICE_DRIVER_VERSION_BUFFER_SIZE 80
22#define MBLTML_FIRMWARE_VERSION_BUFFER_SIZE 80
24#define MBLTML_NODE_NAME_BUFFER_SIZE 80
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30/* ------------------------------------------------------------------------- */
31/* Initialization / CleanUp APIs */
32/* ------------------------------------------------------------------------- */
33
45
55MBLTML_EXPORT mbltmlStatusCode_t mbltmlInitDevices(unsigned int device_types);
56
67
68/* ------------------------------------------------------------------------- */
69/* System-Wide Monitor APIs */
70/* ------------------------------------------------------------------------- */
71
83MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetDeviceCount(unsigned int* counts);
84
104 char* version,
105 unsigned int length);
106
120 uint32_t* revision);
121
122/* ------------------------------------------------------------------------- */
123/* Device-Wise Monitor APIs */
124/* ------------------------------------------------------------------------- */
125
145MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetNodeName(int dev_no, char* name,
146 unsigned int length);
147
162 mbltmlDeviceType_t* device_type);
163
177MBLTML_EXPORT mbltmlStatusCode_t
179
199MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetOnDeviceDriverVersion(int dev_no, char* version,
200 unsigned int length);
201
216 uint32_t* revision);
217
237MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetFirmwareVersion(int dev_no, char* version,
238 unsigned int length);
239
254 uint32_t* revision);
255
269MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetFirmwareCRC(int dev_no, uint32_t* crc);
270
284MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTemperature(int dev_no, int* temperature);
285
299MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetSignalType(int dev_no, uint32_t* signal_type);
300
314MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetNPUClock(int dev_no, uint32_t* clock);
315
329MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetBusClock(int dev_no, uint32_t* clock);
330
344MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetFanDuty(int dev_no, int* fan_duty);
345
359MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetVendorId(int dev_no, uint32_t* vendor_id);
360
374MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetDeviceId(int dev_no, uint32_t* device_id);
375
390 uint32_t* sub_vendor_id);
391
406 uint32_t* sub_device_id);
407
421MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetPcieGen(int dev_no, uint32_t* pcie_gen);
422
436MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetPcieLanes(int dev_no, uint32_t* pcie_lanes);
437
451MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetPcieRev(int dev_no, uint32_t* pcie_rev);
452
467 uint32_t* pcie_class_code);
468
482MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTotalPower(int dev_no, double* power);
483
497MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTotalCurrent(int dev_no, double* current);
498
512MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTotalVoltage(int dev_no, double* voltage);
513
535MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetExtraPmicPower(int dev_no, double* power);
536
555MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetExtraPmicCurrent(int dev_no, double* current);
556
575MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetExtraPmicVoltage(int dev_no, double* voltage);
576
592 mbltmlExtraPmicId_t* pmic_id);
593
609 double* utilization);
610
624MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetMemoryUsage(int dev_no, int64_t* memory_usage);
625
639MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetMemoryTotal(int dev_no, int64_t* memory_total);
640
669 mbltmlProcessInfo_t* infos,
670 unsigned int* info_count);
671
695 unsigned int* info_count);
696
697/* ------------------------------------------------------------------------- */
698/* Device-Wise Control APIs */
699/* ------------------------------------------------------------------------- */
700
720 mbltmlExtraPmicId_t pmic_id);
721
722#ifdef __cplusplus
723}
724#endif
725
727
728#endif // MOBILINT_MBLTML_CAPI_H_
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTotalPower(int dev_no, double *power)
Get the total instantaneous power consumption of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetExtraPmicPower(int dev_no, double *power)
Get the power consumption of the extra PMIC rail currently selected for the device (W).
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetDeviceId(int dev_no, uint32_t *device_id)
Get the PCIe device ID of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetSignalType(int dev_no, uint32_t *signal_type)
Get the current signal-type indicator reported by the device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetProcessInfos(int dev_no, mbltmlProcessInfo_t *infos, unsigned int *info_count)
Get per-process usage information for a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlShutdown()
Release all resources held by the mbltml library.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlInit()
Initialize the mbltml library for all supported device types.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetNodeName(int dev_no, char *name, unsigned int length)
Get the node name of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetMemoryUsage(int dev_no, int64_t *memory_usage)
Get the amount of device memory currently in use.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetFirmwareRevision(int dev_no, uint32_t *revision)
Get the firmware revision number of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetSubDeviceId(int dev_no, uint32_t *sub_device_id)
Get the PCIe subsystem device ID of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetDeviceCount(unsigned int *counts)
Get the total number of devices detected by the library.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetDeviceType(int dev_no, mbltmlDeviceType_t *device_type)
Get the device family type of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetMemoryTotal(int dev_no, int64_t *memory_total)
Get the total amount of device memory available.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetFirmwareCRC(int dev_no, uint32_t *crc)
Get the CRC of the currently-loaded firmware image.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetCoreInfos(int dev_no, mbltmlCoreInfo_t *infos, unsigned int *info_count)
Get per-core usage information for a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetVendorId(int dev_no, uint32_t *vendor_id)
Get the PCIe vendor ID of a device.
mbltmlDeviceType_t
Identifier of a Mobilint NPU device family.
Definition type.h:25
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTotalCurrent(int dev_no, double *current)
Get the total instantaneous current draw of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetPcieRev(int dev_no, uint32_t *pcie_rev)
Get the PCIe configuration-space revision ID of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlInitDevices(unsigned int device_types)
Initialize the mbltml library for a selected set of device types.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetPcieGen(int dev_no, uint32_t *pcie_gen)
Get the negotiated PCIe link generation of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetFanDuty(int dev_no, int *fan_duty)
Get the current cooling-fan duty cycle of a device.
mbltmlStatusCode_t
Status code returned by mbltml APIs.
Definition type.h:46
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetOnDeviceDriverRevision(int dev_no, uint32_t *revision)
Get the on-device driver revision number of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTemperature(int dev_no, int *temperature)
Get the current die temperature of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlSetExtraPmicID(int dev_no, mbltmlExtraPmicId_t pmic_id)
Select which extra PMIC rail subsequent mbltmlGetExtraPmic*() queries refer to.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetNPUClock(int dev_no, uint32_t *clock)
Get the current NPU clock frequency of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetPcieClassCode(int dev_no, uint32_t *pcie_class_code)
Get the PCIe configuration-space class code of a device.
mbltmlHardwareVersion_t
Specific hardware revision of a Mobilint NPU.
Definition type.h:35
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetBusClock(int dev_no, uint32_t *clock)
Get the current bus clock frequency of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetExtraPmicCurrent(int dev_no, double *current)
Get the current of the extra PMIC rail currently selected for the device (A).
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetOnDeviceDriverVersion(int dev_no, char *version, unsigned int length)
Get the on-device driver version string of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetSubVendorId(int dev_no, uint32_t *sub_vendor_id)
Get the PCIe subsystem vendor ID of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTotalUtilization(int dev_no, double *utilization)
Get the overall NPU utilization of a device.
mbltmlExtraPmicId_t
Identifier of an extra PMIC rail.
Definition type.h:62
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetDriverVersion(mbltmlDeviceType_t dt, char *version, unsigned int length)
Get the driver version string for a specific device family.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetTotalVoltage(int dev_no, double *voltage)
Get the total instantaneous supply voltage of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetPcieLanes(int dev_no, uint32_t *pcie_lanes)
Get the negotiated PCIe link width (in lanes) of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetExtraPmicVoltage(int dev_no, double *voltage)
Get the voltage of the extra PMIC rail currently selected for the device (V).
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetFirmwareVersion(int dev_no, char *version, unsigned int length)
Get the firmware version string of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetExtraPmicId(int dev_no, mbltmlExtraPmicId_t *pmic_id)
Get the extra PMIC rail currently selected for the device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetHardwareVersion(int dev_no, mbltmlHardwareVersion_t *version)
Get the hardware version of a device.
MBLTML_EXPORT mbltmlStatusCode_t mbltmlGetDriverRevision(mbltmlDeviceType_t dt, uint32_t *revision)
Get the driver revision number for a specific device family.
Per-core usage record returned by mbltmlGetCoreInfos().
Definition type.h:104
Per-process usage record returned by mbltmlGetProcessInfos().
Definition type.h:117