Blob Blame History Raw
This is a component for accessing power readings reported on Intel MIC cards.
The values are reported in /sys/class/micras/power

# cat /sys/class/micras/power
115000000
113000000
113000000
129000000
38000000
29000000
46000000
0 0 1033000
0 0 1501000
0 0 1000000

This corresponds to the reading portions of the following MrRspPower structure. 

typedef struct mr_rsp_pws {	/* Power status */
  uint32_t	prr;				/* Current reading, in uW */
  uint8_t p_val;                /* Valid bits, power */
} MrRspPws;

typedef struct mr_rsp_vrr {	/* Voltage regulator status */
  uint32_t pwr;                 /* Power reading, in uW */
  uint32_t cur;                 /* Current, in uA */
  uint32_t volt;                /* Voltage, in uV */
  uint8_t p_val;                /* Valid bits, power */
  uint8_t c_val;                /* Valid bits, current */
  uint8_t v_val;                /* Valid bits, voltage */
} MrRspVrr;

typedef struct mr_rsp_power {
  MrRspPws tot0;                /* Total power, win 0 */
  MrRspPws tot1;                /* Total power, win 1 */
  MrRspPws	pcie;				/* PCI-E connector power */
  MrRspPws	inst;				/* Instantaneous power */
  MrRspPws	imax;				/* Max Instantaneous power */
  MrRspPws	c2x3;				/* 2x3 connector power */
  MrRspPws	c2x4;				/* 2x4 connector power */
  MrRspVrr	vccp;				/* Core rail */
  MrRspVrr	vddg;				/* Uncore rail */
  MrRspVrr	vddq;				/* Memory subsystem rail */
} MrRspPower;