summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/io/mlxcx/mlxcx.h
diff options
context:
space:
mode:
authorDan McDonald <danmcd@joyent.com>2020-09-22 10:39:49 -0400
committerDan McDonald <danmcd@joyent.com>2020-09-22 10:39:49 -0400
commit267e12a7d9bf6e5fcefb9cc00f46bfff0dc5226e (patch)
tree19a3941920d0039c35d53a5cbee189b5ca51995a /usr/src/uts/common/io/mlxcx/mlxcx.h
parent517abc5c668925e6092495bf332233c3599980d2 (diff)
parente9faba760cdf80d7dfa110fe0830917ab94668c2 (diff)
downloadillumos-joyent-vpc.tar.gz
Merge branch 'master' into vpcvpc
Diffstat (limited to 'usr/src/uts/common/io/mlxcx/mlxcx.h')
-rw-r--r--usr/src/uts/common/io/mlxcx/mlxcx.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/mlxcx/mlxcx.h b/usr/src/uts/common/io/mlxcx/mlxcx.h
index 77d36447c6..e28fe89806 100644
--- a/usr/src/uts/common/io/mlxcx/mlxcx.h
+++ b/usr/src/uts/common/io/mlxcx/mlxcx.h
@@ -1009,6 +1009,15 @@ typedef struct {
uint64_t mldp_wq_check_interval_sec;
} mlxcx_drv_props_t;
+typedef struct {
+ mlxcx_t *mlts_mlx;
+ uint8_t mlts_index;
+ id_t mlts_ksensor;
+ int16_t mlts_value;
+ int16_t mlts_max_value;
+ uint8_t mlts_name[MLXCX_MTMP_NAMELEN];
+} mlxcx_temp_sensor_t;
+
typedef enum {
MLXCX_ATTACH_FM = 1 << 0,
MLXCX_ATTACH_PCI_CONFIG = 1 << 1,
@@ -1028,6 +1037,7 @@ typedef enum {
MLXCX_ATTACH_CAPS = 1 << 15,
MLXCX_ATTACH_CHKTIMERS = 1 << 16,
MLXCX_ATTACH_ASYNC_TQ = 1 << 17,
+ MLXCX_ATTACH_SENSORS = 1 << 18
} mlxcx_attach_progress_t;
struct mlxcx {
@@ -1082,6 +1092,7 @@ struct mlxcx {
* Interrupts
*/
uint_t mlx_intr_pri;
+ uint_t mlx_async_intr_pri;
uint_t mlx_intr_type; /* always MSI-X */
int mlx_intr_count;
size_t mlx_intr_size; /* allocation size */
@@ -1171,6 +1182,12 @@ struct mlxcx {
ddi_periodic_t mlx_eq_checktimer;
ddi_periodic_t mlx_cq_checktimer;
ddi_periodic_t mlx_wq_checktimer;
+
+ /*
+ * Sensors
+ */
+ uint8_t mlx_temp_nsensors;
+ mlxcx_temp_sensor_t *mlx_temp_sensors;
};
/*
@@ -1446,6 +1463,12 @@ extern const char *mlxcx_port_status_string(mlxcx_port_status_t);
extern const char *mlxcx_event_name(mlxcx_event_t);
+/*
+ * Sensor Functions
+ */
+extern boolean_t mlxcx_setup_sensors(mlxcx_t *);
+extern void mlxcx_teardown_sensors(mlxcx_t *);
+
#ifdef __cplusplus
}
#endif