diff options
Diffstat (limited to 'sound/pci/asihpi/hpi.h')
-rw-r--r-- | sound/pci/asihpi/hpi.h | 1216 |
1 files changed, 449 insertions, 767 deletions
diff --git a/sound/pci/asihpi/hpi.h b/sound/pci/asihpi/hpi.h index 23399d02f666..255429c32c1c 100644 --- a/sound/pci/asihpi/hpi.h +++ b/sound/pci/asihpi/hpi.h | |||
@@ -24,17 +24,10 @@ | |||
24 | 24 | ||
25 | The HPI is a low-level hardware abstraction layer to all | 25 | The HPI is a low-level hardware abstraction layer to all |
26 | AudioScience digital audio adapters | 26 | AudioScience digital audio adapters |
27 | */ | ||
28 | /* | ||
29 | You must define one operating system that the HPI is to be compiled under | ||
30 | HPI_OS_WIN32_USER 32bit Windows | ||
31 | HPI_OS_DSP_C6000 DSP TI C6000 (automatically set) | ||
32 | HPI_OS_WDM Windows WDM kernel driver | ||
33 | HPI_OS_LINUX Linux userspace | ||
34 | HPI_OS_LINUX_KERNEL Linux kernel (automatically set) | ||
35 | 27 | ||
36 | (C) Copyright AudioScience Inc. 1998-2010 | 28 | (C) Copyright AudioScience Inc. 1998-2010 |
37 | ******************************************************************************/ | 29 | */ |
30 | |||
38 | #ifndef _HPI_H_ | 31 | #ifndef _HPI_H_ |
39 | #define _HPI_H_ | 32 | #define _HPI_H_ |
40 | /* HPI Version | 33 | /* HPI Version |
@@ -50,20 +43,20 @@ i.e 3.05.02 is a development version | |||
50 | #define HPI_VER_RELEASE(v) ((int)(v & 0xFF)) | 43 | #define HPI_VER_RELEASE(v) ((int)(v & 0xFF)) |
51 | 44 | ||
52 | /* Use single digits for versions less that 10 to avoid octal. */ | 45 | /* Use single digits for versions less that 10 to avoid octal. */ |
53 | #define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 4, 1) | 46 | #define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 6, 0) |
54 | #define HPI_VER_STRING "4.04.01" | 47 | #define HPI_VER_STRING "4.06.00" |
55 | 48 | ||
56 | /* Library version as documented in hpi-api-versions.txt */ | 49 | /* Library version as documented in hpi-api-versions.txt */ |
57 | #define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0) | 50 | #define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0) |
58 | 51 | ||
59 | #include <linux/types.h> | 52 | #include <linux/types.h> |
60 | #define HPI_EXCLUDE_DEPRECATED | 53 | #define HPI_BUILD_EXCLUDE_DEPRECATED |
54 | #define HPI_BUILD_KERNEL_MODE | ||
61 | 55 | ||
62 | /******************************************************************************/ | 56 | /******************************************************************************/ |
63 | /******************************************************************************/ | ||
64 | /******** HPI API DEFINITIONS *****/ | 57 | /******** HPI API DEFINITIONS *****/ |
65 | /******************************************************************************/ | 58 | /******************************************************************************/ |
66 | /******************************************************************************/ | 59 | |
67 | /*******************************************/ | 60 | /*******************************************/ |
68 | /** Audio format types | 61 | /** Audio format types |
69 | \ingroup stream | 62 | \ingroup stream |
@@ -174,7 +167,6 @@ The range is +1.0 to -1.0, which corresponds to digital fullscale. | |||
174 | HPI_FORMAT_UNDEFINED = 0xffff | 167 | HPI_FORMAT_UNDEFINED = 0xffff |
175 | }; | 168 | }; |
176 | 169 | ||
177 | /******************************************* in/out Stream states */ | ||
178 | /*******************************************/ | 170 | /*******************************************/ |
179 | /** Stream States | 171 | /** Stream States |
180 | \ingroup stream | 172 | \ingroup stream |
@@ -194,7 +186,7 @@ enum HPI_STREAM_STATES { | |||
194 | cards to be ready. */ | 186 | cards to be ready. */ |
195 | HPI_STATE_WAIT = 6 | 187 | HPI_STATE_WAIT = 6 |
196 | }; | 188 | }; |
197 | /******************************************* mixer source node types */ | 189 | /*******************************************/ |
198 | /** Source node types | 190 | /** Source node types |
199 | \ingroup mixer | 191 | \ingroup mixer |
200 | */ | 192 | */ |
@@ -224,7 +216,7 @@ enum HPI_SOURCENODES { | |||
224 | /* AX6 max sourcenode types = 15 */ | 216 | /* AX6 max sourcenode types = 15 */ |
225 | }; | 217 | }; |
226 | 218 | ||
227 | /******************************************* mixer dest node types */ | 219 | /*******************************************/ |
228 | /** Destination node types | 220 | /** Destination node types |
229 | \ingroup mixer | 221 | \ingroup mixer |
230 | */ | 222 | */ |
@@ -262,11 +254,11 @@ enum HPI_CONTROLS { | |||
262 | HPI_CONTROL_MUTE = 4, /*mute control - not used at present. */ | 254 | HPI_CONTROL_MUTE = 4, /*mute control - not used at present. */ |
263 | HPI_CONTROL_MULTIPLEXER = 5, /**< multiplexer control. */ | 255 | HPI_CONTROL_MULTIPLEXER = 5, /**< multiplexer control. */ |
264 | 256 | ||
265 | HPI_CONTROL_AESEBU_TRANSMITTER = 6, /**< AES/EBU transmitter control. */ | 257 | HPI_CONTROL_AESEBU_TRANSMITTER = 6, /**< AES/EBU transmitter control */ |
266 | HPI_CONTROL_AESEBUTX = HPI_CONTROL_AESEBU_TRANSMITTER, | 258 | HPI_CONTROL_AESEBUTX = 6, /* HPI_CONTROL_AESEBU_TRANSMITTER */ |
267 | 259 | ||
268 | HPI_CONTROL_AESEBU_RECEIVER = 7, /**< AES/EBU receiver control. */ | 260 | HPI_CONTROL_AESEBU_RECEIVER = 7, /**< AES/EBU receiver control. */ |
269 | HPI_CONTROL_AESEBURX = HPI_CONTROL_AESEBU_RECEIVER, | 261 | HPI_CONTROL_AESEBURX = 7, /* HPI_CONTROL_AESEBU_RECEIVER */ |
270 | 262 | ||
271 | HPI_CONTROL_LEVEL = 8, /**< level/trim control - works in d_bu. */ | 263 | HPI_CONTROL_LEVEL = 8, /**< level/trim control - works in d_bu. */ |
272 | HPI_CONTROL_TUNER = 9, /**< tuner control. */ | 264 | HPI_CONTROL_TUNER = 9, /**< tuner control. */ |
@@ -281,7 +273,7 @@ enum HPI_CONTROLS { | |||
281 | HPI_CONTROL_SAMPLECLOCK = 17, /**< sample clock control. */ | 273 | HPI_CONTROL_SAMPLECLOCK = 17, /**< sample clock control. */ |
282 | HPI_CONTROL_MICROPHONE = 18, /**< microphone control. */ | 274 | HPI_CONTROL_MICROPHONE = 18, /**< microphone control. */ |
283 | HPI_CONTROL_PARAMETRIC_EQ = 19, /**< parametric EQ control. */ | 275 | HPI_CONTROL_PARAMETRIC_EQ = 19, /**< parametric EQ control. */ |
284 | HPI_CONTROL_EQUALIZER = HPI_CONTROL_PARAMETRIC_EQ, | 276 | HPI_CONTROL_EQUALIZER = 19, /*HPI_CONTROL_PARAMETRIC_EQ */ |
285 | 277 | ||
286 | HPI_CONTROL_COMPANDER = 20, /**< compander control. */ | 278 | HPI_CONTROL_COMPANDER = 20, /**< compander control. */ |
287 | HPI_CONTROL_COBRANET = 21, /**< cobranet control. */ | 279 | HPI_CONTROL_COBRANET = 21, /**< cobranet control. */ |
@@ -296,10 +288,7 @@ enum HPI_CONTROLS { | |||
296 | /* WARNING types 256 or greater impact bit packing in all AX6 DSP code */ | 288 | /* WARNING types 256 or greater impact bit packing in all AX6 DSP code */ |
297 | }; | 289 | }; |
298 | 290 | ||
299 | /* Shorthand names that match attribute names */ | 291 | /*******************************************/ |
300 | |||
301 | /******************************************* ADAPTER ATTRIBUTES ****/ | ||
302 | |||
303 | /** Adapter properties | 292 | /** Adapter properties |
304 | These are used in HPI_AdapterSetProperty() and HPI_AdapterGetProperty() | 293 | These are used in HPI_AdapterSetProperty() and HPI_AdapterGetProperty() |
305 | \ingroup adapter | 294 | \ingroup adapter |
@@ -330,12 +319,21 @@ by the driver and is not passed on to the DSP at all. | |||
330 | Indicates the state of the adapter's SSX2 setting. This setting is stored in | 319 | Indicates the state of the adapter's SSX2 setting. This setting is stored in |
331 | non-volatile memory on the adapter. A typical call sequence would be to use | 320 | non-volatile memory on the adapter. A typical call sequence would be to use |
332 | HPI_ADAPTER_PROPERTY_SSX2_SETTING to set SSX2 on the adapter and then to reload | 321 | HPI_ADAPTER_PROPERTY_SSX2_SETTING to set SSX2 on the adapter and then to reload |
333 | the driver. The driver would query HPI_ADAPTER_PROPERTY_SSX2_SETTING during startup | 322 | the driver. The driver would query HPI_ADAPTER_PROPERTY_SSX2_SETTING during |
334 | and if SSX2 is set, it would then call HPI_ADAPTER_PROPERTY_ENABLE_SSX2 to enable | 323 | startup and if SSX2 is set, it would then call HPI_ADAPTER_PROPERTY_ENABLE_SSX2 |
335 | SSX2 stream mapping within the kernel level of the driver. | 324 | to enable SSX2 stream mapping within the kernel level of the driver. |
336 | */ | 325 | */ |
337 | HPI_ADAPTER_PROPERTY_SSX2_SETTING = 4, | 326 | HPI_ADAPTER_PROPERTY_SSX2_SETTING = 4, |
338 | 327 | ||
328 | /** Enables/disables PCI(e) IRQ. | ||
329 | A setting of 0 indicates that no interrupts are being generated. A DSP boot | ||
330 | this property is set to 0. Setting to a non-zero value specifies the number | ||
331 | of frames of audio that should be processed between interrupts. This property | ||
332 | should be set to multiple of the mixer interval as read back from the | ||
333 | HPI_ADAPTER_PROPERTY_INTERVAL property. | ||
334 | */ | ||
335 | HPI_ADAPTER_PROPERTY_IRQ_RATE = 5, | ||
336 | |||
339 | /** Base number for readonly properties */ | 337 | /** Base number for readonly properties */ |
340 | HPI_ADAPTER_PROPERTY_READONLYBASE = 256, | 338 | HPI_ADAPTER_PROPERTY_READONLYBASE = 256, |
341 | 339 | ||
@@ -440,21 +438,30 @@ return value is true (1) or false (0). If the current adapter | |||
440 | mode is MONO SSX2 is disabled, even though this property will | 438 | mode is MONO SSX2 is disabled, even though this property will |
441 | return true. | 439 | return true. |
442 | */ | 440 | */ |
443 | HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271 | 441 | HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271, |
442 | /** Readonly supports PCI(e) IRQ. | ||
443 | Indicates that the adapter in it's current mode supports interrupts | ||
444 | across the host bus. Note, this does not imply that interrupts are | ||
445 | enabled. Instead it indicates that they can be enabled. | ||
446 | */ | ||
447 | HPI_ADAPTER_PROPERTY_SUPPORTS_IRQ = 272 | ||
444 | }; | 448 | }; |
445 | 449 | ||
446 | /** Adapter mode commands | 450 | /** Adapter mode commands |
447 | 451 | ||
448 | Used in wQueryOrSet field of HPI_AdapterSetModeEx(). | 452 | Used in wQueryOrSet parameter of HPI_AdapterSetModeEx(). |
449 | \ingroup adapter | 453 | \ingroup adapter |
450 | */ | 454 | */ |
451 | enum HPI_ADAPTER_MODE_CMDS { | 455 | enum HPI_ADAPTER_MODE_CMDS { |
456 | /** Set the mode to the given parameter */ | ||
452 | HPI_ADAPTER_MODE_SET = 0, | 457 | HPI_ADAPTER_MODE_SET = 0, |
458 | /** Return 0 or error depending whether mode is valid, | ||
459 | but don't set the mode */ | ||
453 | HPI_ADAPTER_MODE_QUERY = 1 | 460 | HPI_ADAPTER_MODE_QUERY = 1 |
454 | }; | 461 | }; |
455 | 462 | ||
456 | /** Adapter Modes | 463 | /** Adapter Modes |
457 | These are used by HPI_AdapterSetModeEx() | 464 | These are used by HPI_AdapterSetModeEx() |
458 | 465 | ||
459 | \warning - more than 16 possible modes breaks | 466 | \warning - more than 16 possible modes breaks |
460 | a bitmask in the Windows WAVE DLL | 467 | a bitmask in the Windows WAVE DLL |
@@ -629,10 +636,13 @@ enum HPI_MIXER_STORE_COMMAND { | |||
629 | HPI_MIXER_STORE_SAVE_SINGLE = 6 | 636 | HPI_MIXER_STORE_SAVE_SINGLE = 6 |
630 | }; | 637 | }; |
631 | 638 | ||
632 | /************************************* CONTROL ATTRIBUTE VALUES ****/ | 639 | /****************************/ |
640 | /* CONTROL ATTRIBUTE VALUES */ | ||
641 | /****************************/ | ||
642 | |||
633 | /** Used by mixer plugin enable functions | 643 | /** Used by mixer plugin enable functions |
634 | 644 | ||
635 | E.g. HPI_ParametricEQ_SetState() | 645 | E.g. HPI_ParametricEq_SetState() |
636 | \ingroup mixer | 646 | \ingroup mixer |
637 | */ | 647 | */ |
638 | enum HPI_SWITCH_STATES { | 648 | enum HPI_SWITCH_STATES { |
@@ -641,6 +651,7 @@ enum HPI_SWITCH_STATES { | |||
641 | }; | 651 | }; |
642 | 652 | ||
643 | /* Volume control special gain values */ | 653 | /* Volume control special gain values */ |
654 | |||
644 | /** volumes units are 100ths of a dB | 655 | /** volumes units are 100ths of a dB |
645 | \ingroup volume | 656 | \ingroup volume |
646 | */ | 657 | */ |
@@ -650,6 +661,11 @@ enum HPI_SWITCH_STATES { | |||
650 | */ | 661 | */ |
651 | #define HPI_GAIN_OFF (-100 * HPI_UNITS_PER_dB) | 662 | #define HPI_GAIN_OFF (-100 * HPI_UNITS_PER_dB) |
652 | 663 | ||
664 | /** channel mask specifying all channels | ||
665 | \ingroup volume | ||
666 | */ | ||
667 | #define HPI_BITMASK_ALL_CHANNELS (0xFFFFFFFF) | ||
668 | |||
653 | /** value returned for no signal | 669 | /** value returned for no signal |
654 | \ingroup meter | 670 | \ingroup meter |
655 | */ | 671 | */ |
@@ -667,7 +683,7 @@ enum HPI_VOLUME_AUTOFADES { | |||
667 | 683 | ||
668 | /** The physical encoding format of the AESEBU I/O. | 684 | /** The physical encoding format of the AESEBU I/O. |
669 | 685 | ||
670 | Used in HPI_AESEBU_Transmitter_SetFormat(), HPI_AESEBU_Receiver_SetFormat() | 686 | Used in HPI_Aesebu_Transmitter_SetFormat(), HPI_Aesebu_Receiver_SetFormat() |
671 | along with related Get and Query functions | 687 | along with related Get and Query functions |
672 | \ingroup aestx | 688 | \ingroup aestx |
673 | */ | 689 | */ |
@@ -680,7 +696,7 @@ enum HPI_AESEBU_FORMATS { | |||
680 | 696 | ||
681 | /** AES/EBU error status bits | 697 | /** AES/EBU error status bits |
682 | 698 | ||
683 | Returned by HPI_AESEBU_Receiver_GetErrorStatus() | 699 | Returned by HPI_Aesebu_Receiver_GetErrorStatus() |
684 | \ingroup aesrx | 700 | \ingroup aesrx |
685 | */ | 701 | */ |
686 | enum HPI_AESEBU_ERRORS { | 702 | enum HPI_AESEBU_ERRORS { |
@@ -709,7 +725,7 @@ enum HPI_AESEBU_ERRORS { | |||
709 | #define HPI_PAD_TITLE_LEN 64 | 725 | #define HPI_PAD_TITLE_LEN 64 |
710 | /** The text string containing the comment. */ | 726 | /** The text string containing the comment. */ |
711 | #define HPI_PAD_COMMENT_LEN 256 | 727 | #define HPI_PAD_COMMENT_LEN 256 |
712 | /** The PTY when the tuner has not recieved any PTY. */ | 728 | /** The PTY when the tuner has not received any PTY. */ |
713 | #define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff | 729 | #define HPI_PAD_PROGRAM_TYPE_INVALID 0xffff |
714 | /** \} */ | 730 | /** \} */ |
715 | 731 | ||
@@ -767,14 +783,6 @@ enum HPI_TUNER_MODE_VALUES { | |||
767 | HPI_TUNER_MODE_RDS_RBDS = 2 /**< RDS - RBDS mode */ | 783 | HPI_TUNER_MODE_RDS_RBDS = 2 /**< RDS - RBDS mode */ |
768 | }; | 784 | }; |
769 | 785 | ||
770 | /** Tuner Level settings | ||
771 | \ingroup tuner | ||
772 | */ | ||
773 | enum HPI_TUNER_LEVEL { | ||
774 | HPI_TUNER_LEVEL_AVERAGE = 0, | ||
775 | HPI_TUNER_LEVEL_RAW = 1 | ||
776 | }; | ||
777 | |||
778 | /** Tuner Status Bits | 786 | /** Tuner Status Bits |
779 | 787 | ||
780 | These bitfield values are returned by a call to HPI_Tuner_GetStatus(). | 788 | These bitfield values are returned by a call to HPI_Tuner_GetStatus(). |
@@ -783,13 +791,13 @@ Multiple fields are returned from a single call. | |||
783 | */ | 791 | */ |
784 | enum HPI_TUNER_STATUS_BITS { | 792 | enum HPI_TUNER_STATUS_BITS { |
785 | HPI_TUNER_VIDEO_COLOR_PRESENT = 0x0001, /**< video color is present. */ | 793 | HPI_TUNER_VIDEO_COLOR_PRESENT = 0x0001, /**< video color is present. */ |
786 | HPI_TUNER_VIDEO_IS_60HZ = 0x0020, /**< 60 hz video detected. */ | 794 | HPI_TUNER_VIDEO_IS_60HZ = 0x0020, /**< 60 hz video detected. */ |
787 | HPI_TUNER_VIDEO_HORZ_SYNC_MISSING = 0x0040, /**< video HSYNC is missing. */ | 795 | HPI_TUNER_VIDEO_HORZ_SYNC_MISSING = 0x0040, /**< video HSYNC is missing. */ |
788 | HPI_TUNER_VIDEO_STATUS_VALID = 0x0100, /**< video status is valid. */ | 796 | HPI_TUNER_VIDEO_STATUS_VALID = 0x0100, /**< video status is valid. */ |
789 | HPI_TUNER_PLL_LOCKED = 0x1000, /**< the tuner's PLL is locked. */ | 797 | HPI_TUNER_DIGITAL = 0x0200, /**< tuner reports digital programming. */ |
790 | HPI_TUNER_FM_STEREO = 0x2000, /**< tuner reports back FM stereo. */ | 798 | HPI_TUNER_MULTIPROGRAM = 0x0400, /**< tuner reports multiple programs. */ |
791 | HPI_TUNER_DIGITAL = 0x0200, /**< tuner reports digital programming. */ | 799 | HPI_TUNER_PLL_LOCKED = 0x1000, /**< the tuner's PLL is locked. */ |
792 | HPI_TUNER_MULTIPROGRAM = 0x0400 /**< tuner reports multiple programs. */ | 800 | HPI_TUNER_FM_STEREO = 0x2000 /**< tuner reports back FM stereo. */ |
793 | }; | 801 | }; |
794 | 802 | ||
795 | /** Channel Modes | 803 | /** Channel Modes |
@@ -839,7 +847,7 @@ enum HPI_SAMPLECLOCK_SOURCES { | |||
839 | HPI_SAMPLECLOCK_SOURCE_LAST = 10 | 847 | HPI_SAMPLECLOCK_SOURCE_LAST = 10 |
840 | }; | 848 | }; |
841 | 849 | ||
842 | /** Equalizer filter types. Used by HPI_ParametricEQ_SetBand() | 850 | /** Equalizer filter types. Used by HPI_ParametricEq_SetBand() |
843 | \ingroup parmeq | 851 | \ingroup parmeq |
844 | */ | 852 | */ |
845 | enum HPI_FILTER_TYPE { | 853 | enum HPI_FILTER_TYPE { |
@@ -882,7 +890,7 @@ enum HPI_ERROR_CODES { | |||
882 | HPI_ERROR_INVALID_OBJ = 101, | 890 | HPI_ERROR_INVALID_OBJ = 101, |
883 | /** Function does not exist. */ | 891 | /** Function does not exist. */ |
884 | HPI_ERROR_INVALID_FUNC = 102, | 892 | HPI_ERROR_INVALID_FUNC = 102, |
885 | /** The specified object (adapter/Stream) does not exist. */ | 893 | /** The specified object does not exist. */ |
886 | HPI_ERROR_INVALID_OBJ_INDEX = 103, | 894 | HPI_ERROR_INVALID_OBJ_INDEX = 103, |
887 | /** Trying to access an object that has not been opened yet. */ | 895 | /** Trying to access an object that has not been opened yet. */ |
888 | HPI_ERROR_OBJ_NOT_OPEN = 104, | 896 | HPI_ERROR_OBJ_NOT_OPEN = 104, |
@@ -890,8 +898,7 @@ enum HPI_ERROR_CODES { | |||
890 | HPI_ERROR_OBJ_ALREADY_OPEN = 105, | 898 | HPI_ERROR_OBJ_ALREADY_OPEN = 105, |
891 | /** PCI, ISA resource not valid. */ | 899 | /** PCI, ISA resource not valid. */ |
892 | HPI_ERROR_INVALID_RESOURCE = 106, | 900 | HPI_ERROR_INVALID_RESOURCE = 106, |
893 | /** GetInfo call from SubSysFindAdapters failed. */ | 901 | /* HPI_ERROR_SUBSYSFINDADAPTERS_GETINFO= 107 */ |
894 | HPI_ERROR_SUBSYSFINDADAPTERS_GETINFO = 107, | ||
895 | /** Default response was never updated with actual error code. */ | 902 | /** Default response was never updated with actual error code. */ |
896 | HPI_ERROR_INVALID_RESPONSE = 108, | 903 | HPI_ERROR_INVALID_RESPONSE = 108, |
897 | /** wSize field of response was not updated, | 904 | /** wSize field of response was not updated, |
@@ -899,38 +906,44 @@ enum HPI_ERROR_CODES { | |||
899 | HPI_ERROR_PROCESSING_MESSAGE = 109, | 906 | HPI_ERROR_PROCESSING_MESSAGE = 109, |
900 | /** The network did not respond in a timely manner. */ | 907 | /** The network did not respond in a timely manner. */ |
901 | HPI_ERROR_NETWORK_TIMEOUT = 110, | 908 | HPI_ERROR_NETWORK_TIMEOUT = 110, |
902 | /** An HPI handle is invalid (uninitialised?). */ | 909 | /* An HPI handle is invalid (uninitialised?). */ |
903 | HPI_ERROR_INVALID_HANDLE = 111, | 910 | HPI_ERROR_INVALID_HANDLE = 111, |
904 | /** A function or attribute has not been implemented yet. */ | 911 | /** A function or attribute has not been implemented yet. */ |
905 | HPI_ERROR_UNIMPLEMENTED = 112, | 912 | HPI_ERROR_UNIMPLEMENTED = 112, |
906 | /** There are too many clients attempting to access a network resource. */ | 913 | /** There are too many clients attempting |
914 | to access a network resource. */ | ||
907 | HPI_ERROR_NETWORK_TOO_MANY_CLIENTS = 113, | 915 | HPI_ERROR_NETWORK_TOO_MANY_CLIENTS = 113, |
908 | /** Response buffer passed to HPI_Message was smaller than returned response */ | 916 | /** Response buffer passed to HPI_Message |
917 | was smaller than returned response. | ||
918 | wSpecificError field of hpi response contains the required size. | ||
919 | */ | ||
909 | HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL = 114, | 920 | HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL = 114, |
910 | /** The returned response did not match the sent message */ | 921 | /** The returned response did not match the sent message */ |
911 | HPI_ERROR_RESPONSE_MISMATCH = 115, | 922 | HPI_ERROR_RESPONSE_MISMATCH = 115, |
923 | /** A control setting that should have been cached was not. */ | ||
924 | HPI_ERROR_CONTROL_CACHING = 116, | ||
925 | /** A message buffer in the path to the adapter was smaller | ||
926 | than the message size. | ||
927 | wSpecificError field of hpi response contains the actual size. | ||
928 | */ | ||
929 | HPI_ERROR_MESSAGE_BUFFER_TOO_SMALL = 117, | ||
912 | 930 | ||
913 | /** Too many adapters.*/ | 931 | /* HPI_ERROR_TOO_MANY_ADAPTERS= 200 */ |
914 | HPI_ERROR_TOO_MANY_ADAPTERS = 200, | ||
915 | /** Bad adpater. */ | 932 | /** Bad adpater. */ |
916 | HPI_ERROR_BAD_ADAPTER = 201, | 933 | HPI_ERROR_BAD_ADAPTER = 201, |
917 | /** Adapter number out of range or not set properly. */ | 934 | /** Adapter number out of range or not set properly. */ |
918 | HPI_ERROR_BAD_ADAPTER_NUMBER = 202, | 935 | HPI_ERROR_BAD_ADAPTER_NUMBER = 202, |
919 | /** 2 adapters with the same adapter number. */ | 936 | /** 2 adapters with the same adapter number. */ |
920 | HPI_DUPLICATE_ADAPTER_NUMBER = 203, | 937 | HPI_ERROR_DUPLICATE_ADAPTER_NUMBER = 203, |
921 | /** DSP code failed to bootload. */ | 938 | /** DSP code failed to bootload. (unused?) */ |
922 | HPI_ERROR_DSP_BOOTLOAD = 204, | 939 | HPI_ERROR_DSP_BOOTLOAD = 204, |
923 | /** Adapter failed DSP code self test. */ | ||
924 | HPI_ERROR_DSP_SELFTEST = 205, | ||
925 | /** Couldn't find or open the DSP code file. */ | 940 | /** Couldn't find or open the DSP code file. */ |
926 | HPI_ERROR_DSP_FILE_NOT_FOUND = 206, | 941 | HPI_ERROR_DSP_FILE_NOT_FOUND = 206, |
927 | /** Internal DSP hardware error. */ | 942 | /** Internal DSP hardware error. */ |
928 | HPI_ERROR_DSP_HARDWARE = 207, | 943 | HPI_ERROR_DSP_HARDWARE = 207, |
929 | /** Could not allocate memory in DOS. */ | ||
930 | HPI_ERROR_DOS_MEMORY_ALLOC = 208, | ||
931 | /** Could not allocate memory */ | 944 | /** Could not allocate memory */ |
932 | HPI_ERROR_MEMORY_ALLOC = 208, | 945 | HPI_ERROR_MEMORY_ALLOC = 208, |
933 | /** Failed to correctly load/config PLD .*/ | 946 | /** Failed to correctly load/config PLD. (unused) */ |
934 | HPI_ERROR_PLD_LOAD = 209, | 947 | HPI_ERROR_PLD_LOAD = 209, |
935 | /** Unexpected end of file, block length too big etc. */ | 948 | /** Unexpected end of file, block length too big etc. */ |
936 | HPI_ERROR_DSP_FILE_FORMAT = 210, | 949 | HPI_ERROR_DSP_FILE_FORMAT = 210, |
@@ -939,8 +952,7 @@ enum HPI_ERROR_CODES { | |||
939 | HPI_ERROR_DSP_FILE_ACCESS_DENIED = 211, | 952 | HPI_ERROR_DSP_FILE_ACCESS_DENIED = 211, |
940 | /** First DSP code section header not found in DSP file. */ | 953 | /** First DSP code section header not found in DSP file. */ |
941 | HPI_ERROR_DSP_FILE_NO_HEADER = 212, | 954 | HPI_ERROR_DSP_FILE_NO_HEADER = 212, |
942 | /** File read operation on DSP code file failed. */ | 955 | /* HPI_ERROR_DSP_FILE_READ_ERROR= 213, */ |
943 | HPI_ERROR_DSP_FILE_READ_ERROR = 213, | ||
944 | /** DSP code for adapter family not found. */ | 956 | /** DSP code for adapter family not found. */ |
945 | HPI_ERROR_DSP_SECTION_NOT_FOUND = 214, | 957 | HPI_ERROR_DSP_SECTION_NOT_FOUND = 214, |
946 | /** Other OS specific error opening DSP file. */ | 958 | /** Other OS specific error opening DSP file. */ |
@@ -950,23 +962,21 @@ enum HPI_ERROR_CODES { | |||
950 | /** DSP code section header had size == 0. */ | 962 | /** DSP code section header had size == 0. */ |
951 | HPI_ERROR_DSP_FILE_NULL_HEADER = 217, | 963 | HPI_ERROR_DSP_FILE_NULL_HEADER = 217, |
952 | 964 | ||
953 | /** Base number for flash errors. */ | 965 | /* HPI_ERROR_FLASH = 220, */ |
954 | HPI_ERROR_FLASH = 220, | ||
955 | 966 | ||
956 | /** Flash has bad checksum */ | 967 | /** Flash has bad checksum */ |
957 | HPI_ERROR_BAD_CHECKSUM = (HPI_ERROR_FLASH + 1), | 968 | HPI_ERROR_BAD_CHECKSUM = 221, |
958 | HPI_ERROR_BAD_SEQUENCE = (HPI_ERROR_FLASH + 2), | 969 | HPI_ERROR_BAD_SEQUENCE = 222, |
959 | HPI_ERROR_FLASH_ERASE = (HPI_ERROR_FLASH + 3), | 970 | HPI_ERROR_FLASH_ERASE = 223, |
960 | HPI_ERROR_FLASH_PROGRAM = (HPI_ERROR_FLASH + 4), | 971 | HPI_ERROR_FLASH_PROGRAM = 224, |
961 | HPI_ERROR_FLASH_VERIFY = (HPI_ERROR_FLASH + 5), | 972 | HPI_ERROR_FLASH_VERIFY = 225, |
962 | HPI_ERROR_FLASH_TYPE = (HPI_ERROR_FLASH + 6), | 973 | HPI_ERROR_FLASH_TYPE = 226, |
963 | HPI_ERROR_FLASH_START = (HPI_ERROR_FLASH + 7), | 974 | HPI_ERROR_FLASH_START = 227, |
964 | 975 | ||
965 | /** Reserved for OEMs. */ | 976 | /** Reserved for OEMs. */ |
966 | HPI_ERROR_RESERVED_1 = 290, | 977 | HPI_ERROR_RESERVED_1 = 290, |
967 | 978 | ||
968 | /** Stream does not exist. */ | 979 | /* HPI_ERROR_INVALID_STREAM = 300 use HPI_ERROR_INVALID_OBJ_INDEX */ |
969 | HPI_ERROR_INVALID_STREAM = 300, | ||
970 | /** Invalid compression format. */ | 980 | /** Invalid compression format. */ |
971 | HPI_ERROR_INVALID_FORMAT = 301, | 981 | HPI_ERROR_INVALID_FORMAT = 301, |
972 | /** Invalid format samplerate */ | 982 | /** Invalid format samplerate */ |
@@ -977,21 +987,19 @@ enum HPI_ERROR_CODES { | |||
977 | HPI_ERROR_INVALID_BITRATE = 304, | 987 | HPI_ERROR_INVALID_BITRATE = 304, |
978 | /** Invalid datasize used for stream read/write. */ | 988 | /** Invalid datasize used for stream read/write. */ |
979 | HPI_ERROR_INVALID_DATASIZE = 305, | 989 | HPI_ERROR_INVALID_DATASIZE = 305, |
980 | /** Stream buffer is full during stream write. */ | 990 | /* HPI_ERROR_BUFFER_FULL = 306 use HPI_ERROR_INVALID_DATASIZE */ |
981 | HPI_ERROR_BUFFER_FULL = 306, | 991 | /* HPI_ERROR_BUFFER_EMPTY = 307 use HPI_ERROR_INVALID_DATASIZE */ |
982 | /** Stream buffer is empty during stream read. */ | 992 | /** Null data pointer used for stream read/write. */ |
983 | HPI_ERROR_BUFFER_EMPTY = 307, | 993 | HPI_ERROR_INVALID_DATA_POINTER = 308, |
984 | /** Invalid datasize used for stream read/write. */ | ||
985 | HPI_ERROR_INVALID_DATA_TRANSFER = 308, | ||
986 | /** Packet ordering error for stream read/write. */ | 994 | /** Packet ordering error for stream read/write. */ |
987 | HPI_ERROR_INVALID_PACKET_ORDER = 309, | 995 | HPI_ERROR_INVALID_PACKET_ORDER = 309, |
988 | 996 | ||
989 | /** Object can't do requested operation in its current | 997 | /** Object can't do requested operation in its current |
990 | state, eg set format, change rec mux state while recording.*/ | 998 | state, eg set format, change rec mux state while recording.*/ |
991 | HPI_ERROR_INVALID_OPERATION = 310, | 999 | HPI_ERROR_INVALID_OPERATION = 310, |
992 | 1000 | ||
993 | /** Where an SRG is shared amongst streams, an incompatible samplerate is one | 1001 | /** Where a SRG is shared amongst streams, an incompatible samplerate |
994 | that is different to any currently playing or recording stream. */ | 1002 | is one that is different to any currently active stream. */ |
995 | HPI_ERROR_INCOMPATIBLE_SAMPLERATE = 311, | 1003 | HPI_ERROR_INCOMPATIBLE_SAMPLERATE = 311, |
996 | /** Adapter mode is illegal.*/ | 1004 | /** Adapter mode is illegal.*/ |
997 | HPI_ERROR_BAD_ADAPTER_MODE = 312, | 1005 | HPI_ERROR_BAD_ADAPTER_MODE = 312, |
@@ -1004,6 +1012,8 @@ enum HPI_ERROR_CODES { | |||
1004 | HPI_ERROR_NO_INTERADAPTER_GROUPS = 314, | 1012 | HPI_ERROR_NO_INTERADAPTER_GROUPS = 314, |
1005 | /** Streams on different DSPs cannot be grouped. */ | 1013 | /** Streams on different DSPs cannot be grouped. */ |
1006 | HPI_ERROR_NO_INTERDSP_GROUPS = 315, | 1014 | HPI_ERROR_NO_INTERDSP_GROUPS = 315, |
1015 | /** Stream wait cancelled before threshold reached. */ | ||
1016 | HPI_ERROR_WAIT_CANCELLED = 316, | ||
1007 | 1017 | ||
1008 | /** Invalid mixer node for this adapter. */ | 1018 | /** Invalid mixer node for this adapter. */ |
1009 | HPI_ERROR_INVALID_NODE = 400, | 1019 | HPI_ERROR_INVALID_NODE = 400, |
@@ -1017,6 +1027,7 @@ enum HPI_ERROR_CODES { | |||
1017 | HPI_ERROR_CONTROL_DISABLED = 404, | 1027 | HPI_ERROR_CONTROL_DISABLED = 404, |
1018 | /** I2C transaction failed due to a missing ACK. */ | 1028 | /** I2C transaction failed due to a missing ACK. */ |
1019 | HPI_ERROR_CONTROL_I2C_MISSING_ACK = 405, | 1029 | HPI_ERROR_CONTROL_I2C_MISSING_ACK = 405, |
1030 | HPI_ERROR_I2C_MISSING_ACK = 405, | ||
1020 | /** Control is busy, or coming out of | 1031 | /** Control is busy, or coming out of |
1021 | reset and cannot be accessed at this time. */ | 1032 | reset and cannot be accessed at this time. */ |
1022 | HPI_ERROR_CONTROL_NOT_READY = 407, | 1033 | HPI_ERROR_CONTROL_NOT_READY = 407, |
@@ -1027,7 +1038,6 @@ enum HPI_ERROR_CODES { | |||
1027 | HPI_ERROR_NVMEM_FAIL = 452, | 1038 | HPI_ERROR_NVMEM_FAIL = 452, |
1028 | 1039 | ||
1029 | /** I2C */ | 1040 | /** I2C */ |
1030 | HPI_ERROR_I2C_MISSING_ACK = HPI_ERROR_CONTROL_I2C_MISSING_ACK, | ||
1031 | HPI_ERROR_I2C_BAD_ADR = 460, | 1041 | HPI_ERROR_I2C_BAD_ADR = 460, |
1032 | 1042 | ||
1033 | /** Entity errors */ | 1043 | /** Entity errors */ |
@@ -1035,6 +1045,7 @@ enum HPI_ERROR_CODES { | |||
1035 | HPI_ERROR_ENTITY_ITEM_COUNT = 471, | 1045 | HPI_ERROR_ENTITY_ITEM_COUNT = 471, |
1036 | HPI_ERROR_ENTITY_TYPE_INVALID = 472, | 1046 | HPI_ERROR_ENTITY_TYPE_INVALID = 472, |
1037 | HPI_ERROR_ENTITY_ROLE_INVALID = 473, | 1047 | HPI_ERROR_ENTITY_ROLE_INVALID = 473, |
1048 | HPI_ERROR_ENTITY_SIZE_MISMATCH = 474, | ||
1038 | 1049 | ||
1039 | /* AES18 specific errors were 500..507 */ | 1050 | /* AES18 specific errors were 500..507 */ |
1040 | 1051 | ||
@@ -1044,11 +1055,18 @@ enum HPI_ERROR_CODES { | |||
1044 | /** hpioct32.c can't obtain mutex */ | 1055 | /** hpioct32.c can't obtain mutex */ |
1045 | HPI_ERROR_MUTEX_TIMEOUT = 700, | 1056 | HPI_ERROR_MUTEX_TIMEOUT = 700, |
1046 | 1057 | ||
1047 | /** errors from HPI backends have values >= this */ | 1058 | /** Backend errors used to be greater than this. |
1059 | \deprecated Now, all backends return only errors defined here in hpi.h | ||
1060 | */ | ||
1048 | HPI_ERROR_BACKEND_BASE = 900, | 1061 | HPI_ERROR_BACKEND_BASE = 900, |
1049 | 1062 | ||
1050 | /** indicates a cached u16 value is invalid. */ | 1063 | /** Communication with DSP failed */ |
1051 | HPI_ERROR_ILLEGAL_CACHE_VALUE = 0xffff | 1064 | HPI_ERROR_DSP_COMMUNICATION = 900 |
1065 | /* Note that the dsp communication error is set to this value so that | ||
1066 | it remains compatible with any software that expects such errors | ||
1067 | to be backend errors i.e. >= 900. | ||
1068 | Do not define any new error codes with values > 900. | ||
1069 | */ | ||
1052 | }; | 1070 | }; |
1053 | 1071 | ||
1054 | /** \defgroup maximums HPI maximum values | 1072 | /** \defgroup maximums HPI maximum values |
@@ -1075,7 +1093,7 @@ enum HPI_ERROR_CODES { | |||
1075 | 1093 | ||
1076 | /**\}*/ | 1094 | /**\}*/ |
1077 | 1095 | ||
1078 | /* ////////////////////////////////////////////////////////////////////// */ | 1096 | /**************/ |
1079 | /* STRUCTURES */ | 1097 | /* STRUCTURES */ |
1080 | #ifndef DISABLE_PRAGMA_PACK1 | 1098 | #ifndef DISABLE_PRAGMA_PACK1 |
1081 | #pragma pack(push, 1) | 1099 | #pragma pack(push, 1) |
@@ -1092,7 +1110,7 @@ struct hpi_format { | |||
1092 | /**< Stereo/JointStereo/Mono */ | 1110 | /**< Stereo/JointStereo/Mono */ |
1093 | u16 mode_legacy; | 1111 | u16 mode_legacy; |
1094 | /**< Legacy ancillary mode or idle bit */ | 1112 | /**< Legacy ancillary mode or idle bit */ |
1095 | u16 unused; /**< unused */ | 1113 | u16 unused; /**< Unused */ |
1096 | u16 channels; /**< 1,2..., (or ancillary mode or idle bit */ | 1114 | u16 channels; /**< 1,2..., (or ancillary mode or idle bit */ |
1097 | u16 format; /**< HPI_FORMAT_PCM16, _MPEG etc. see #HPI_FORMATS. */ | 1115 | u16 format; /**< HPI_FORMAT_PCM16, _MPEG etc. see #HPI_FORMATS. */ |
1098 | }; | 1116 | }; |
@@ -1106,930 +1124,594 @@ struct hpi_anc_frame { | |||
1106 | */ | 1124 | */ |
1107 | struct hpi_async_event { | 1125 | struct hpi_async_event { |
1108 | u16 event_type; /**< type of event. \sa async_event */ | 1126 | u16 event_type; /**< type of event. \sa async_event */ |
1109 | u16 sequence; /**< sequence number, allows lost event detection */ | 1127 | u16 sequence; /**< Sequence number, allows lost event detection */ |
1110 | u32 state; /**< new state */ | 1128 | u32 state; /**< New state */ |
1111 | u32 h_object; /**< handle to the object returning the event. */ | 1129 | u32 h_object; /**< handle to the object returning the event. */ |
1112 | union { | 1130 | union { |
1113 | struct { | 1131 | struct { |
1114 | u16 index; /**< GPIO bit index. */ | 1132 | u16 index; /**< GPIO bit index. */ |
1115 | } gpio; | 1133 | } gpio; |
1116 | struct { | 1134 | struct { |
1117 | u16 node_index; /**< what node is the control on ? */ | 1135 | u16 node_index; /**< what node is the control on ? */ |
1118 | u16 node_type; /**< what type of node is the control on ? */ | 1136 | u16 node_type; /**< what type of node is the control on ? */ |
1119 | } control; | 1137 | } control; |
1120 | } u; | 1138 | } u; |
1121 | }; | 1139 | }; |
1122 | 1140 | ||
1123 | /*/////////////////////////////////////////////////////////////////////////// */ | ||
1124 | /* Public HPI Entity related definitions */ | ||
1125 | |||
1126 | struct hpi_entity; | ||
1127 | |||
1128 | enum 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 | |||
1147 | enum 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 | 1141 | /* skip host side function declarations for |
1173 | DSP compile and documentation extraction */ | 1142 | DSP compile and documentation extraction */ |
1174 | 1143 | ||
1175 | struct hpi_hsubsys { | ||
1176 | int not_really_used; | ||
1177 | }; | ||
1178 | |||
1179 | #ifndef DISABLE_PRAGMA_PACK1 | 1144 | #ifndef DISABLE_PRAGMA_PACK1 |
1180 | #pragma pack(pop) | 1145 | #pragma pack(pop) |
1181 | #endif | 1146 | #endif |
1182 | 1147 | ||
1183 | /*////////////////////////////////////////////////////////////////////////// */ | 1148 | /*****************/ |
1184 | /* HPI FUNCTIONS */ | 1149 | /* HPI FUNCTIONS */ |
1150 | /*****************/ | ||
1185 | 1151 | ||
1186 | /*/////////////////////////// */ | 1152 | /* Stream */ |
1187 | /* DATA and FORMAT and STREAM */ | ||
1188 | |||
1189 | u16 hpi_stream_estimate_buffer_size(struct hpi_format *pF, | 1153 | u16 hpi_stream_estimate_buffer_size(struct hpi_format *pF, |
1190 | u32 host_polling_rate_in_milli_seconds, u32 *recommended_buffer_size); | 1154 | u32 host_polling_rate_in_milli_seconds, u32 *recommended_buffer_size); |
1191 | 1155 | ||
1192 | /*/////////// */ | 1156 | /*************/ |
1193 | /* SUB SYSTEM */ | 1157 | /* SubSystem */ |
1194 | struct hpi_hsubsys *hpi_subsys_create(void | 1158 | /*************/ |
1195 | ); | ||
1196 | |||
1197 | void hpi_subsys_free(const struct hpi_hsubsys *ph_subsys); | ||
1198 | |||
1199 | u16 hpi_subsys_get_version(const struct hpi_hsubsys *ph_subsys, | ||
1200 | u32 *pversion); | ||
1201 | |||
1202 | u16 hpi_subsys_get_version_ex(const struct hpi_hsubsys *ph_subsys, | ||
1203 | u32 *pversion_ex); | ||
1204 | |||
1205 | u16 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 | |||
1208 | u16 hpi_subsys_find_adapters(const struct hpi_hsubsys *ph_subsys, | ||
1209 | u16 *pw_num_adapters, u16 aw_adapter_list[], u16 list_length); | ||
1210 | |||
1211 | u16 hpi_subsys_get_num_adapters(const struct hpi_hsubsys *ph_subsys, | ||
1212 | int *pn_num_adapters); | ||
1213 | |||
1214 | u16 hpi_subsys_get_adapter(const struct hpi_hsubsys *ph_subsys, int iterator, | ||
1215 | u32 *padapter_index, u16 *pw_adapter_type); | ||
1216 | |||
1217 | u16 hpi_subsys_ssx2_bypass(const struct hpi_hsubsys *ph_subsys, u16 bypass); | ||
1218 | 1159 | ||
1219 | u16 hpi_subsys_set_host_network_interface(const struct hpi_hsubsys *ph_subsys, | 1160 | u16 hpi_subsys_get_version_ex(u32 *pversion_ex); |
1220 | const char *sz_interface); | ||
1221 | 1161 | ||
1222 | /*///////// */ | 1162 | u16 hpi_subsys_get_num_adapters(int *pn_num_adapters); |
1223 | /* ADAPTER */ | ||
1224 | 1163 | ||
1225 | u16 hpi_adapter_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index); | 1164 | u16 hpi_subsys_get_adapter(int iterator, u32 *padapter_index, |
1165 | u16 *pw_adapter_type); | ||
1226 | 1166 | ||
1227 | u16 hpi_adapter_close(const struct hpi_hsubsys *ph_subsys, u16 adapter_index); | 1167 | /***********/ |
1168 | /* Adapter */ | ||
1169 | /***********/ | ||
1228 | 1170 | ||
1229 | u16 hpi_adapter_get_info(const struct hpi_hsubsys *ph_subsys, | 1171 | u16 hpi_adapter_open(u16 adapter_index); |
1230 | u16 adapter_index, u16 *pw_num_outstreams, u16 *pw_num_instreams, | ||
1231 | u16 *pw_version, u32 *pserial_number, u16 *pw_adapter_type); | ||
1232 | 1172 | ||
1233 | u16 hpi_adapter_get_module_by_index(const struct hpi_hsubsys *ph_subsys, | 1173 | u16 hpi_adapter_close(u16 adapter_index); |
1234 | u16 adapter_index, u16 module_index, u16 *pw_num_outputs, | ||
1235 | u16 *pw_num_inputs, u16 *pw_version, u32 *pserial_number, | ||
1236 | u16 *pw_module_type, u32 *ph_module); | ||
1237 | 1174 | ||
1238 | u16 hpi_adapter_set_mode(const struct hpi_hsubsys *ph_subsys, | 1175 | u16 hpi_adapter_get_info(u16 adapter_index, u16 *pw_num_outstreams, |
1239 | u16 adapter_index, u32 adapter_mode); | 1176 | u16 *pw_num_instreams, u16 *pw_version, u32 *pserial_number, |
1177 | u16 *pw_adapter_type); | ||
1240 | 1178 | ||
1241 | u16 hpi_adapter_set_mode_ex(const struct hpi_hsubsys *ph_subsys, | 1179 | u16 hpi_adapter_get_module_by_index(u16 adapter_index, u16 module_index, |
1242 | u16 adapter_index, u32 adapter_mode, u16 query_or_set); | 1180 | u16 *pw_num_outputs, u16 *pw_num_inputs, u16 *pw_version, |
1243 | 1181 | u32 *pserial_number, u16 *pw_module_type, u32 *ph_module); | |
1244 | u16 hpi_adapter_get_mode(const struct hpi_hsubsys *ph_subsys, | ||
1245 | u16 adapter_index, u32 *padapter_mode); | ||
1246 | |||
1247 | u16 hpi_adapter_get_assert(const struct hpi_hsubsys *ph_subsys, | ||
1248 | u16 adapter_index, u16 *assert_present, char *psz_assert, | ||
1249 | u16 *pw_line_number); | ||
1250 | |||
1251 | u16 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 | |||
1255 | u16 hpi_adapter_test_assert(const struct hpi_hsubsys *ph_subsys, | ||
1256 | u16 adapter_index, u16 assert_id); | ||
1257 | |||
1258 | u16 hpi_adapter_enable_capability(const struct hpi_hsubsys *ph_subsys, | ||
1259 | u16 adapter_index, u16 capability, u32 key); | ||
1260 | |||
1261 | u16 hpi_adapter_self_test(const struct hpi_hsubsys *ph_subsys, | ||
1262 | u16 adapter_index); | ||
1263 | |||
1264 | u16 hpi_adapter_debug_read(const struct hpi_hsubsys *ph_subsys, | ||
1265 | u16 adapter_index, u32 dsp_address, char *p_bytes, int *count_bytes); | ||
1266 | |||
1267 | u16 hpi_adapter_set_property(const struct hpi_hsubsys *ph_subsys, | ||
1268 | u16 adapter_index, u16 property, u16 paramter1, u16 paramter2); | ||
1269 | |||
1270 | u16 hpi_adapter_get_property(const struct hpi_hsubsys *ph_subsys, | ||
1271 | u16 adapter_index, u16 property, u16 *pw_paramter1, | ||
1272 | u16 *pw_paramter2); | ||
1273 | |||
1274 | u16 hpi_adapter_enumerate_property(const struct hpi_hsubsys *ph_subsys, | ||
1275 | u16 adapter_index, u16 index, u16 what_to_enumerate, | ||
1276 | u16 property_index, u32 *psetting); | ||
1277 | |||
1278 | /*////////////// */ | ||
1279 | /* NonVol Memory */ | ||
1280 | u16 hpi_nv_memory_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index, | ||
1281 | u32 *ph_nv_memory, u16 *pw_size_in_bytes); | ||
1282 | |||
1283 | u16 hpi_nv_memory_read_byte(const struct hpi_hsubsys *ph_subsys, | ||
1284 | u32 h_nv_memory, u16 index, u16 *pw_data); | ||
1285 | |||
1286 | u16 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 */ | ||
1291 | u16 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 | |||
1294 | u16 hpi_gpio_read_bit(const struct hpi_hsubsys *ph_subsys, u32 h_gpio, | ||
1295 | u16 bit_index, u16 *pw_bit_data); | ||
1296 | |||
1297 | u16 hpi_gpio_read_all_bits(const struct hpi_hsubsys *ph_subsys, u32 h_gpio, | ||
1298 | u16 aw_all_bit_data[4] | ||
1299 | ); | ||
1300 | 1182 | ||
1301 | u16 hpi_gpio_write_bit(const struct hpi_hsubsys *ph_subsys, u32 h_gpio, | 1183 | u16 hpi_adapter_set_mode(u16 adapter_index, u32 adapter_mode); |
1302 | u16 bit_index, u16 bit_data); | ||
1303 | 1184 | ||
1304 | u16 hpi_gpio_write_status(const struct hpi_hsubsys *ph_subsys, u32 h_gpio, | 1185 | u16 hpi_adapter_set_mode_ex(u16 adapter_index, u32 adapter_mode, |
1305 | u16 aw_all_bit_data[4] | 1186 | u16 query_or_set); |
1306 | ); | ||
1307 | 1187 | ||
1308 | /**********************/ | 1188 | u16 hpi_adapter_get_mode(u16 adapter_index, u32 *padapter_mode); |
1309 | /* Async Event Object */ | ||
1310 | /**********************/ | ||
1311 | u16 hpi_async_event_open(const struct hpi_hsubsys *ph_subsys, | ||
1312 | u16 adapter_index, u32 *ph_async); | ||
1313 | 1189 | ||
1314 | u16 hpi_async_event_close(const struct hpi_hsubsys *ph_subsys, u32 h_async); | 1190 | u16 hpi_adapter_get_assert2(u16 adapter_index, u16 *p_assert_count, |
1191 | char *psz_assert, u32 *p_param1, u32 *p_param2, | ||
1192 | u32 *p_dsp_string_addr, u16 *p_processor_id); | ||
1315 | 1193 | ||
1316 | u16 hpi_async_event_wait(const struct hpi_hsubsys *ph_subsys, u32 h_async, | 1194 | u16 hpi_adapter_test_assert(u16 adapter_index, u16 assert_id); |
1317 | u16 maximum_events, struct hpi_async_event *p_events, | ||
1318 | u16 *pw_number_returned); | ||
1319 | 1195 | ||
1320 | u16 hpi_async_event_get_count(const struct hpi_hsubsys *ph_subsys, | 1196 | u16 hpi_adapter_enable_capability(u16 adapter_index, u16 capability, u32 key); |
1321 | u32 h_async, u16 *pw_count); | ||
1322 | 1197 | ||
1323 | u16 hpi_async_event_get(const struct hpi_hsubsys *ph_subsys, u32 h_async, | 1198 | u16 hpi_adapter_self_test(u16 adapter_index); |
1324 | u16 maximum_events, struct hpi_async_event *p_events, | ||
1325 | u16 *pw_number_returned); | ||
1326 | 1199 | ||
1327 | /*/////////// */ | 1200 | u16 hpi_adapter_debug_read(u16 adapter_index, u32 dsp_address, char *p_bytes, |
1328 | /* WATCH-DOG */ | 1201 | int *count_bytes); |
1329 | u16 hpi_watchdog_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index, | ||
1330 | u32 *ph_watchdog); | ||
1331 | 1202 | ||
1332 | u16 hpi_watchdog_set_time(const struct hpi_hsubsys *ph_subsys, u32 h_watchdog, | 1203 | u16 hpi_adapter_set_property(u16 adapter_index, u16 property, u16 paramter1, |
1333 | u32 time_millisec); | 1204 | u16 paramter2); |
1334 | 1205 | ||
1335 | u16 hpi_watchdog_ping(const struct hpi_hsubsys *ph_subsys, u32 h_watchdog); | 1206 | u16 hpi_adapter_get_property(u16 adapter_index, u16 property, |
1207 | u16 *pw_paramter1, u16 *pw_paramter2); | ||
1336 | 1208 | ||
1337 | /**************/ | 1209 | u16 hpi_adapter_enumerate_property(u16 adapter_index, u16 index, |
1338 | /* OUT STREAM */ | 1210 | u16 what_to_enumerate, u16 property_index, u32 *psetting); |
1339 | /**************/ | 1211 | /*************/ |
1340 | u16 hpi_outstream_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index, | 1212 | /* OutStream */ |
1341 | u16 outstream_index, u32 *ph_outstream); | 1213 | /*************/ |
1214 | u16 hpi_outstream_open(u16 adapter_index, u16 outstream_index, | ||
1215 | u32 *ph_outstream); | ||
1342 | 1216 | ||
1343 | u16 hpi_outstream_close(const struct hpi_hsubsys *ph_subsys, u32 h_outstream); | 1217 | u16 hpi_outstream_close(u32 h_outstream); |
1344 | 1218 | ||
1345 | u16 hpi_outstream_get_info_ex(const struct hpi_hsubsys *ph_subsys, | 1219 | u16 hpi_outstream_get_info_ex(u32 h_outstream, u16 *pw_state, |
1346 | u32 h_outstream, u16 *pw_state, u32 *pbuffer_size, u32 *pdata_to_play, | 1220 | u32 *pbuffer_size, u32 *pdata_to_play, u32 *psamples_played, |
1347 | u32 *psamples_played, u32 *pauxiliary_data_to_play); | 1221 | u32 *pauxiliary_data_to_play); |
1348 | 1222 | ||
1349 | u16 hpi_outstream_write_buf(const struct hpi_hsubsys *ph_subsys, | 1223 | u16 hpi_outstream_write_buf(u32 h_outstream, const u8 *pb_write_buf, |
1350 | u32 h_outstream, const u8 *pb_write_buf, u32 bytes_to_write, | 1224 | u32 bytes_to_write, const struct hpi_format *p_format); |
1351 | const struct hpi_format *p_format); | ||
1352 | 1225 | ||
1353 | u16 hpi_outstream_start(const struct hpi_hsubsys *ph_subsys, u32 h_outstream); | 1226 | u16 hpi_outstream_start(u32 h_outstream); |
1354 | 1227 | ||
1355 | u16 hpi_outstream_wait_start(const struct hpi_hsubsys *ph_subsys, | 1228 | u16 hpi_outstream_wait_start(u32 h_outstream); |
1356 | u32 h_outstream); | ||
1357 | 1229 | ||
1358 | u16 hpi_outstream_stop(const struct hpi_hsubsys *ph_subsys, u32 h_outstream); | 1230 | u16 hpi_outstream_stop(u32 h_outstream); |
1359 | 1231 | ||
1360 | u16 hpi_outstream_sinegen(const struct hpi_hsubsys *ph_subsys, | 1232 | u16 hpi_outstream_sinegen(u32 h_outstream); |
1361 | u32 h_outstream); | ||
1362 | 1233 | ||
1363 | u16 hpi_outstream_reset(const struct hpi_hsubsys *ph_subsys, u32 h_outstream); | 1234 | u16 hpi_outstream_reset(u32 h_outstream); |
1364 | 1235 | ||
1365 | u16 hpi_outstream_query_format(const struct hpi_hsubsys *ph_subsys, | 1236 | u16 hpi_outstream_query_format(u32 h_outstream, struct hpi_format *p_format); |
1366 | u32 h_outstream, struct hpi_format *p_format); | ||
1367 | 1237 | ||
1368 | u16 hpi_outstream_set_format(const struct hpi_hsubsys *ph_subsys, | 1238 | u16 hpi_outstream_set_format(u32 h_outstream, struct hpi_format *p_format); |
1369 | u32 h_outstream, struct hpi_format *p_format); | ||
1370 | 1239 | ||
1371 | u16 hpi_outstream_set_punch_in_out(const struct hpi_hsubsys *ph_subsys, | 1240 | u16 hpi_outstream_set_punch_in_out(u32 h_outstream, u32 punch_in_sample, |
1372 | u32 h_outstream, u32 punch_in_sample, u32 punch_out_sample); | 1241 | u32 punch_out_sample); |
1373 | 1242 | ||
1374 | u16 hpi_outstream_set_velocity(const struct hpi_hsubsys *ph_subsys, | 1243 | u16 hpi_outstream_set_velocity(u32 h_outstream, short velocity); |
1375 | u32 h_outstream, short velocity); | ||
1376 | 1244 | ||
1377 | u16 hpi_outstream_ancillary_reset(const struct hpi_hsubsys *ph_subsys, | 1245 | u16 hpi_outstream_ancillary_reset(u32 h_outstream, u16 mode); |
1378 | u32 h_outstream, u16 mode); | ||
1379 | 1246 | ||
1380 | u16 hpi_outstream_ancillary_get_info(const struct hpi_hsubsys *ph_subsys, | 1247 | u16 hpi_outstream_ancillary_get_info(u32 h_outstream, u32 *pframes_available); |
1381 | u32 h_outstream, u32 *pframes_available); | ||
1382 | 1248 | ||
1383 | u16 hpi_outstream_ancillary_read(const struct hpi_hsubsys *ph_subsys, | 1249 | u16 hpi_outstream_ancillary_read(u32 h_outstream, |
1384 | u32 h_outstream, struct hpi_anc_frame *p_anc_frame_buffer, | 1250 | struct hpi_anc_frame *p_anc_frame_buffer, |
1385 | u32 anc_frame_buffer_size_in_bytes, | 1251 | u32 anc_frame_buffer_size_in_bytes, |
1386 | u32 number_of_ancillary_frames_to_read); | 1252 | u32 number_of_ancillary_frames_to_read); |
1387 | 1253 | ||
1388 | u16 hpi_outstream_set_time_scale(const struct hpi_hsubsys *ph_subsys, | 1254 | u16 hpi_outstream_set_time_scale(u32 h_outstream, u32 time_scaleX10000); |
1389 | u32 h_outstream, u32 time_scaleX10000); | ||
1390 | 1255 | ||
1391 | u16 hpi_outstream_host_buffer_allocate(const struct hpi_hsubsys *ph_subsys, | 1256 | u16 hpi_outstream_host_buffer_allocate(u32 h_outstream, u32 size_in_bytes); |
1392 | u32 h_outstream, u32 size_in_bytes); | ||
1393 | 1257 | ||
1394 | u16 hpi_outstream_host_buffer_free(const struct hpi_hsubsys *ph_subsys, | 1258 | u16 hpi_outstream_host_buffer_free(u32 h_outstream); |
1395 | u32 h_outstream); | ||
1396 | 1259 | ||
1397 | u16 hpi_outstream_group_add(const struct hpi_hsubsys *ph_subsys, | 1260 | u16 hpi_outstream_group_add(u32 h_outstream, u32 h_stream); |
1398 | u32 h_outstream, u32 h_stream); | ||
1399 | 1261 | ||
1400 | u16 hpi_outstream_group_get_map(const struct hpi_hsubsys *ph_subsys, | 1262 | u16 hpi_outstream_group_get_map(u32 h_outstream, u32 *poutstream_map, |
1401 | u32 h_outstream, u32 *poutstream_map, u32 *pinstream_map); | 1263 | u32 *pinstream_map); |
1402 | 1264 | ||
1403 | u16 hpi_outstream_group_reset(const struct hpi_hsubsys *ph_subsys, | 1265 | u16 hpi_outstream_group_reset(u32 h_outstream); |
1404 | u32 h_outstream); | ||
1405 | 1266 | ||
1406 | /*////////// */ | 1267 | /************/ |
1407 | /* IN_STREAM */ | 1268 | /* InStream */ |
1408 | u16 hpi_instream_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index, | 1269 | /************/ |
1409 | u16 instream_index, u32 *ph_instream); | 1270 | u16 hpi_instream_open(u16 adapter_index, u16 instream_index, |
1271 | u32 *ph_instream); | ||
1410 | 1272 | ||
1411 | u16 hpi_instream_close(const struct hpi_hsubsys *ph_subsys, u32 h_instream); | 1273 | u16 hpi_instream_close(u32 h_instream); |
1412 | 1274 | ||
1413 | u16 hpi_instream_query_format(const struct hpi_hsubsys *ph_subsys, | 1275 | u16 hpi_instream_query_format(u32 h_instream, |
1414 | u32 h_instream, const struct hpi_format *p_format); | 1276 | const struct hpi_format *p_format); |
1415 | 1277 | ||
1416 | u16 hpi_instream_set_format(const struct hpi_hsubsys *ph_subsys, | 1278 | u16 hpi_instream_set_format(u32 h_instream, |
1417 | u32 h_instream, const struct hpi_format *p_format); | 1279 | const struct hpi_format *p_format); |
1418 | 1280 | ||
1419 | u16 hpi_instream_read_buf(const struct hpi_hsubsys *ph_subsys, u32 h_instream, | 1281 | u16 hpi_instream_read_buf(u32 h_instream, u8 *pb_read_buf, u32 bytes_to_read); |
1420 | u8 *pb_read_buf, u32 bytes_to_read); | ||
1421 | 1282 | ||
1422 | u16 hpi_instream_start(const struct hpi_hsubsys *ph_subsys, u32 h_instream); | 1283 | u16 hpi_instream_start(u32 h_instream); |
1423 | 1284 | ||
1424 | u16 hpi_instream_wait_start(const struct hpi_hsubsys *ph_subsys, | 1285 | u16 hpi_instream_wait_start(u32 h_instream); |
1425 | u32 h_instream); | ||
1426 | 1286 | ||
1427 | u16 hpi_instream_stop(const struct hpi_hsubsys *ph_subsys, u32 h_instream); | 1287 | u16 hpi_instream_stop(u32 h_instream); |
1428 | 1288 | ||
1429 | u16 hpi_instream_reset(const struct hpi_hsubsys *ph_subsys, u32 h_instream); | 1289 | u16 hpi_instream_reset(u32 h_instream); |
1430 | 1290 | ||
1431 | u16 hpi_instream_get_info_ex(const struct hpi_hsubsys *ph_subsys, | 1291 | u16 hpi_instream_get_info_ex(u32 h_instream, u16 *pw_state, u32 *pbuffer_size, |
1432 | u32 h_instream, u16 *pw_state, u32 *pbuffer_size, u32 *pdata_recorded, | 1292 | u32 *pdata_recorded, u32 *psamples_recorded, |
1433 | u32 *psamples_recorded, u32 *pauxiliary_data_recorded); | 1293 | u32 *pauxiliary_data_recorded); |
1434 | 1294 | ||
1435 | u16 hpi_instream_ancillary_reset(const struct hpi_hsubsys *ph_subsys, | 1295 | u16 hpi_instream_ancillary_reset(u32 h_instream, u16 bytes_per_frame, |
1436 | u32 h_instream, u16 bytes_per_frame, u16 mode, u16 alignment, | 1296 | u16 mode, u16 alignment, u16 idle_bit); |
1437 | u16 idle_bit); | ||
1438 | 1297 | ||
1439 | u16 hpi_instream_ancillary_get_info(const struct hpi_hsubsys *ph_subsys, | 1298 | u16 hpi_instream_ancillary_get_info(u32 h_instream, u32 *pframe_space); |
1440 | u32 h_instream, u32 *pframe_space); | ||
1441 | 1299 | ||
1442 | u16 hpi_instream_ancillary_write(const struct hpi_hsubsys *ph_subsys, | 1300 | u16 hpi_instream_ancillary_write(u32 h_instream, |
1443 | u32 h_instream, const struct hpi_anc_frame *p_anc_frame_buffer, | 1301 | const struct hpi_anc_frame *p_anc_frame_buffer, |
1444 | u32 anc_frame_buffer_size_in_bytes, | 1302 | u32 anc_frame_buffer_size_in_bytes, |
1445 | u32 number_of_ancillary_frames_to_write); | 1303 | u32 number_of_ancillary_frames_to_write); |
1446 | 1304 | ||
1447 | u16 hpi_instream_host_buffer_allocate(const struct hpi_hsubsys *ph_subsys, | 1305 | u16 hpi_instream_host_buffer_allocate(u32 h_instream, u32 size_in_bytes); |
1448 | u32 h_instream, u32 size_in_bytes); | ||
1449 | 1306 | ||
1450 | u16 hpi_instream_host_buffer_free(const struct hpi_hsubsys *ph_subsys, | 1307 | u16 hpi_instream_host_buffer_free(u32 h_instream); |
1451 | u32 h_instream); | ||
1452 | 1308 | ||
1453 | u16 hpi_instream_group_add(const struct hpi_hsubsys *ph_subsys, | 1309 | u16 hpi_instream_group_add(u32 h_instream, u32 h_stream); |
1454 | u32 h_instream, u32 h_stream); | ||
1455 | 1310 | ||
1456 | u16 hpi_instream_group_get_map(const struct hpi_hsubsys *ph_subsys, | 1311 | u16 hpi_instream_group_get_map(u32 h_instream, u32 *poutstream_map, |
1457 | u32 h_instream, u32 *poutstream_map, u32 *pinstream_map); | 1312 | u32 *pinstream_map); |
1458 | 1313 | ||
1459 | u16 hpi_instream_group_reset(const struct hpi_hsubsys *ph_subsys, | 1314 | u16 hpi_instream_group_reset(u32 h_instream); |
1460 | u32 h_instream); | ||
1461 | 1315 | ||
1462 | /*********/ | 1316 | /*********/ |
1463 | /* MIXER */ | 1317 | /* Mixer */ |
1464 | /*********/ | 1318 | /*********/ |
1465 | u16 hpi_mixer_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index, | 1319 | u16 hpi_mixer_open(u16 adapter_index, u32 *ph_mixer); |
1466 | u32 *ph_mixer); | 1320 | |
1467 | 1321 | u16 hpi_mixer_close(u32 h_mixer); | |
1468 | u16 hpi_mixer_close(const struct hpi_hsubsys *ph_subsys, u32 h_mixer); | 1322 | |
1469 | 1323 | u16 hpi_mixer_get_control(u32 h_mixer, u16 src_node_type, | |
1470 | u16 hpi_mixer_get_control(const struct hpi_hsubsys *ph_subsys, u32 h_mixer, | 1324 | u16 src_node_type_index, u16 dst_node_type, u16 dst_node_type_index, |
1471 | u16 src_node_type, u16 src_node_type_index, u16 dst_node_type, | 1325 | u16 control_type, u32 *ph_control); |
1472 | u16 dst_node_type_index, u16 control_type, u32 *ph_control); | 1326 | |
1473 | 1327 | u16 hpi_mixer_get_control_by_index(u32 h_mixer, u16 control_index, | |
1474 | u16 hpi_mixer_get_control_by_index(const struct hpi_hsubsys *ph_subsys, | 1328 | u16 *pw_src_node_type, u16 *pw_src_node_index, u16 *pw_dst_node_type, |
1475 | u32 h_mixer, u16 control_index, u16 *pw_src_node_type, | 1329 | u16 *pw_dst_node_index, u16 *pw_control_type, u32 *ph_control); |
1476 | u16 *pw_src_node_index, u16 *pw_dst_node_type, u16 *pw_dst_node_index, | 1330 | |
1477 | u16 *pw_control_type, u32 *ph_control); | 1331 | u16 hpi_mixer_store(u32 h_mixer, enum HPI_MIXER_STORE_COMMAND command, |
1478 | 1332 | u16 index); | |
1479 | u16 hpi_mixer_store(const struct hpi_hsubsys *ph_subsys, u32 h_mixer, | 1333 | /************/ |
1480 | enum HPI_MIXER_STORE_COMMAND command, u16 index); | 1334 | /* Controls */ |
1481 | /*************************/ | 1335 | /************/ |
1482 | /* mixer CONTROLS */ | 1336 | /******************/ |
1483 | /*************************/ | 1337 | /* Volume control */ |
1484 | /*************************/ | 1338 | /******************/ |
1485 | /* volume control */ | 1339 | u16 hpi_volume_set_gain(u32 h_control, short an_gain0_01dB[HPI_MAX_CHANNELS] |
1486 | /*************************/ | ||
1487 | u16 hpi_volume_set_gain(const struct hpi_hsubsys *ph_subsys, u32 h_control, | ||
1488 | short an_gain0_01dB[HPI_MAX_CHANNELS] | ||
1489 | ); | 1340 | ); |
1490 | 1341 | ||
1491 | u16 hpi_volume_get_gain(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1342 | u16 hpi_volume_get_gain(u32 h_control, |
1492 | short an_gain0_01dB_out[HPI_MAX_CHANNELS] | 1343 | short an_gain0_01dB_out[HPI_MAX_CHANNELS] |
1493 | ); | 1344 | ); |
1494 | 1345 | ||
1346 | u16 hpi_volume_set_mute(u32 h_control, u32 mute); | ||
1347 | |||
1348 | u16 hpi_volume_get_mute(u32 h_control, u32 *mute); | ||
1349 | |||
1495 | #define hpi_volume_get_range hpi_volume_query_range | 1350 | #define hpi_volume_get_range hpi_volume_query_range |
1496 | u16 hpi_volume_query_range(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1351 | u16 hpi_volume_query_range(u32 h_control, short *min_gain_01dB, |
1497 | short *min_gain_01dB, short *max_gain_01dB, short *step_gain_01dB); | 1352 | short *max_gain_01dB, short *step_gain_01dB); |
1498 | 1353 | ||
1499 | u16 hpi_volume_query_channels(const struct hpi_hsubsys *ph_subsys, | 1354 | u16 hpi_volume_query_channels(const u32 h_volume, u32 *p_channels); |
1500 | const u32 h_volume, u32 *p_channels); | ||
1501 | 1355 | ||
1502 | u16 hpi_volume_auto_fade(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1356 | u16 hpi_volume_auto_fade(u32 h_control, |
1503 | short an_stop_gain0_01dB[HPI_MAX_CHANNELS], u32 duration_ms); | 1357 | short an_stop_gain0_01dB[HPI_MAX_CHANNELS], u32 duration_ms); |
1504 | 1358 | ||
1505 | u16 hpi_volume_auto_fade_profile(const struct hpi_hsubsys *ph_subsys, | 1359 | u16 hpi_volume_auto_fade_profile(u32 h_control, |
1506 | u32 h_control, short an_stop_gain0_01dB[HPI_MAX_CHANNELS], | 1360 | short an_stop_gain0_01dB[HPI_MAX_CHANNELS], u32 duration_ms, |
1507 | u32 duration_ms, u16 profile); | 1361 | u16 profile); |
1508 | 1362 | ||
1509 | /*************************/ | 1363 | /*****************/ |
1510 | /* level control */ | 1364 | /* Level control */ |
1511 | /*************************/ | 1365 | /*****************/ |
1512 | u16 hpi_level_query_range(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1366 | u16 hpi_level_query_range(u32 h_control, short *min_gain_01dB, |
1513 | short *min_gain_01dB, short *max_gain_01dB, short *step_gain_01dB); | 1367 | short *max_gain_01dB, short *step_gain_01dB); |
1514 | 1368 | ||
1515 | u16 hpi_level_set_gain(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1369 | u16 hpi_level_set_gain(u32 h_control, short an_gain0_01dB[HPI_MAX_CHANNELS] |
1516 | short an_gain0_01dB[HPI_MAX_CHANNELS] | ||
1517 | ); | 1370 | ); |
1518 | 1371 | ||
1519 | u16 hpi_level_get_gain(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1372 | u16 hpi_level_get_gain(u32 h_control, |
1520 | short an_gain0_01dB_out[HPI_MAX_CHANNELS] | 1373 | short an_gain0_01dB_out[HPI_MAX_CHANNELS] |
1521 | ); | 1374 | ); |
1522 | 1375 | ||
1523 | /*************************/ | 1376 | /*****************/ |
1524 | /* meter control */ | 1377 | /* Meter control */ |
1525 | /*************************/ | 1378 | /*****************/ |
1526 | u16 hpi_meter_query_channels(const struct hpi_hsubsys *ph_subsys, | 1379 | u16 hpi_meter_query_channels(const u32 h_meter, u32 *p_channels); |
1527 | const u32 h_meter, u32 *p_channels); | ||
1528 | 1380 | ||
1529 | u16 hpi_meter_get_peak(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1381 | u16 hpi_meter_get_peak(u32 h_control, |
1530 | short an_peak0_01dB_out[HPI_MAX_CHANNELS] | 1382 | short an_peak0_01dB_out[HPI_MAX_CHANNELS] |
1531 | ); | 1383 | ); |
1532 | 1384 | ||
1533 | u16 hpi_meter_get_rms(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1385 | u16 hpi_meter_get_rms(u32 h_control, short an_peak0_01dB_out[HPI_MAX_CHANNELS] |
1534 | short an_peak0_01dB_out[HPI_MAX_CHANNELS] | ||
1535 | ); | 1386 | ); |
1536 | 1387 | ||
1537 | u16 hpi_meter_set_peak_ballistics(const struct hpi_hsubsys *ph_subsys, | 1388 | u16 hpi_meter_set_peak_ballistics(u32 h_control, u16 attack, u16 decay); |
1538 | u32 h_control, u16 attack, u16 decay); | ||
1539 | 1389 | ||
1540 | u16 hpi_meter_set_rms_ballistics(const struct hpi_hsubsys *ph_subsys, | 1390 | u16 hpi_meter_set_rms_ballistics(u32 h_control, u16 attack, u16 decay); |
1541 | u32 h_control, u16 attack, u16 decay); | ||
1542 | 1391 | ||
1543 | u16 hpi_meter_get_peak_ballistics(const struct hpi_hsubsys *ph_subsys, | 1392 | u16 hpi_meter_get_peak_ballistics(u32 h_control, u16 *attack, u16 *decay); |
1544 | u32 h_control, u16 *attack, u16 *decay); | ||
1545 | 1393 | ||
1546 | u16 hpi_meter_get_rms_ballistics(const struct hpi_hsubsys *ph_subsys, | 1394 | u16 hpi_meter_get_rms_ballistics(u32 h_control, u16 *attack, u16 *decay); |
1547 | u32 h_control, u16 *attack, u16 *decay); | ||
1548 | 1395 | ||
1549 | /*************************/ | 1396 | /************************/ |
1550 | /* channel mode control */ | 1397 | /* ChannelMode control */ |
1551 | /*************************/ | 1398 | /************************/ |
1552 | u16 hpi_channel_mode_query_mode(const struct hpi_hsubsys *ph_subsys, | 1399 | u16 hpi_channel_mode_query_mode(const u32 h_mode, const u32 index, |
1553 | const u32 h_mode, const u32 index, u16 *pw_mode); | 1400 | u16 *pw_mode); |
1554 | 1401 | ||
1555 | u16 hpi_channel_mode_set(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1402 | u16 hpi_channel_mode_set(u32 h_control, u16 mode); |
1556 | u16 mode); | ||
1557 | 1403 | ||
1558 | u16 hpi_channel_mode_get(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1404 | u16 hpi_channel_mode_get(u32 h_control, u16 *mode); |
1559 | u16 *mode); | ||
1560 | 1405 | ||
1561 | /*************************/ | 1406 | /*****************/ |
1562 | /* Tuner control */ | 1407 | /* Tuner control */ |
1563 | /*************************/ | 1408 | /*****************/ |
1564 | u16 hpi_tuner_query_band(const struct hpi_hsubsys *ph_subsys, | 1409 | u16 hpi_tuner_query_band(const u32 h_tuner, const u32 index, u16 *pw_band); |
1565 | const u32 h_tuner, const u32 index, u16 *pw_band); | ||
1566 | 1410 | ||
1567 | u16 hpi_tuner_set_band(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1411 | u16 hpi_tuner_set_band(u32 h_control, u16 band); |
1568 | u16 band); | ||
1569 | 1412 | ||
1570 | u16 hpi_tuner_get_band(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1413 | u16 hpi_tuner_get_band(u32 h_control, u16 *pw_band); |
1571 | u16 *pw_band); | ||
1572 | 1414 | ||
1573 | u16 hpi_tuner_query_frequency(const struct hpi_hsubsys *ph_subsys, | 1415 | u16 hpi_tuner_query_frequency(const u32 h_tuner, const u32 index, |
1574 | const u32 h_tuner, const u32 index, const u16 band, u32 *pfreq); | 1416 | const u16 band, u32 *pfreq); |
1575 | 1417 | ||
1576 | u16 hpi_tuner_set_frequency(const struct hpi_hsubsys *ph_subsys, | 1418 | u16 hpi_tuner_set_frequency(u32 h_control, u32 freq_ink_hz); |
1577 | u32 h_control, u32 freq_ink_hz); | ||
1578 | 1419 | ||
1579 | u16 hpi_tuner_get_frequency(const struct hpi_hsubsys *ph_subsys, | 1420 | u16 hpi_tuner_get_frequency(u32 h_control, u32 *pw_freq_ink_hz); |
1580 | u32 h_control, u32 *pw_freq_ink_hz); | ||
1581 | 1421 | ||
1582 | u16 hpi_tuner_getRF_level(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1422 | u16 hpi_tuner_get_rf_level(u32 h_control, short *pw_level); |
1583 | short *pw_level); | ||
1584 | 1423 | ||
1585 | u16 hpi_tuner_get_rawRF_level(const struct hpi_hsubsys *ph_subsys, | 1424 | u16 hpi_tuner_get_raw_rf_level(u32 h_control, short *pw_level); |
1586 | u32 h_control, short *pw_level); | ||
1587 | 1425 | ||
1588 | u16 hpi_tuner_query_gain(const struct hpi_hsubsys *ph_subsys, | 1426 | u16 hpi_tuner_query_gain(const u32 h_tuner, const u32 index, u16 *pw_gain); |
1589 | const u32 h_tuner, const u32 index, u16 *pw_gain); | ||
1590 | 1427 | ||
1591 | u16 hpi_tuner_set_gain(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1428 | u16 hpi_tuner_set_gain(u32 h_control, short gain); |
1592 | short gain); | ||
1593 | 1429 | ||
1594 | u16 hpi_tuner_get_gain(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1430 | u16 hpi_tuner_get_gain(u32 h_control, short *pn_gain); |
1595 | short *pn_gain); | ||
1596 | 1431 | ||
1597 | u16 hpi_tuner_get_status(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1432 | u16 hpi_tuner_get_status(u32 h_control, u16 *pw_status_mask, u16 *pw_status); |
1598 | u16 *pw_status_mask, u16 *pw_status); | ||
1599 | 1433 | ||
1600 | u16 hpi_tuner_set_mode(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1434 | u16 hpi_tuner_set_mode(u32 h_control, u32 mode, u32 value); |
1601 | u32 mode, u32 value); | ||
1602 | 1435 | ||
1603 | u16 hpi_tuner_get_mode(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1436 | u16 hpi_tuner_get_mode(u32 h_control, u32 mode, u32 *pn_value); |
1604 | u32 mode, u32 *pn_value); | ||
1605 | 1437 | ||
1606 | u16 hpi_tuner_getRDS(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1438 | u16 hpi_tuner_get_rds(u32 h_control, char *p_rds_data); |
1607 | char *p_rds_data); | ||
1608 | 1439 | ||
1609 | u16 hpi_tuner_query_deemphasis(const struct hpi_hsubsys *ph_subsys, | 1440 | u16 hpi_tuner_query_deemphasis(const u32 h_tuner, const u32 index, |
1610 | const u32 h_tuner, const u32 index, const u16 band, u32 *pdeemphasis); | 1441 | const u16 band, u32 *pdeemphasis); |
1611 | 1442 | ||
1612 | u16 hpi_tuner_set_deemphasis(const struct hpi_hsubsys *ph_subsys, | 1443 | u16 hpi_tuner_set_deemphasis(u32 h_control, u32 deemphasis); |
1613 | u32 h_control, u32 deemphasis); | 1444 | u16 hpi_tuner_get_deemphasis(u32 h_control, u32 *pdeemphasis); |
1614 | u16 hpi_tuner_get_deemphasis(const struct hpi_hsubsys *ph_subsys, | ||
1615 | u32 h_control, u32 *pdeemphasis); | ||
1616 | 1445 | ||
1617 | u16 hpi_tuner_query_program(const struct hpi_hsubsys *ph_subsys, | 1446 | u16 hpi_tuner_query_program(const u32 h_tuner, u32 *pbitmap_program); |
1618 | const u32 h_tuner, u32 *pbitmap_program); | ||
1619 | 1447 | ||
1620 | u16 hpi_tuner_set_program(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1448 | u16 hpi_tuner_set_program(u32 h_control, u32 program); |
1621 | u32 program); | ||
1622 | 1449 | ||
1623 | u16 hpi_tuner_get_program(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1450 | u16 hpi_tuner_get_program(u32 h_control, u32 *pprogram); |
1624 | u32 *pprogram); | ||
1625 | 1451 | ||
1626 | u16 hpi_tuner_get_hd_radio_dsp_version(const struct hpi_hsubsys *ph_subsys, | 1452 | u16 hpi_tuner_get_hd_radio_dsp_version(u32 h_control, char *psz_dsp_version, |
1627 | u32 h_control, char *psz_dsp_version, const u32 string_size); | 1453 | const u32 string_size); |
1628 | 1454 | ||
1629 | u16 hpi_tuner_get_hd_radio_sdk_version(const struct hpi_hsubsys *ph_subsys, | 1455 | u16 hpi_tuner_get_hd_radio_sdk_version(u32 h_control, char *psz_sdk_version, |
1630 | u32 h_control, char *psz_sdk_version, const u32 string_size); | 1456 | const u32 string_size); |
1631 | 1457 | ||
1632 | u16 hpi_tuner_get_hd_radio_signal_quality(const struct hpi_hsubsys *ph_subsys, | 1458 | u16 hpi_tuner_get_hd_radio_signal_quality(u32 h_control, u32 *pquality); |
1633 | u32 h_control, u32 *pquality); | ||
1634 | 1459 | ||
1635 | u16 hpi_tuner_get_hd_radio_signal_blend(const struct hpi_hsubsys *ph_subsys, | 1460 | u16 hpi_tuner_get_hd_radio_signal_blend(u32 h_control, u32 *pblend); |
1636 | u32 h_control, u32 *pblend); | ||
1637 | 1461 | ||
1638 | u16 hpi_tuner_set_hd_radio_signal_blend(const struct hpi_hsubsys *ph_subsys, | 1462 | u16 hpi_tuner_set_hd_radio_signal_blend(u32 h_control, const u32 blend); |
1639 | u32 h_control, const u32 blend); | ||
1640 | 1463 | ||
1641 | /****************************/ | 1464 | /***************/ |
1642 | /* PADs control */ | 1465 | /* PAD control */ |
1643 | /****************************/ | 1466 | /***************/ |
1644 | 1467 | ||
1645 | u16 HPI_PAD__get_channel_name(const struct hpi_hsubsys *ph_subsys, | 1468 | u16 hpi_pad_get_channel_name(u32 h_control, char *psz_string, |
1646 | u32 h_control, char *psz_string, const u32 string_length); | 1469 | const u32 string_length); |
1647 | 1470 | ||
1648 | u16 HPI_PAD__get_artist(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1471 | u16 hpi_pad_get_artist(u32 h_control, char *psz_string, |
1649 | char *psz_string, const u32 string_length); | 1472 | const u32 string_length); |
1650 | 1473 | ||
1651 | u16 HPI_PAD__get_title(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1474 | u16 hpi_pad_get_title(u32 h_control, char *psz_string, |
1652 | char *psz_string, const u32 string_length); | 1475 | const u32 string_length); |
1653 | 1476 | ||
1654 | u16 HPI_PAD__get_comment(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1477 | u16 hpi_pad_get_comment(u32 h_control, char *psz_string, |
1655 | char *psz_string, const u32 string_length); | 1478 | const u32 string_length); |
1656 | 1479 | ||
1657 | u16 HPI_PAD__get_program_type(const struct hpi_hsubsys *ph_subsys, | 1480 | u16 hpi_pad_get_program_type(u32 h_control, u32 *ppTY); |
1658 | u32 h_control, u32 *ppTY); | ||
1659 | 1481 | ||
1660 | u16 HPI_PAD__get_rdsPI(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1482 | u16 hpi_pad_get_rdsPI(u32 h_control, u32 *ppI); |
1661 | u32 *ppI); | ||
1662 | 1483 | ||
1663 | u16 HPI_PAD__get_program_type_string(const struct hpi_hsubsys *ph_subsys, | 1484 | u16 hpi_pad_get_program_type_string(u32 h_control, const u32 data_type, |
1664 | u32 h_control, const u32 data_type, const u32 pTY, char *psz_string, | 1485 | const u32 pTY, char *psz_string, const u32 string_length); |
1665 | const u32 string_length); | ||
1666 | 1486 | ||
1667 | /****************************/ | 1487 | /****************************/ |
1668 | /* AES/EBU Receiver control */ | 1488 | /* AES/EBU Receiver control */ |
1669 | /****************************/ | 1489 | /****************************/ |
1670 | u16 HPI_AESEBU__receiver_query_format(const struct hpi_hsubsys *ph_subsys, | 1490 | u16 hpi_aesebu_receiver_query_format(const u32 h_aes_rx, const u32 index, |
1671 | const u32 h_aes_rx, const u32 index, u16 *pw_format); | 1491 | u16 *pw_format); |
1672 | 1492 | ||
1673 | u16 HPI_AESEBU__receiver_set_format(const struct hpi_hsubsys *ph_subsys, | 1493 | u16 hpi_aesebu_receiver_set_format(u32 h_control, u16 source); |
1674 | u32 h_control, u16 source); | ||
1675 | 1494 | ||
1676 | u16 HPI_AESEBU__receiver_get_format(const struct hpi_hsubsys *ph_subsys, | 1495 | u16 hpi_aesebu_receiver_get_format(u32 h_control, u16 *pw_source); |
1677 | u32 h_control, u16 *pw_source); | ||
1678 | 1496 | ||
1679 | u16 HPI_AESEBU__receiver_get_sample_rate(const struct hpi_hsubsys *ph_subsys, | 1497 | u16 hpi_aesebu_receiver_get_sample_rate(u32 h_control, u32 *psample_rate); |
1680 | u32 h_control, u32 *psample_rate); | ||
1681 | 1498 | ||
1682 | u16 HPI_AESEBU__receiver_get_user_data(const struct hpi_hsubsys *ph_subsys, | 1499 | u16 hpi_aesebu_receiver_get_user_data(u32 h_control, u16 index, u16 *pw_data); |
1683 | u32 h_control, u16 index, u16 *pw_data); | ||
1684 | 1500 | ||
1685 | u16 HPI_AESEBU__receiver_get_channel_status(const struct hpi_hsubsys | 1501 | u16 hpi_aesebu_receiver_get_channel_status(u32 h_control, u16 index, |
1686 | *ph_subsys, u32 h_control, u16 index, u16 *pw_data); | 1502 | u16 *pw_data); |
1687 | 1503 | ||
1688 | u16 HPI_AESEBU__receiver_get_error_status(const struct hpi_hsubsys *ph_subsys, | 1504 | u16 hpi_aesebu_receiver_get_error_status(u32 h_control, u16 *pw_error_data); |
1689 | u32 h_control, u16 *pw_error_data); | ||
1690 | 1505 | ||
1691 | /*******************************/ | 1506 | /*******************************/ |
1692 | /* AES/EBU Transmitter control */ | 1507 | /* AES/EBU Transmitter control */ |
1693 | /*******************************/ | 1508 | /*******************************/ |
1694 | u16 HPI_AESEBU__transmitter_set_sample_rate(const struct hpi_hsubsys | 1509 | u16 hpi_aesebu_transmitter_set_sample_rate(u32 h_control, u32 sample_rate); |
1695 | *ph_subsys, u32 h_control, u32 sample_rate); | ||
1696 | 1510 | ||
1697 | u16 HPI_AESEBU__transmitter_set_user_data(const struct hpi_hsubsys *ph_subsys, | 1511 | u16 hpi_aesebu_transmitter_set_user_data(u32 h_control, u16 index, u16 data); |
1698 | u32 h_control, u16 index, u16 data); | ||
1699 | 1512 | ||
1700 | u16 HPI_AESEBU__transmitter_set_channel_status(const struct hpi_hsubsys | 1513 | u16 hpi_aesebu_transmitter_set_channel_status(u32 h_control, u16 index, |
1701 | *ph_subsys, u32 h_control, u16 index, u16 data); | 1514 | u16 data); |
1702 | 1515 | ||
1703 | u16 HPI_AESEBU__transmitter_get_channel_status(const struct hpi_hsubsys | 1516 | u16 hpi_aesebu_transmitter_get_channel_status(u32 h_control, u16 index, |
1704 | *ph_subsys, u32 h_control, u16 index, u16 *pw_data); | 1517 | u16 *pw_data); |
1705 | 1518 | ||
1706 | u16 HPI_AESEBU__transmitter_query_format(const struct hpi_hsubsys *ph_subsys, | 1519 | u16 hpi_aesebu_transmitter_query_format(const u32 h_aes_tx, const u32 index, |
1707 | const u32 h_aes_tx, const u32 index, u16 *pw_format); | 1520 | u16 *pw_format); |
1708 | 1521 | ||
1709 | u16 HPI_AESEBU__transmitter_set_format(const struct hpi_hsubsys *ph_subsys, | 1522 | u16 hpi_aesebu_transmitter_set_format(u32 h_control, u16 output_format); |
1710 | u32 h_control, u16 output_format); | ||
1711 | 1523 | ||
1712 | u16 HPI_AESEBU__transmitter_get_format(const struct hpi_hsubsys *ph_subsys, | 1524 | u16 hpi_aesebu_transmitter_get_format(u32 h_control, u16 *pw_output_format); |
1713 | u32 h_control, u16 *pw_output_format); | ||
1714 | 1525 | ||
1715 | /***********************/ | 1526 | /***********************/ |
1716 | /* multiplexer control */ | 1527 | /* Multiplexer control */ |
1717 | /***********************/ | 1528 | /***********************/ |
1718 | u16 hpi_multiplexer_set_source(const struct hpi_hsubsys *ph_subsys, | 1529 | u16 hpi_multiplexer_set_source(u32 h_control, u16 source_node_type, |
1719 | u32 h_control, u16 source_node_type, u16 source_node_index); | 1530 | u16 source_node_index); |
1720 | |||
1721 | u16 hpi_multiplexer_get_source(const struct hpi_hsubsys *ph_subsys, | ||
1722 | u32 h_control, u16 *source_node_type, u16 *source_node_index); | ||
1723 | 1531 | ||
1724 | u16 hpi_multiplexer_query_source(const struct hpi_hsubsys *ph_subsys, | 1532 | u16 hpi_multiplexer_get_source(u32 h_control, u16 *source_node_type, |
1725 | u32 h_control, u16 index, u16 *source_node_type, | ||
1726 | u16 *source_node_index); | 1533 | u16 *source_node_index); |
1727 | 1534 | ||
1535 | u16 hpi_multiplexer_query_source(u32 h_control, u16 index, | ||
1536 | u16 *source_node_type, u16 *source_node_index); | ||
1537 | |||
1728 | /***************/ | 1538 | /***************/ |
1729 | /* VOX control */ | 1539 | /* Vox control */ |
1730 | /***************/ | 1540 | /***************/ |
1731 | u16 hpi_vox_set_threshold(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1541 | u16 hpi_vox_set_threshold(u32 h_control, short an_gain0_01dB); |
1732 | short an_gain0_01dB); | ||
1733 | 1542 | ||
1734 | u16 hpi_vox_get_threshold(const struct hpi_hsubsys *ph_subsys, u32 h_control, | 1543 | u16 hpi_vox_get_threshold(u32 h_control, short *an_gain0_01dB); |
1735 | short *an_gain0_01dB); | ||
1736 | 1544 | ||
1737 | /*********************/ | 1545 | /*********************/ |
1738 | /* Bitstream control */ | 1546 | /* Bitstream control */ |
1739 | /*********************/ | 1547 | /*********************/ |
1740 | u16 hpi_bitstream_set_clock_edge(const struct hpi_hsubsys *ph_subsys, | 1548 | u16 hpi_bitstream_set_clock_edge(u32 h_control, u16 edge_type); |
1741 | u32 h_control, u16 edge_type); | ||
1742 | 1549 | ||
1743 | u16 hpi_bitstream_set_data_polarity(const struct hpi_hsubsys *ph_subsys, | 1550 | u16 hpi_bitstream_set_data_polarity(u32 h_control, u16 polarity); |
1744 | u32 h_control, u16 polarity); | ||
1745 | 1551 | ||
1746 | u16 hpi_bitstream_get_activity(const struct hpi_hsubsys *ph_subsys, | 1552 | u16 hpi_bitstream_get_activity(u32 h_control, u16 *pw_clk_activity, |
1747 | u32 h_control, u16 *pw_clk_activity, u16 *pw_data_activity); | 1553 | u16 *pw_data_activity); |
1748 | 1554 | ||
1749 | /***********************/ | 1555 | /***********************/ |
1750 | /* SampleClock control */ | 1556 | /* SampleClock control */ |
1751 | /***********************/ | 1557 | /***********************/ |
1752 | 1558 | ||
1753 | u16 hpi_sample_clock_query_source(const struct hpi_hsubsys *ph_subsys, | 1559 | u16 hpi_sample_clock_query_source(const u32 h_clock, const u32 index, |
1754 | const u32 h_clock, const u32 index, u16 *pw_source); | 1560 | u16 *pw_source); |
1755 | 1561 | ||
1756 | u16 hpi_sample_clock_set_source(const struct hpi_hsubsys *ph_subsys, | 1562 | u16 hpi_sample_clock_set_source(u32 h_control, u16 source); |
1757 | u32 h_control, u16 source); | ||
1758 | 1563 | ||
1759 | u16 hpi_sample_clock_get_source(const struct hpi_hsubsys *ph_subsys, | 1564 | u16 hpi_sample_clock_get_source(u32 h_control, u16 *pw_source); |
1760 | u32 h_control, u16 *pw_source); | ||
1761 | 1565 | ||
1762 | u16 hpi_sample_clock_query_source_index(const struct hpi_hsubsys *ph_subsys, | 1566 | u16 hpi_sample_clock_query_source_index(const u32 h_clock, const u32 index, |
1763 | const u32 h_clock, const u32 index, const u32 source, | 1567 | const u32 source, u16 *pw_source_index); |
1764 | u16 *pw_source_index); | ||
1765 | 1568 | ||
1766 | u16 hpi_sample_clock_set_source_index(const struct hpi_hsubsys *ph_subsys, | 1569 | u16 hpi_sample_clock_set_source_index(u32 h_control, u16 source_index); |
1767 | u32 h_control, u16 source_index); | ||
1768 | 1570 | ||
1769 | u16 hpi_sample_clock_get_source_index(const struct hpi_hsubsys *ph_subsys, | 1571 | u16 hpi_sample_clock_get_source_index(u32 h_control, u16 *pw_source_index); |
1770 | u32 h_control, u16 *pw_source_index); | ||
1771 | 1572 | ||
1772 | u16 hpi_sample_clock_get_sample_rate(const struct hpi_hsubsys *ph_subsys, | 1573 | u16 hpi_sample_clock_get_sample_rate(u32 h_control, u32 *psample_rate); |
1773 | u32 h_control, u32 *psample_rate); | ||
1774 | 1574 | ||
1775 | u16 hpi_sample_clock_query_local_rate(const struct hpi_hsubsys *ph_subsys, | 1575 | u16 hpi_sample_clock_query_local_rate(const u32 h_clock, const u32 index, |
1776 | const u32 h_clock, const u32 index, u32 *psource); | 1576 | u32 *psource); |
1777 | 1577 | ||
1778 | u16 hpi_sample_clock_set_local_rate(const struct hpi_hsubsys *ph_subsys, | 1578 | u16 hpi_sample_clock_set_local_rate(u32 h_control, u32 sample_rate); |
1779 | u32 h_control, u32 sample_rate); | ||
1780 | 1579 | ||
1781 | u16 hpi_sample_clock_get_local_rate(const struct hpi_hsubsys *ph_subsys, | 1580 | u16 hpi_sample_clock_get_local_rate(u32 h_control, u32 *psample_rate); |
1782 | u32 h_control, u32 *psample_rate); | ||
1783 | 1581 | ||
1784 | u16 hpi_sample_clock_set_auto(const struct hpi_hsubsys *ph_subsys, | 1582 | u16 hpi_sample_clock_set_auto(u32 h_control, u32 enable); |
1785 | u32 h_control, u32 enable); | ||
1786 | 1583 | ||
1787 | u16 hpi_sample_clock_get_auto(const struct hpi_hsubsys *ph_subsys, | 1584 | u16 hpi_sample_clock_get_auto(u32 h_control, u32 *penable); |
1788 | u32 h_control, u32 *penable); | ||
1789 | 1585 | ||
1790 | u16 hpi_sample_clock_set_local_rate_lock(const struct hpi_hsubsys *ph_subsys, | 1586 | u16 hpi_sample_clock_set_local_rate_lock(u32 h_control, u32 lock); |
1791 | u32 h_control, u32 lock); | ||
1792 | 1587 | ||
1793 | u16 hpi_sample_clock_get_local_rate_lock(const struct hpi_hsubsys *ph_subsys, | 1588 | u16 hpi_sample_clock_get_local_rate_lock(u32 h_control, u32 *plock); |
1794 | u32 h_control, u32 *plock); | ||
1795 | 1589 | ||
1796 | /***********************/ | 1590 | /***********************/ |
1797 | /* Microphone control */ | 1591 | /* Microphone control */ |
1798 | /***********************/ | 1592 | /***********************/ |
1799 | u16 hpi_microphone_set_phantom_power(const struct hpi_hsubsys *ph_subsys, | 1593 | u16 hpi_microphone_set_phantom_power(u32 h_control, u16 on_off); |
1800 | u32 h_control, u16 on_off); | ||
1801 | 1594 | ||
1802 | u16 hpi_microphone_get_phantom_power(const struct hpi_hsubsys *ph_subsys, | 1595 | u16 hpi_microphone_get_phantom_power(u32 h_control, u16 *pw_on_off); |
1803 | u32 h_control, u16 *pw_on_off); | ||
1804 | 1596 | ||
1805 | /******************************* | 1597 | /********************************/ |
1806 | Parametric Equalizer control | 1598 | /* Parametric Equalizer control */ |
1807 | *******************************/ | 1599 | /********************************/ |
1808 | u16 hpi_parametricEQ__get_info(const struct hpi_hsubsys *ph_subsys, | 1600 | u16 hpi_parametric_eq_get_info(u32 h_control, u16 *pw_number_of_bands, |
1809 | u32 h_control, u16 *pw_number_of_bands, u16 *pw_enabled); | 1601 | u16 *pw_enabled); |
1810 | 1602 | ||
1811 | u16 hpi_parametricEQ__set_state(const struct hpi_hsubsys *ph_subsys, | 1603 | u16 hpi_parametric_eq_set_state(u32 h_control, u16 on_off); |
1812 | u32 h_control, u16 on_off); | ||
1813 | 1604 | ||
1814 | u16 hpi_parametricEQ__set_band(const struct hpi_hsubsys *ph_subsys, | 1605 | u16 hpi_parametric_eq_set_band(u32 h_control, u16 index, u16 type, |
1815 | u32 h_control, u16 index, u16 type, u32 frequency_hz, short q100, | 1606 | u32 frequency_hz, short q100, short gain0_01dB); |
1816 | short gain0_01dB); | ||
1817 | 1607 | ||
1818 | u16 hpi_parametricEQ__get_band(const struct hpi_hsubsys *ph_subsys, | 1608 | u16 hpi_parametric_eq_get_band(u32 h_control, u16 index, u16 *pn_type, |
1819 | u32 h_control, u16 index, u16 *pn_type, u32 *pfrequency_hz, | 1609 | u32 *pfrequency_hz, short *pnQ100, short *pn_gain0_01dB); |
1820 | short *pnQ100, short *pn_gain0_01dB); | ||
1821 | 1610 | ||
1822 | u16 hpi_parametricEQ__get_coeffs(const struct hpi_hsubsys *ph_subsys, | 1611 | u16 hpi_parametric_eq_get_coeffs(u32 h_control, u16 index, short coeffs[5] |
1823 | u32 h_control, u16 index, short coeffs[5] | ||
1824 | ); | 1612 | ); |
1825 | 1613 | ||
1826 | /******************************* | 1614 | /*******************************/ |
1827 | Compressor Expander control | 1615 | /* Compressor Expander control */ |
1828 | *******************************/ | 1616 | /*******************************/ |
1829 | |||
1830 | u16 hpi_compander_set_enable(const struct hpi_hsubsys *ph_subsys, | ||
1831 | u32 h_control, u32 on); | ||
1832 | |||
1833 | u16 hpi_compander_get_enable(const struct hpi_hsubsys *ph_subsys, | ||
1834 | u32 h_control, u32 *pon); | ||
1835 | |||
1836 | u16 hpi_compander_set_makeup_gain(const struct hpi_hsubsys *ph_subsys, | ||
1837 | u32 h_control, short makeup_gain0_01dB); | ||
1838 | |||
1839 | u16 hpi_compander_get_makeup_gain(const struct hpi_hsubsys *ph_subsys, | ||
1840 | u32 h_control, short *pn_makeup_gain0_01dB); | ||
1841 | |||
1842 | u16 hpi_compander_set_attack_time_constant(const struct hpi_hsubsys | ||
1843 | *ph_subsys, u32 h_control, u32 index, u32 attack); | ||
1844 | |||
1845 | u16 hpi_compander_get_attack_time_constant(const struct hpi_hsubsys | ||
1846 | *ph_subsys, u32 h_control, u32 index, u32 *pw_attack); | ||
1847 | |||
1848 | u16 hpi_compander_set_decay_time_constant(const struct hpi_hsubsys *ph_subsys, | ||
1849 | u32 h_control, u32 index, u32 decay); | ||
1850 | |||
1851 | u16 hpi_compander_get_decay_time_constant(const struct hpi_hsubsys *ph_subsys, | ||
1852 | u32 h_control, u32 index, u32 *pw_decay); | ||
1853 | |||
1854 | u16 hpi_compander_set_threshold(const struct hpi_hsubsys *ph_subsys, | ||
1855 | u32 h_control, u32 index, short threshold0_01dB); | ||
1856 | |||
1857 | u16 hpi_compander_get_threshold(const struct hpi_hsubsys *ph_subsys, | ||
1858 | u32 h_control, u32 index, short *pn_threshold0_01dB); | ||
1859 | |||
1860 | u16 hpi_compander_set_ratio(const struct hpi_hsubsys *ph_subsys, | ||
1861 | u32 h_control, u32 index, u32 ratio100); | ||
1862 | |||
1863 | u16 hpi_compander_get_ratio(const struct hpi_hsubsys *ph_subsys, | ||
1864 | u32 h_control, u32 index, u32 *pw_ratio100); | ||
1865 | |||
1866 | /******************************* | ||
1867 | Cobranet HMI control | ||
1868 | *******************************/ | ||
1869 | u16 hpi_cobranet_hmi_write(const struct hpi_hsubsys *ph_subsys, u32 h_control, | ||
1870 | u32 hmi_address, u32 byte_count, u8 *pb_data); | ||
1871 | |||
1872 | u16 hpi_cobranet_hmi_read(const struct hpi_hsubsys *ph_subsys, u32 h_control, | ||
1873 | u32 hmi_address, u32 max_byte_count, u32 *pbyte_count, u8 *pb_data); | ||
1874 | |||
1875 | u16 hpi_cobranet_hmi_get_status(const struct hpi_hsubsys *ph_subsys, | ||
1876 | u32 h_control, u32 *pstatus, u32 *preadable_size, | ||
1877 | u32 *pwriteable_size); | ||
1878 | |||
1879 | /*Read the current IP address | ||
1880 | */ | ||
1881 | u16 hpi_cobranet_getI_paddress(const struct hpi_hsubsys *ph_subsys, | ||
1882 | u32 h_control, u32 *pi_paddress); | ||
1883 | |||
1884 | /* Write the current IP address | ||
1885 | */ | ||
1886 | u16 hpi_cobranet_setI_paddress(const struct hpi_hsubsys *ph_subsys, | ||
1887 | u32 h_control, u32 i_paddress); | ||
1888 | |||
1889 | /* Read the static IP address | ||
1890 | */ | ||
1891 | u16 hpi_cobranet_get_staticI_paddress(const struct hpi_hsubsys *ph_subsys, | ||
1892 | u32 h_control, u32 *pi_paddress); | ||
1893 | 1617 | ||
1894 | /* Write the static IP address | 1618 | u16 hpi_compander_set_enable(u32 h_control, u32 on); |
1895 | */ | ||
1896 | u16 hpi_cobranet_set_staticI_paddress(const struct hpi_hsubsys *ph_subsys, | ||
1897 | u32 h_control, u32 i_paddress); | ||
1898 | 1619 | ||
1899 | /* Read the MAC address | 1620 | u16 hpi_compander_get_enable(u32 h_control, u32 *pon); |
1900 | */ | ||
1901 | u16 hpi_cobranet_getMA_caddress(const struct hpi_hsubsys *ph_subsys, | ||
1902 | u32 h_control, u32 *pmAC_MS_bs, u32 *pmAC_LS_bs); | ||
1903 | 1621 | ||
1904 | /******************************* | 1622 | u16 hpi_compander_set_makeup_gain(u32 h_control, short makeup_gain0_01dB); |
1905 | Tone Detector control | ||
1906 | *******************************/ | ||
1907 | u16 hpi_tone_detector_get_state(const struct hpi_hsubsys *ph_subsys, u32 hC, | ||
1908 | u32 *state); | ||
1909 | 1623 | ||
1910 | u16 hpi_tone_detector_set_enable(const struct hpi_hsubsys *ph_subsys, u32 hC, | 1624 | u16 hpi_compander_get_makeup_gain(u32 h_control, short *pn_makeup_gain0_01dB); |
1911 | u32 enable); | ||
1912 | 1625 | ||
1913 | u16 hpi_tone_detector_get_enable(const struct hpi_hsubsys *ph_subsys, u32 hC, | 1626 | u16 hpi_compander_set_attack_time_constant(u32 h_control, u32 index, |
1914 | u32 *enable); | 1627 | u32 attack); |
1915 | 1628 | ||
1916 | u16 hpi_tone_detector_set_event_enable(const struct hpi_hsubsys *ph_subsys, | 1629 | u16 hpi_compander_get_attack_time_constant(u32 h_control, u32 index, |
1917 | u32 hC, u32 event_enable); | 1630 | u32 *pw_attack); |
1918 | 1631 | ||
1919 | u16 hpi_tone_detector_get_event_enable(const struct hpi_hsubsys *ph_subsys, | 1632 | u16 hpi_compander_set_decay_time_constant(u32 h_control, u32 index, |
1920 | u32 hC, u32 *event_enable); | 1633 | u32 decay); |
1921 | 1634 | ||
1922 | u16 hpi_tone_detector_set_threshold(const struct hpi_hsubsys *ph_subsys, | 1635 | u16 hpi_compander_get_decay_time_constant(u32 h_control, u32 index, |
1923 | u32 hC, int threshold); | 1636 | u32 *pw_decay); |
1924 | 1637 | ||
1925 | u16 hpi_tone_detector_get_threshold(const struct hpi_hsubsys *ph_subsys, | 1638 | u16 hpi_compander_set_threshold(u32 h_control, u32 index, |
1926 | u32 hC, int *threshold); | 1639 | short threshold0_01dB); |
1927 | 1640 | ||
1928 | u16 hpi_tone_detector_get_frequency(const struct hpi_hsubsys *ph_subsys, | 1641 | u16 hpi_compander_get_threshold(u32 h_control, u32 index, |
1929 | u32 hC, u32 index, u32 *frequency); | 1642 | short *pn_threshold0_01dB); |
1930 | 1643 | ||
1931 | /******************************* | 1644 | u16 hpi_compander_set_ratio(u32 h_control, u32 index, u32 ratio100); |
1932 | Silence Detector control | ||
1933 | *******************************/ | ||
1934 | u16 hpi_silence_detector_get_state(const struct hpi_hsubsys *ph_subsys, | ||
1935 | u32 hC, u32 *state); | ||
1936 | 1645 | ||
1937 | u16 hpi_silence_detector_set_enable(const struct hpi_hsubsys *ph_subsys, | 1646 | u16 hpi_compander_get_ratio(u32 h_control, u32 index, u32 *pw_ratio100); |
1938 | u32 hC, u32 enable); | ||
1939 | 1647 | ||
1940 | u16 hpi_silence_detector_get_enable(const struct hpi_hsubsys *ph_subsys, | 1648 | /********************/ |
1941 | u32 hC, u32 *enable); | 1649 | /* Cobranet control */ |
1650 | /********************/ | ||
1651 | u16 hpi_cobranet_hmi_write(u32 h_control, u32 hmi_address, u32 byte_count, | ||
1652 | u8 *pb_data); | ||
1942 | 1653 | ||
1943 | u16 hpi_silence_detector_set_event_enable(const struct hpi_hsubsys *ph_subsys, | 1654 | u16 hpi_cobranet_hmi_read(u32 h_control, u32 hmi_address, u32 max_byte_count, |
1944 | u32 hC, u32 event_enable); | 1655 | u32 *pbyte_count, u8 *pb_data); |
1945 | 1656 | ||
1946 | u16 hpi_silence_detector_get_event_enable(const struct hpi_hsubsys *ph_subsys, | 1657 | u16 hpi_cobranet_hmi_get_status(u32 h_control, u32 *pstatus, |
1947 | u32 hC, u32 *event_enable); | 1658 | u32 *preadable_size, u32 *pwriteable_size); |
1948 | 1659 | ||
1949 | u16 hpi_silence_detector_set_delay(const struct hpi_hsubsys *ph_subsys, | 1660 | u16 hpi_cobranet_get_ip_address(u32 h_control, u32 *pdw_ip_address); |
1950 | u32 hC, u32 delay); | ||
1951 | 1661 | ||
1952 | u16 hpi_silence_detector_get_delay(const struct hpi_hsubsys *ph_subsys, | 1662 | u16 hpi_cobranet_set_ip_address(u32 h_control, u32 dw_ip_address); |
1953 | u32 hC, u32 *delay); | ||
1954 | 1663 | ||
1955 | u16 hpi_silence_detector_set_threshold(const struct hpi_hsubsys *ph_subsys, | 1664 | u16 hpi_cobranet_get_static_ip_address(u32 h_control, u32 *pdw_ip_address); |
1956 | u32 hC, int threshold); | ||
1957 | 1665 | ||
1958 | u16 hpi_silence_detector_get_threshold(const struct hpi_hsubsys *ph_subsys, | 1666 | u16 hpi_cobranet_set_static_ip_address(u32 h_control, u32 dw_ip_address); |
1959 | u32 hC, int *threshold); | ||
1960 | 1667 | ||
1961 | /******************************* | 1668 | u16 hpi_cobranet_get_macaddress(u32 h_control, u32 *p_mac_msbs, |
1962 | Universal control | 1669 | u32 *p_mac_lsbs); |
1963 | *******************************/ | ||
1964 | u16 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 | 1670 | ||
1968 | u16 hpi_entity_copy_value_from(struct hpi_entity *entity, | 1671 | /*************************/ |
1969 | enum e_entity_type type, size_t item_count, void *value_dst_p); | 1672 | /* Tone Detector control */ |
1673 | /*************************/ | ||
1674 | u16 hpi_tone_detector_get_state(u32 hC, u32 *state); | ||
1970 | 1675 | ||
1971 | u16 hpi_entity_unpack(struct hpi_entity *entity, enum e_entity_type *type, | 1676 | u16 hpi_tone_detector_set_enable(u32 hC, u32 enable); |
1972 | size_t *items, enum e_entity_role *role, void **value); | ||
1973 | 1677 | ||
1974 | u16 hpi_entity_alloc_and_pack(const enum e_entity_type type, | 1678 | u16 hpi_tone_detector_get_enable(u32 hC, u32 *enable); |
1975 | const size_t item_count, const enum e_entity_role role, void *value, | ||
1976 | struct hpi_entity **entity); | ||
1977 | 1679 | ||
1978 | void hpi_entity_free(struct hpi_entity *entity); | 1680 | u16 hpi_tone_detector_set_event_enable(u32 hC, u32 event_enable); |
1979 | 1681 | ||
1980 | u16 hpi_universal_info(const struct hpi_hsubsys *ph_subsys, u32 hC, | 1682 | u16 hpi_tone_detector_get_event_enable(u32 hC, u32 *event_enable); |
1981 | struct hpi_entity **info); | ||
1982 | 1683 | ||
1983 | u16 hpi_universal_get(const struct hpi_hsubsys *ph_subsys, u32 hC, | 1684 | u16 hpi_tone_detector_set_threshold(u32 hC, int threshold); |
1984 | struct hpi_entity **value); | ||
1985 | 1685 | ||
1986 | u16 hpi_universal_set(const struct hpi_hsubsys *ph_subsys, u32 hC, | 1686 | u16 hpi_tone_detector_get_threshold(u32 hC, int *threshold); |
1987 | struct hpi_entity *value); | ||
1988 | 1687 | ||
1989 | /*/////////// */ | 1688 | u16 hpi_tone_detector_get_frequency(u32 hC, u32 index, u32 *frequency); |
1990 | /* DSP CLOCK */ | ||
1991 | /*/////////// */ | ||
1992 | u16 hpi_clock_open(const struct hpi_hsubsys *ph_subsys, u16 adapter_index, | ||
1993 | u32 *ph_dsp_clock); | ||
1994 | 1689 | ||
1995 | u16 hpi_clock_set_time(const struct hpi_hsubsys *ph_subsys, u32 h_clock, | 1690 | /****************************/ |
1996 | u16 hour, u16 minute, u16 second, u16 milli_second); | 1691 | /* Silence Detector control */ |
1692 | /****************************/ | ||
1693 | u16 hpi_silence_detector_get_state(u32 hC, u32 *state); | ||
1997 | 1694 | ||
1998 | u16 hpi_clock_get_time(const struct hpi_hsubsys *ph_subsys, u32 h_clock, | 1695 | u16 hpi_silence_detector_set_enable(u32 hC, u32 enable); |
1999 | u16 *pw_hour, u16 *pw_minute, u16 *pw_second, u16 *pw_milli_second); | ||
2000 | 1696 | ||
2001 | /*/////////// */ | 1697 | u16 hpi_silence_detector_get_enable(u32 hC, u32 *enable); |
2002 | /* PROFILE */ | ||
2003 | /*/////////// */ | ||
2004 | u16 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 | 1698 | ||
2008 | u16 hpi_profile_get(const struct hpi_hsubsys *ph_subsys, u32 h_profile, | 1699 | u16 hpi_silence_detector_set_event_enable(u32 hC, u32 event_enable); |
2009 | u16 index, u16 *pw_seconds, u32 *pmicro_seconds, u32 *pcall_count, | ||
2010 | u32 *pmax_micro_seconds, u32 *pmin_micro_seconds); | ||
2011 | 1700 | ||
2012 | u16 hpi_profile_start_all(const struct hpi_hsubsys *ph_subsys, u32 h_profile); | 1701 | u16 hpi_silence_detector_get_event_enable(u32 hC, u32 *event_enable); |
2013 | 1702 | ||
2014 | u16 hpi_profile_stop_all(const struct hpi_hsubsys *ph_subsys, u32 h_profile); | 1703 | u16 hpi_silence_detector_set_delay(u32 hC, u32 delay); |
2015 | 1704 | ||
2016 | u16 hpi_profile_get_name(const struct hpi_hsubsys *ph_subsys, u32 h_profile, | 1705 | u16 hpi_silence_detector_get_delay(u32 hC, u32 *delay); |
2017 | u16 index, char *sz_profile_name, u16 profile_name_length); | ||
2018 | 1706 | ||
2019 | u16 hpi_profile_get_utilization(const struct hpi_hsubsys *ph_subsys, | 1707 | u16 hpi_silence_detector_set_threshold(u32 hC, int threshold); |
2020 | u32 h_profile, u32 *putilization); | ||
2021 | 1708 | ||
2022 | /*//////////////////// */ | 1709 | u16 hpi_silence_detector_get_threshold(u32 hC, int *threshold); |
2023 | /* UTILITY functions */ | 1710 | /*********************/ |
1711 | /* Utility functions */ | ||
1712 | /*********************/ | ||
2024 | 1713 | ||
2025 | u16 hpi_format_create(struct hpi_format *p_format, u16 channels, u16 format, | 1714 | u16 hpi_format_create(struct hpi_format *p_format, u16 channels, u16 format, |
2026 | u32 sample_rate, u32 bit_rate, u32 attributes); | 1715 | u32 sample_rate, u32 bit_rate, u32 attributes); |
2027 | 1716 | ||
2028 | /* Until it's verified, this function is for Windows OSs only */ | 1717 | #endif /*_HPI_H_ */ |
2029 | |||
2030 | #endif /*_H_HPI_ */ | ||
2031 | /* | ||
2032 | /////////////////////////////////////////////////////////////////////////////// | ||
2033 | // See CVS for history. Last complete set in rev 1.146 | ||
2034 | //////////////////////////////////////////////////////////////////////////////// | ||
2035 | */ | ||