aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEliot Blennerhassett <eblennerhassett@audioscience.com>2011-02-09 23:25:57 -0500
committerTakashi Iwai <tiwai@suse.de>2011-02-10 12:22:08 -0500
commitad210ad10ec96e32d32459545f54e4d3d9c6a088 (patch)
treea472ce7d4e0c105f5f5ee4c286f8390f65764687
parentf0dcad41ac2956851e6b2d31762d1edc61ede949 (diff)
ALSA: asihpi - HPI 4.05.14
All enum values numeric for easier finding, particularly error codes. Remove many unused declarations. Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/asihpi/hpi.h262
1 files changed, 33 insertions, 229 deletions
diff --git a/sound/pci/asihpi/hpi.h b/sound/pci/asihpi/hpi.h
index 23399d02f666..4fb42c6b42e3 100644
--- a/sound/pci/asihpi/hpi.h
+++ b/sound/pci/asihpi/hpi.h
@@ -50,8 +50,8 @@ i.e 3.05.02 is a development version
50#define HPI_VER_RELEASE(v) ((int)(v & 0xFF)) 50#define HPI_VER_RELEASE(v) ((int)(v & 0xFF))
51 51
52/* Use single digits for versions less that 10 to avoid octal. */ 52/* Use single digits for versions less that 10 to avoid octal. */
53#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 4, 1) 53#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 5, 14)
54#define HPI_VER_STRING "4.04.01" 54#define HPI_VER_STRING "4.05.14"
55 55
56/* Library version as documented in hpi-api-versions.txt */ 56/* Library version as documented in hpi-api-versions.txt */
57#define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0) 57#define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0)
@@ -64,6 +64,7 @@ i.e 3.05.02 is a development version
64/******** HPI API DEFINITIONS *****/ 64/******** HPI API DEFINITIONS *****/
65/******************************************************************************/ 65/******************************************************************************/
66/******************************************************************************/ 66/******************************************************************************/
67
67/*******************************************/ 68/*******************************************/
68/** Audio format types 69/** Audio format types
69\ingroup stream 70\ingroup stream
@@ -263,10 +264,10 @@ enum HPI_CONTROLS {
263 HPI_CONTROL_MULTIPLEXER = 5, /**< multiplexer control. */ 264 HPI_CONTROL_MULTIPLEXER = 5, /**< multiplexer control. */
264 265
265 HPI_CONTROL_AESEBU_TRANSMITTER = 6, /**< AES/EBU transmitter control. */ 266 HPI_CONTROL_AESEBU_TRANSMITTER = 6, /**< AES/EBU transmitter control. */
266 HPI_CONTROL_AESEBUTX = HPI_CONTROL_AESEBU_TRANSMITTER, 267 HPI_CONTROL_AESEBUTX = 6, /* HPI_CONTROL_AESEBU_TRANSMITTER */
267 268
268 HPI_CONTROL_AESEBU_RECEIVER = 7, /**< AES/EBU receiver control. */ 269 HPI_CONTROL_AESEBU_RECEIVER = 7, /**< AES/EBU receiver control. */
269 HPI_CONTROL_AESEBURX = HPI_CONTROL_AESEBU_RECEIVER, 270 HPI_CONTROL_AESEBURX = 7, /* HPI_CONTROL_AESEBU_RECEIVER */
270 271
271 HPI_CONTROL_LEVEL = 8, /**< level/trim control - works in d_bu. */ 272 HPI_CONTROL_LEVEL = 8, /**< level/trim control - works in d_bu. */
272 HPI_CONTROL_TUNER = 9, /**< tuner control. */ 273 HPI_CONTROL_TUNER = 9, /**< tuner control. */
@@ -281,7 +282,7 @@ enum HPI_CONTROLS {
281 HPI_CONTROL_SAMPLECLOCK = 17, /**< sample clock control. */ 282 HPI_CONTROL_SAMPLECLOCK = 17, /**< sample clock control. */
282 HPI_CONTROL_MICROPHONE = 18, /**< microphone control. */ 283 HPI_CONTROL_MICROPHONE = 18, /**< microphone control. */
283 HPI_CONTROL_PARAMETRIC_EQ = 19, /**< parametric EQ control. */ 284 HPI_CONTROL_PARAMETRIC_EQ = 19, /**< parametric EQ control. */
284 HPI_CONTROL_EQUALIZER = HPI_CONTROL_PARAMETRIC_EQ, 285 HPI_CONTROL_EQUALIZER = 19, /*HPI_CONTROL_PARAMETRIC_EQ */
285 286
286 HPI_CONTROL_COMPANDER = 20, /**< compander control. */ 287 HPI_CONTROL_COMPANDER = 20, /**< compander control. */
287 HPI_CONTROL_COBRANET = 21, /**< cobranet control. */ 288 HPI_CONTROL_COBRANET = 21, /**< cobranet control. */
@@ -767,14 +768,6 @@ enum HPI_TUNER_MODE_VALUES {
767 HPI_TUNER_MODE_RDS_RBDS = 2 /**< RDS - RBDS mode */ 768 HPI_TUNER_MODE_RDS_RBDS = 2 /**< RDS - RBDS mode */
768}; 769};
769 770
770/** Tuner Level settings
771\ingroup tuner
772*/
773enum HPI_TUNER_LEVEL {
774 HPI_TUNER_LEVEL_AVERAGE = 0,
775 HPI_TUNER_LEVEL_RAW = 1
776};
777
778/** Tuner Status Bits 771/** Tuner Status Bits
779 772
780These bitfield values are returned by a call to HPI_Tuner_GetStatus(). 773These bitfield values are returned by a call to HPI_Tuner_GetStatus().
@@ -783,13 +776,13 @@ Multiple fields are returned from a single call.
783*/ 776*/
784enum HPI_TUNER_STATUS_BITS { 777enum HPI_TUNER_STATUS_BITS {
785 HPI_TUNER_VIDEO_COLOR_PRESENT = 0x0001, /**< video color is present. */ 778 HPI_TUNER_VIDEO_COLOR_PRESENT = 0x0001, /**< video color is present. */
786 HPI_TUNER_VIDEO_IS_60HZ = 0x0020, /**< 60 hz video detected. */ 779 HPI_TUNER_VIDEO_IS_60HZ = 0x0020, /**< 60 hz video detected. */
787 HPI_TUNER_VIDEO_HORZ_SYNC_MISSING = 0x0040, /**< video HSYNC is missing. */ 780 HPI_TUNER_VIDEO_HORZ_SYNC_MISSING = 0x0040, /**< video HSYNC is missing. */
788 HPI_TUNER_VIDEO_STATUS_VALID = 0x0100, /**< video status is valid. */ 781 HPI_TUNER_VIDEO_STATUS_VALID = 0x0100, /**< video status is valid. */
789 HPI_TUNER_PLL_LOCKED = 0x1000, /**< the tuner's PLL is locked. */ 782 HPI_TUNER_DIGITAL = 0x0200, /**< tuner reports digital programming. */
790 HPI_TUNER_FM_STEREO = 0x2000, /**< tuner reports back FM stereo. */ 783 HPI_TUNER_MULTIPROGRAM = 0x0400, /**< tuner reports multiple programs. */
791 HPI_TUNER_DIGITAL = 0x0200, /**< tuner reports digital programming. */ 784 HPI_TUNER_PLL_LOCKED = 0x1000, /**< the tuner's PLL is locked. */
792 HPI_TUNER_MULTIPROGRAM = 0x0400 /**< tuner reports multiple programs. */ 785 HPI_TUNER_FM_STEREO = 0x2000 /**< tuner reports back FM stereo. */
793}; 786};
794 787
795/** Channel Modes 788/** Channel Modes
@@ -909,6 +902,8 @@ enum HPI_ERROR_CODES {
909 HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL = 114, 902 HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL = 114,
910 /** The returned response did not match the sent message */ 903 /** The returned response did not match the sent message */
911 HPI_ERROR_RESPONSE_MISMATCH = 115, 904 HPI_ERROR_RESPONSE_MISMATCH = 115,
905 /** A control setting that should have been cached was not. */
906 HPI_ERROR_CONTROL_CACHING = 116,
912 907
913 /** Too many adapters.*/ 908 /** Too many adapters.*/
914 HPI_ERROR_TOO_MANY_ADAPTERS = 200, 909 HPI_ERROR_TOO_MANY_ADAPTERS = 200,
@@ -954,13 +949,13 @@ enum HPI_ERROR_CODES {
954 HPI_ERROR_FLASH = 220, 949 HPI_ERROR_FLASH = 220,
955 950
956 /** Flash has bad checksum */ 951 /** Flash has bad checksum */
957 HPI_ERROR_BAD_CHECKSUM = (HPI_ERROR_FLASH + 1), 952 HPI_ERROR_BAD_CHECKSUM = 221,
958 HPI_ERROR_BAD_SEQUENCE = (HPI_ERROR_FLASH + 2), 953 HPI_ERROR_BAD_SEQUENCE = 222,
959 HPI_ERROR_FLASH_ERASE = (HPI_ERROR_FLASH + 3), 954 HPI_ERROR_FLASH_ERASE = 223,
960 HPI_ERROR_FLASH_PROGRAM = (HPI_ERROR_FLASH + 4), 955 HPI_ERROR_FLASH_PROGRAM = 224,
961 HPI_ERROR_FLASH_VERIFY = (HPI_ERROR_FLASH + 5), 956 HPI_ERROR_FLASH_VERIFY = 225,
962 HPI_ERROR_FLASH_TYPE = (HPI_ERROR_FLASH + 6), 957 HPI_ERROR_FLASH_TYPE = 226,
963 HPI_ERROR_FLASH_START = (HPI_ERROR_FLASH + 7), 958 HPI_ERROR_FLASH_START = 227,
964 959
965 /** Reserved for OEMs. */ 960 /** Reserved for OEMs. */
966 HPI_ERROR_RESERVED_1 = 290, 961 HPI_ERROR_RESERVED_1 = 290,
@@ -1027,7 +1022,7 @@ enum HPI_ERROR_CODES {
1027 HPI_ERROR_NVMEM_FAIL = 452, 1022 HPI_ERROR_NVMEM_FAIL = 452,
1028 1023
1029 /** I2C */ 1024 /** I2C */
1030 HPI_ERROR_I2C_MISSING_ACK = HPI_ERROR_CONTROL_I2C_MISSING_ACK, 1025 HPI_ERROR_I2C_MISSING_ACK = 405, /*HPI_ERROR_CONTROL_I2C_MISSING_ACK */
1031 HPI_ERROR_I2C_BAD_ADR = 460, 1026 HPI_ERROR_I2C_BAD_ADR = 460,
1032 1027
1033 /** Entity errors */ 1028 /** Entity errors */
@@ -1035,6 +1030,7 @@ enum HPI_ERROR_CODES {
1035 HPI_ERROR_ENTITY_ITEM_COUNT = 471, 1030 HPI_ERROR_ENTITY_ITEM_COUNT = 471,
1036 HPI_ERROR_ENTITY_TYPE_INVALID = 472, 1031 HPI_ERROR_ENTITY_TYPE_INVALID = 472,
1037 HPI_ERROR_ENTITY_ROLE_INVALID = 473, 1032 HPI_ERROR_ENTITY_ROLE_INVALID = 473,
1033 HPI_ERROR_ENTITY_SIZE_MISMATCH = 474,
1038 1034
1039 /* AES18 specific errors were 500..507 */ 1035 /* AES18 specific errors were 500..507 */
1040 1036
@@ -1045,10 +1041,7 @@ enum HPI_ERROR_CODES {
1045 HPI_ERROR_MUTEX_TIMEOUT = 700, 1041 HPI_ERROR_MUTEX_TIMEOUT = 700,
1046 1042
1047 /** errors from HPI backends have values >= this */ 1043 /** errors from HPI backends have values >= this */
1048 HPI_ERROR_BACKEND_BASE = 900, 1044 HPI_ERROR_BACKEND_BASE = 900
1049
1050 /** indicates a cached u16 value is invalid. */
1051 HPI_ERROR_ILLEGAL_CACHE_VALUE = 0xffff
1052}; 1045};
1053 1046
1054/** \defgroup maximums HPI maximum values 1047/** \defgroup maximums HPI maximum values
@@ -1092,7 +1085,7 @@ struct hpi_format {
1092 /**< Stereo/JointStereo/Mono */ 1085 /**< Stereo/JointStereo/Mono */
1093 u16 mode_legacy; 1086 u16 mode_legacy;
1094 /**< Legacy ancillary mode or idle bit */ 1087 /**< Legacy ancillary mode or idle bit */
1095 u16 unused; /**< unused */ 1088 u16 unused; /**< Unused */
1096 u16 channels; /**< 1,2..., (or ancillary mode or idle bit */ 1089 u16 channels; /**< 1,2..., (or ancillary mode or idle bit */
1097 u16 format; /**< HPI_FORMAT_PCM16, _MPEG etc. see #HPI_FORMATS. */ 1090 u16 format; /**< HPI_FORMAT_PCM16, _MPEG etc. see #HPI_FORMATS. */
1098}; 1091};
@@ -1106,8 +1099,8 @@ struct hpi_anc_frame {
1106*/ 1099*/
1107struct hpi_async_event { 1100struct hpi_async_event {
1108 u16 event_type; /**< type of event. \sa async_event */ 1101 u16 event_type; /**< type of event. \sa async_event */
1109 u16 sequence; /**< sequence number, allows lost event detection */ 1102 u16 sequence; /**< Sequence number, allows lost event detection */
1110 u32 state; /**< new state */ 1103 u32 state; /**< New state */
1111 u32 h_object; /**< handle to the object returning the event. */ 1104 u32 h_object; /**< handle to the object returning the event. */
1112 union { 1105 union {
1113 struct { 1106 struct {
@@ -1120,55 +1113,6 @@ struct hpi_async_event {
1120 } u; 1113 } u;
1121}; 1114};
1122 1115
1123/*/////////////////////////////////////////////////////////////////////////// */
1124/* Public HPI Entity related definitions */
1125
1126struct hpi_entity;
1127
1128enum e_entity_type {
1129 entity_type_null,
1130 entity_type_sequence, /* sequence of potentially heterogeneous TLV entities */
1131
1132 entity_type_reference, /* refers to a TLV entity or NULL */
1133
1134 entity_type_int, /* 32 bit */
1135 entity_type_float, /* ieee754 binary 32 bit encoding */
1136 entity_type_double,
1137
1138 entity_type_cstring,
1139 entity_type_octet,
1140 entity_type_ip4_address,
1141 entity_type_ip6_address,
1142 entity_type_mac_address,
1143
1144 LAST_ENTITY_TYPE
1145};
1146
1147enum e_entity_role {
1148 entity_role_null,
1149 entity_role_value,
1150 entity_role_classname,
1151
1152 entity_role_units,
1153 entity_role_flags,
1154 entity_role_range,
1155
1156 entity_role_mapping,
1157 entity_role_enum,
1158
1159 entity_role_instance_of,
1160 entity_role_depends_on,
1161 entity_role_member_of_group,
1162 entity_role_value_constraint,
1163 entity_role_parameter_port,
1164
1165 entity_role_block,
1166 entity_role_node_group,
1167 entity_role_audio_port,
1168 entity_role_clock_port,
1169 LAST_ENTITY_ROLE
1170};
1171
1172/* skip host side function declarations for 1116/* skip host side function declarations for
1173 DSP compile and documentation extraction */ 1117 DSP compile and documentation extraction */
1174 1118
@@ -1191,34 +1135,19 @@ u16 hpi_stream_estimate_buffer_size(struct hpi_format *pF,
1191 1135
1192/*/////////// */ 1136/*/////////// */
1193/* SUB SYSTEM */ 1137/* SUB SYSTEM */
1194struct hpi_hsubsys *hpi_subsys_create(void 1138struct hpi_hsubsys *hpi_subsys_create(void);
1195 );
1196 1139
1197void hpi_subsys_free(const struct hpi_hsubsys *ph_subsys); 1140void hpi_subsys_free(const struct hpi_hsubsys *ph_subsys);
1198 1141
1199u16 hpi_subsys_get_version(const struct hpi_hsubsys *ph_subsys,
1200 u32 *pversion);
1201
1202u16 hpi_subsys_get_version_ex(const struct hpi_hsubsys *ph_subsys, 1142u16 hpi_subsys_get_version_ex(const struct hpi_hsubsys *ph_subsys,
1203 u32 *pversion_ex); 1143 u32 *pversion_ex);
1204 1144
1205u16 hpi_subsys_get_info(const struct hpi_hsubsys *ph_subsys, u32 *pversion,
1206 u16 *pw_num_adapters, u16 aw_adapter_list[], u16 list_length);
1207
1208u16 hpi_subsys_find_adapters(const struct hpi_hsubsys *ph_subsys,
1209 u16 *pw_num_adapters, u16 aw_adapter_list[], u16 list_length);
1210
1211u16 hpi_subsys_get_num_adapters(const struct hpi_hsubsys *ph_subsys, 1145u16 hpi_subsys_get_num_adapters(const struct hpi_hsubsys *ph_subsys,
1212 int *pn_num_adapters); 1146 int *pn_num_adapters);
1213 1147
1214u16 hpi_subsys_get_adapter(const struct hpi_hsubsys *ph_subsys, int iterator, 1148u16 hpi_subsys_get_adapter(const struct hpi_hsubsys *ph_subsys, int iterator,
1215 u32 *padapter_index, u16 *pw_adapter_type); 1149 u32 *padapter_index, u16 *pw_adapter_type);
1216 1150
1217u16 hpi_subsys_ssx2_bypass(const struct hpi_hsubsys *ph_subsys, u16 bypass);
1218
1219u16 hpi_subsys_set_host_network_interface(const struct hpi_hsubsys *ph_subsys,
1220 const char *sz_interface);
1221
1222/*///////// */ 1151/*///////// */
1223/* ADAPTER */ 1152/* ADAPTER */
1224 1153
@@ -1244,13 +1173,10 @@ u16 hpi_adapter_set_mode_ex(const struct hpi_hsubsys *ph_subsys,
1244u16 hpi_adapter_get_mode(const struct hpi_hsubsys *ph_subsys, 1173u16 hpi_adapter_get_mode(const struct hpi_hsubsys *ph_subsys,
1245 u16 adapter_index, u32 *padapter_mode); 1174 u16 adapter_index, u32 *padapter_mode);
1246 1175
1247u16 hpi_adapter_get_assert(const struct hpi_hsubsys *ph_subsys, 1176u16 hpi_adapter_get_assert2(const struct hpi_hsubsys *ph_subsys,
1248 u16 adapter_index, u16 *assert_present, char *psz_assert, 1177 u16 adapter_index, u16 *p_assert_count, char *psz_assert,
1249 u16 *pw_line_number); 1178 u32 *p_param1, u32 *p_param2, u32 *p_dsp_string_addr,
1250 1179 u16 *p_processor_id);
1251u16 hpi_adapter_get_assert_ex(const struct hpi_hsubsys *ph_subsys,
1252 u16 adapter_index, u16 *assert_present, char *psz_assert,
1253 u32 *pline_number, u16 *pw_assert_on_dsp);
1254 1180
1255u16 hpi_adapter_test_assert(const struct hpi_hsubsys *ph_subsys, 1181u16 hpi_adapter_test_assert(const struct hpi_hsubsys *ph_subsys,
1256 u16 adapter_index, u16 assert_id); 1182 u16 adapter_index, u16 assert_id);
@@ -1274,66 +1200,6 @@ u16 hpi_adapter_get_property(const struct hpi_hsubsys *ph_subsys,
1274u16 hpi_adapter_enumerate_property(const struct hpi_hsubsys *ph_subsys, 1200u16 hpi_adapter_enumerate_property(const struct hpi_hsubsys *ph_subsys,
1275 u16 adapter_index, u16 index, u16 what_to_enumerate, 1201 u16 adapter_index, u16 index, u16 what_to_enumerate,
1276 u16 property_index, u32 *psetting); 1202 u16 property_index, u32 *psetting);
1277
1278/*////////////// */
1279/* NonVol Memory */
1280u16 hpi_nv_memory_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index,
1281 u32 *ph_nv_memory, u16 *pw_size_in_bytes);
1282
1283u16 hpi_nv_memory_read_byte(const struct hpi_hsubsys *ph_subsys,
1284 u32 h_nv_memory, u16 index, u16 *pw_data);
1285
1286u16 hpi_nv_memory_write_byte(const struct hpi_hsubsys *ph_subsys,
1287 u32 h_nv_memory, u16 index, u16 data);
1288
1289/*////////////// */
1290/* Digital I/O */
1291u16 hpi_gpio_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index,
1292 u32 *ph_gpio, u16 *pw_number_input_bits, u16 *pw_number_output_bits);
1293
1294u16 hpi_gpio_read_bit(const struct hpi_hsubsys *ph_subsys, u32 h_gpio,
1295 u16 bit_index, u16 *pw_bit_data);
1296
1297u16 hpi_gpio_read_all_bits(const struct hpi_hsubsys *ph_subsys, u32 h_gpio,
1298 u16 aw_all_bit_data[4]
1299 );
1300
1301u16 hpi_gpio_write_bit(const struct hpi_hsubsys *ph_subsys, u32 h_gpio,
1302 u16 bit_index, u16 bit_data);
1303
1304u16 hpi_gpio_write_status(const struct hpi_hsubsys *ph_subsys, u32 h_gpio,
1305 u16 aw_all_bit_data[4]
1306 );
1307
1308/**********************/
1309/* Async Event Object */
1310/**********************/
1311u16 hpi_async_event_open(const struct hpi_hsubsys *ph_subsys,
1312 u16 adapter_index, u32 *ph_async);
1313
1314u16 hpi_async_event_close(const struct hpi_hsubsys *ph_subsys, u32 h_async);
1315
1316u16 hpi_async_event_wait(const struct hpi_hsubsys *ph_subsys, u32 h_async,
1317 u16 maximum_events, struct hpi_async_event *p_events,
1318 u16 *pw_number_returned);
1319
1320u16 hpi_async_event_get_count(const struct hpi_hsubsys *ph_subsys,
1321 u32 h_async, u16 *pw_count);
1322
1323u16 hpi_async_event_get(const struct hpi_hsubsys *ph_subsys, u32 h_async,
1324 u16 maximum_events, struct hpi_async_event *p_events,
1325 u16 *pw_number_returned);
1326
1327/*/////////// */
1328/* WATCH-DOG */
1329u16 hpi_watchdog_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index,
1330 u32 *ph_watchdog);
1331
1332u16 hpi_watchdog_set_time(const struct hpi_hsubsys *ph_subsys, u32 h_watchdog,
1333 u32 time_millisec);
1334
1335u16 hpi_watchdog_ping(const struct hpi_hsubsys *ph_subsys, u32 h_watchdog);
1336
1337/**************/ 1203/**************/
1338/* OUT STREAM */ 1204/* OUT STREAM */
1339/**************/ 1205/**************/
@@ -1957,68 +1823,6 @@ u16 hpi_silence_detector_set_threshold(const struct hpi_hsubsys *ph_subsys,
1957 1823
1958u16 hpi_silence_detector_get_threshold(const struct hpi_hsubsys *ph_subsys, 1824u16 hpi_silence_detector_get_threshold(const struct hpi_hsubsys *ph_subsys,
1959 u32 hC, int *threshold); 1825 u32 hC, int *threshold);
1960
1961/*******************************
1962 Universal control
1963*******************************/
1964u16 hpi_entity_find_next(struct hpi_entity *container_entity,
1965 enum e_entity_type type, enum e_entity_role role, int recursive_flag,
1966 struct hpi_entity **current_match);
1967
1968u16 hpi_entity_copy_value_from(struct hpi_entity *entity,
1969 enum e_entity_type type, size_t item_count, void *value_dst_p);
1970
1971u16 hpi_entity_unpack(struct hpi_entity *entity, enum e_entity_type *type,
1972 size_t *items, enum e_entity_role *role, void **value);
1973
1974u16 hpi_entity_alloc_and_pack(const enum e_entity_type type,
1975 const size_t item_count, const enum e_entity_role role, void *value,
1976 struct hpi_entity **entity);
1977
1978void hpi_entity_free(struct hpi_entity *entity);
1979
1980u16 hpi_universal_info(const struct hpi_hsubsys *ph_subsys, u32 hC,
1981 struct hpi_entity **info);
1982
1983u16 hpi_universal_get(const struct hpi_hsubsys *ph_subsys, u32 hC,
1984 struct hpi_entity **value);
1985
1986u16 hpi_universal_set(const struct hpi_hsubsys *ph_subsys, u32 hC,
1987 struct hpi_entity *value);
1988
1989/*/////////// */
1990/* DSP CLOCK */
1991/*/////////// */
1992u16 hpi_clock_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index,
1993 u32 *ph_dsp_clock);
1994
1995u16 hpi_clock_set_time(const struct hpi_hsubsys *ph_subsys, u32 h_clock,
1996 u16 hour, u16 minute, u16 second, u16 milli_second);
1997
1998u16 hpi_clock_get_time(const struct hpi_hsubsys *ph_subsys, u32 h_clock,
1999 u16 *pw_hour, u16 *pw_minute, u16 *pw_second, u16 *pw_milli_second);
2000
2001/*/////////// */
2002/* PROFILE */
2003/*/////////// */
2004u16 hpi_profile_open_all(const struct hpi_hsubsys *ph_subsys,
2005 u16 adapter_index, u16 profile_index, u32 *ph_profile,
2006 u16 *pw_max_profiles);
2007
2008u16 hpi_profile_get(const struct hpi_hsubsys *ph_subsys, u32 h_profile,
2009 u16 index, u16 *pw_seconds, u32 *pmicro_seconds, u32 *pcall_count,
2010 u32 *pmax_micro_seconds, u32 *pmin_micro_seconds);
2011
2012u16 hpi_profile_start_all(const struct hpi_hsubsys *ph_subsys, u32 h_profile);
2013
2014u16 hpi_profile_stop_all(const struct hpi_hsubsys *ph_subsys, u32 h_profile);
2015
2016u16 hpi_profile_get_name(const struct hpi_hsubsys *ph_subsys, u32 h_profile,
2017 u16 index, char *sz_profile_name, u16 profile_name_length);
2018
2019u16 hpi_profile_get_utilization(const struct hpi_hsubsys *ph_subsys,
2020 u32 h_profile, u32 *putilization);
2021
2022/*//////////////////// */ 1826/*//////////////////// */
2023/* UTILITY functions */ 1827/* UTILITY functions */
2024 1828