|
@@ -28,7 +28,7 @@ HPI internal definitions
|
|
/** maximum number of memory regions mapped to an adapter */
|
|
/** maximum number of memory regions mapped to an adapter */
|
|
#define HPI_MAX_ADAPTER_MEM_SPACES (2)
|
|
#define HPI_MAX_ADAPTER_MEM_SPACES (2)
|
|
|
|
|
|
-/* Each OS needs its own hpios.h, or specific define as above */
|
|
|
|
|
|
+/* Each OS needs its own hpios.h */
|
|
#include "hpios.h"
|
|
#include "hpios.h"
|
|
|
|
|
|
/* physical memory allocation */
|
|
/* physical memory allocation */
|
|
@@ -49,7 +49,7 @@ HpiOs_LockedMem_GetPyhsAddr() will always succed on the returned handle.
|
|
*/
|
|
*/
|
|
u16 hpios_locked_mem_alloc(struct consistent_dma_area *p_locked_mem_handle,
|
|
u16 hpios_locked_mem_alloc(struct consistent_dma_area *p_locked_mem_handle,
|
|
/**< memory handle */
|
|
/**< memory handle */
|
|
- u32 size, /**< size in bytes to allocate */
|
|
|
|
|
|
+ u32 size, /**< Size in bytes to allocate */
|
|
struct pci_dev *p_os_reference
|
|
struct pci_dev *p_os_reference
|
|
/**< OS specific data required for memory allocation */
|
|
/**< OS specific data required for memory allocation */
|
|
);
|
|
);
|
|
@@ -96,41 +96,6 @@ typedef void hpi_handler_func(struct hpi_message *, struct hpi_response *);
|
|
#define compile_time_assert(cond, msg) \
|
|
#define compile_time_assert(cond, msg) \
|
|
typedef char ASSERT_##msg[(cond) ? 1 : -1]
|
|
typedef char ASSERT_##msg[(cond) ? 1 : -1]
|
|
|
|
|
|
-/*/////////////////////////////////////////////////////////////////////////// */
|
|
|
|
-/* Private HPI Entity related definitions */
|
|
|
|
-
|
|
|
|
-#define STR_SIZE_FIELD_MAX 65535U
|
|
|
|
-#define STR_TYPE_FIELD_MAX 255U
|
|
|
|
-#define STR_ROLE_FIELD_MAX 255U
|
|
|
|
-
|
|
|
|
-struct hpi_entity_str {
|
|
|
|
- u16 size;
|
|
|
|
- u8 type;
|
|
|
|
- u8 role;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#if defined(_MSC_VER)
|
|
|
|
-#pragma warning(push)
|
|
|
|
-#pragma warning(disable : 4200)
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
-struct hpi_entity {
|
|
|
|
- struct hpi_entity_str header;
|
|
|
|
-#if ! defined(HPI_OS_DSP_C6000) || (defined(HPI_OS_DSP_C6000) && (__TI_COMPILER_VERSION__ > 6000008))
|
|
|
|
- /* DSP C6000 compiler v6.0.8 and lower
|
|
|
|
- do not support flexible array member */
|
|
|
|
- u8 value[];
|
|
|
|
-#else
|
|
|
|
- /* NOTE! Using sizeof(struct hpi_entity) will give erroneous results */
|
|
|
|
-#define HPI_INTERNAL_WARN_ABOUT_ENTITY_VALUE
|
|
|
|
- u8 value[1];
|
|
|
|
-#endif
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-#if defined(_MSC_VER)
|
|
|
|
-#pragma warning(pop)
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
/******************************************* bus types */
|
|
/******************************************* bus types */
|
|
enum HPI_BUSES {
|
|
enum HPI_BUSES {
|
|
HPI_BUS_ISAPNP = 1,
|
|
HPI_BUS_ISAPNP = 1,
|
|
@@ -143,202 +108,127 @@ enum HPI_BUSES {
|
|
/* (in order of control type ID */
|
|
/* (in order of control type ID */
|
|
|
|
|
|
/* This allows for 255 control types, 256 unique attributes each */
|
|
/* This allows for 255 control types, 256 unique attributes each */
|
|
-#define HPI_CTL_ATTR(ctl, ai) (HPI_CONTROL_##ctl * 0x100 + ai)
|
|
|
|
|
|
+#define HPI_CTL_ATTR(ctl, ai) ((HPI_CONTROL_##ctl << 8) + ai)
|
|
|
|
|
|
/* Get the sub-index of the attribute for a control type */
|
|
/* Get the sub-index of the attribute for a control type */
|
|
-#define HPI_CTL_ATTR_INDEX(i) (i&0xff)
|
|
|
|
|
|
+#define HPI_CTL_ATTR_INDEX(i) (i & 0xff)
|
|
|
|
|
|
/* Extract the control from the control attribute */
|
|
/* Extract the control from the control attribute */
|
|
-#define HPI_CTL_ATTR_CONTROL(i) (i>>8)
|
|
|
|
-
|
|
|
|
-/* Generic control attributes. */
|
|
|
|
-
|
|
|
|
-/** Enable a control.
|
|
|
|
-0=disable, 1=enable
|
|
|
|
-\note generic to all mixer plugins?
|
|
|
|
-*/
|
|
|
|
-#define HPI_GENERIC_ENABLE HPI_CTL_ATTR(GENERIC, 1)
|
|
|
|
|
|
+#define HPI_CTL_ATTR_CONTROL(i) (i >> 8)
|
|
|
|
|
|
/** Enable event generation for a control.
|
|
/** Enable event generation for a control.
|
|
0=disable, 1=enable
|
|
0=disable, 1=enable
|
|
\note generic to all controls that can generate events
|
|
\note generic to all controls that can generate events
|
|
*/
|
|
*/
|
|
-#define HPI_GENERIC_EVENT_ENABLE HPI_CTL_ATTR(GENERIC, 2)
|
|
|
|
-
|
|
|
|
-/* Volume Control attributes */
|
|
|
|
-#define HPI_VOLUME_GAIN HPI_CTL_ATTR(VOLUME, 1)
|
|
|
|
-#define HPI_VOLUME_AUTOFADE HPI_CTL_ATTR(VOLUME, 2)
|
|
|
|
-
|
|
|
|
-/** For HPI_ControlQuery() to get the number of channels of a volume control*/
|
|
|
|
-#define HPI_VOLUME_NUM_CHANNELS HPI_CTL_ATTR(VOLUME, 6)
|
|
|
|
-#define HPI_VOLUME_RANGE HPI_CTL_ATTR(VOLUME, 10)
|
|
|
|
-
|
|
|
|
-/** Level Control attributes */
|
|
|
|
-#define HPI_LEVEL_GAIN HPI_CTL_ATTR(LEVEL, 1)
|
|
|
|
-#define HPI_LEVEL_RANGE HPI_CTL_ATTR(LEVEL, 10)
|
|
|
|
-
|
|
|
|
-/* Meter Control attributes */
|
|
|
|
-/** return RMS signal level */
|
|
|
|
-#define HPI_METER_RMS HPI_CTL_ATTR(METER, 1)
|
|
|
|
-/** return peak signal level */
|
|
|
|
-#define HPI_METER_PEAK HPI_CTL_ATTR(METER, 2)
|
|
|
|
-/** ballistics for ALL rms meters on adapter */
|
|
|
|
-#define HPI_METER_RMS_BALLISTICS HPI_CTL_ATTR(METER, 3)
|
|
|
|
-/** ballistics for ALL peak meters on adapter */
|
|
|
|
-#define HPI_METER_PEAK_BALLISTICS HPI_CTL_ATTR(METER, 4)
|
|
|
|
-
|
|
|
|
-/** For HPI_ControlQuery() to get the number of channels of a meter control*/
|
|
|
|
-#define HPI_METER_NUM_CHANNELS HPI_CTL_ATTR(METER, 5)
|
|
|
|
-
|
|
|
|
-/* Multiplexer control attributes */
|
|
|
|
-#define HPI_MULTIPLEXER_SOURCE HPI_CTL_ATTR(MULTIPLEXER, 1)
|
|
|
|
-#define HPI_MULTIPLEXER_QUERYSOURCE HPI_CTL_ATTR(MULTIPLEXER, 2)
|
|
|
|
-
|
|
|
|
-/** AES/EBU transmitter control attributes */
|
|
|
|
-/** AESEBU or SPDIF */
|
|
|
|
-#define HPI_AESEBUTX_FORMAT HPI_CTL_ATTR(AESEBUTX, 1)
|
|
|
|
-#define HPI_AESEBUTX_SAMPLERATE HPI_CTL_ATTR(AESEBUTX, 3)
|
|
|
|
-#define HPI_AESEBUTX_CHANNELSTATUS HPI_CTL_ATTR(AESEBUTX, 4)
|
|
|
|
-#define HPI_AESEBUTX_USERDATA HPI_CTL_ATTR(AESEBUTX, 5)
|
|
|
|
-
|
|
|
|
-/** AES/EBU receiver control attributes */
|
|
|
|
-#define HPI_AESEBURX_FORMAT HPI_CTL_ATTR(AESEBURX, 1)
|
|
|
|
-#define HPI_AESEBURX_ERRORSTATUS HPI_CTL_ATTR(AESEBURX, 2)
|
|
|
|
-#define HPI_AESEBURX_SAMPLERATE HPI_CTL_ATTR(AESEBURX, 3)
|
|
|
|
-#define HPI_AESEBURX_CHANNELSTATUS HPI_CTL_ATTR(AESEBURX, 4)
|
|
|
|
-#define HPI_AESEBURX_USERDATA HPI_CTL_ATTR(AESEBURX, 5)
|
|
|
|
-
|
|
|
|
-/** \defgroup tuner_defs Tuners
|
|
|
|
-\{
|
|
|
|
-*/
|
|
|
|
-/** \defgroup tuner_attrs Tuner control attributes
|
|
|
|
-\{
|
|
|
|
-*/
|
|
|
|
-#define HPI_TUNER_BAND HPI_CTL_ATTR(TUNER, 1)
|
|
|
|
-#define HPI_TUNER_FREQ HPI_CTL_ATTR(TUNER, 2)
|
|
|
|
-#define HPI_TUNER_LEVEL HPI_CTL_ATTR(TUNER, 3)
|
|
|
|
-#define HPI_TUNER_AUDIOMUTE HPI_CTL_ATTR(TUNER, 4)
|
|
|
|
-/* use TUNER_STATUS instead */
|
|
|
|
-#define HPI_TUNER_VIDEO_STATUS HPI_CTL_ATTR(TUNER, 5)
|
|
|
|
-#define HPI_TUNER_GAIN HPI_CTL_ATTR(TUNER, 6)
|
|
|
|
-#define HPI_TUNER_STATUS HPI_CTL_ATTR(TUNER, 7)
|
|
|
|
-#define HPI_TUNER_MODE HPI_CTL_ATTR(TUNER, 8)
|
|
|
|
-/** RDS data. */
|
|
|
|
-#define HPI_TUNER_RDS HPI_CTL_ATTR(TUNER, 9)
|
|
|
|
-/** Audio pre-emphasis. */
|
|
|
|
-#define HPI_TUNER_DEEMPHASIS HPI_CTL_ATTR(TUNER, 10)
|
|
|
|
-/** HD Radio tuner program control. */
|
|
|
|
-#define HPI_TUNER_PROGRAM HPI_CTL_ATTR(TUNER, 11)
|
|
|
|
-/** HD Radio tuner digital signal quality. */
|
|
|
|
-#define HPI_TUNER_HDRADIO_SIGNAL_QUALITY HPI_CTL_ATTR(TUNER, 12)
|
|
|
|
-/** HD Radio SDK firmware version. */
|
|
|
|
-#define HPI_TUNER_HDRADIO_SDK_VERSION HPI_CTL_ATTR(TUNER, 13)
|
|
|
|
-/** HD Radio DSP firmware version. */
|
|
|
|
-#define HPI_TUNER_HDRADIO_DSP_VERSION HPI_CTL_ATTR(TUNER, 14)
|
|
|
|
-/** HD Radio signal blend (force analog, or automatic). */
|
|
|
|
-#define HPI_TUNER_HDRADIO_BLEND HPI_CTL_ATTR(TUNER, 15)
|
|
|
|
-
|
|
|
|
-/** \} */
|
|
|
|
-
|
|
|
|
-/** \defgroup pads_attrs Tuner PADs control attributes
|
|
|
|
-\{
|
|
|
|
-*/
|
|
|
|
-/** The text string containing the station/channel combination. */
|
|
|
|
-#define HPI_PAD_CHANNEL_NAME HPI_CTL_ATTR(PAD, 1)
|
|
|
|
-/** The text string containing the artist. */
|
|
|
|
-#define HPI_PAD_ARTIST HPI_CTL_ATTR(PAD, 2)
|
|
|
|
-/** The text string containing the title. */
|
|
|
|
-#define HPI_PAD_TITLE HPI_CTL_ATTR(PAD, 3)
|
|
|
|
-/** The text string containing the comment. */
|
|
|
|
-#define HPI_PAD_COMMENT HPI_CTL_ATTR(PAD, 4)
|
|
|
|
-/** The integer containing the PTY code. */
|
|
|
|
-#define HPI_PAD_PROGRAM_TYPE HPI_CTL_ATTR(PAD, 5)
|
|
|
|
-/** The integer containing the program identification. */
|
|
|
|
-#define HPI_PAD_PROGRAM_ID HPI_CTL_ATTR(PAD, 6)
|
|
|
|
-/** The integer containing whether traffic information is supported.
|
|
|
|
-Contains either 1 or 0. */
|
|
|
|
-#define HPI_PAD_TA_SUPPORT HPI_CTL_ATTR(PAD, 7)
|
|
|
|
-/** The integer containing whether traffic announcement is in progress.
|
|
|
|
-Contains either 1 or 0. */
|
|
|
|
-#define HPI_PAD_TA_ACTIVE HPI_CTL_ATTR(PAD, 8)
|
|
|
|
-/** \} */
|
|
|
|
-/** \} */
|
|
|
|
-
|
|
|
|
-/* VOX control attributes */
|
|
|
|
-#define HPI_VOX_THRESHOLD HPI_CTL_ATTR(VOX, 1)
|
|
|
|
-
|
|
|
|
-/*?? channel mode used hpi_multiplexer_source attribute == 1 */
|
|
|
|
-#define HPI_CHANNEL_MODE_MODE HPI_CTL_ATTR(CHANNEL_MODE, 1)
|
|
|
|
-
|
|
|
|
-/** \defgroup channel_modes Channel Modes
|
|
|
|
-Used for HPI_ChannelModeSet/Get()
|
|
|
|
-\{
|
|
|
|
|
|
+
|
|
|
|
+/** Unique identifiers for every control attribute
|
|
*/
|
|
*/
|
|
-/** Left channel out = left channel in, Right channel out = right channel in. */
|
|
|
|
-#define HPI_CHANNEL_MODE_NORMAL 1
|
|
|
|
-/** Left channel out = right channel in, Right channel out = left channel in. */
|
|
|
|
-#define HPI_CHANNEL_MODE_SWAP 2
|
|
|
|
-/** Left channel out = left channel in, Right channel out = left channel in. */
|
|
|
|
-#define HPI_CHANNEL_MODE_LEFT_TO_STEREO 3
|
|
|
|
-/** Left channel out = right channel in, Right channel out = right channel in.*/
|
|
|
|
-#define HPI_CHANNEL_MODE_RIGHT_TO_STEREO 4
|
|
|
|
-/** Left channel out = (left channel in + right channel in)/2,
|
|
|
|
- Right channel out = mute. */
|
|
|
|
-#define HPI_CHANNEL_MODE_STEREO_TO_LEFT 5
|
|
|
|
-/** Left channel out = mute,
|
|
|
|
- Right channel out = (right channel in + left channel in)/2. */
|
|
|
|
-#define HPI_CHANNEL_MODE_STEREO_TO_RIGHT 6
|
|
|
|
-#define HPI_CHANNEL_MODE_LAST 6
|
|
|
|
-/** \} */
|
|
|
|
-
|
|
|
|
-/* Bitstream control set attributes */
|
|
|
|
-#define HPI_BITSTREAM_DATA_POLARITY HPI_CTL_ATTR(BITSTREAM, 1)
|
|
|
|
-#define HPI_BITSTREAM_CLOCK_EDGE HPI_CTL_ATTR(BITSTREAM, 2)
|
|
|
|
-#define HPI_BITSTREAM_CLOCK_SOURCE HPI_CTL_ATTR(BITSTREAM, 3)
|
|
|
|
|
|
+enum HPI_CONTROL_ATTRIBUTES {
|
|
|
|
+ HPI_GENERIC_ENABLE = HPI_CTL_ATTR(GENERIC, 1),
|
|
|
|
+ HPI_GENERIC_EVENT_ENABLE = HPI_CTL_ATTR(GENERIC, 2),
|
|
|
|
+
|
|
|
|
+ HPI_VOLUME_GAIN = HPI_CTL_ATTR(VOLUME, 1),
|
|
|
|
+ HPI_VOLUME_AUTOFADE = HPI_CTL_ATTR(VOLUME, 2),
|
|
|
|
+ HPI_VOLUME_NUM_CHANNELS = HPI_CTL_ATTR(VOLUME, 6),
|
|
|
|
+ HPI_VOLUME_RANGE = HPI_CTL_ATTR(VOLUME, 10),
|
|
|
|
+
|
|
|
|
+ HPI_METER_RMS = HPI_CTL_ATTR(METER, 1),
|
|
|
|
+ HPI_METER_PEAK = HPI_CTL_ATTR(METER, 2),
|
|
|
|
+ HPI_METER_RMS_BALLISTICS = HPI_CTL_ATTR(METER, 3),
|
|
|
|
+ HPI_METER_PEAK_BALLISTICS = HPI_CTL_ATTR(METER, 4),
|
|
|
|
+ HPI_METER_NUM_CHANNELS = HPI_CTL_ATTR(METER, 5),
|
|
|
|
+
|
|
|
|
+ HPI_MULTIPLEXER_SOURCE = HPI_CTL_ATTR(MULTIPLEXER, 1),
|
|
|
|
+ HPI_MULTIPLEXER_QUERYSOURCE = HPI_CTL_ATTR(MULTIPLEXER, 2),
|
|
|
|
+
|
|
|
|
+ HPI_AESEBUTX_FORMAT = HPI_CTL_ATTR(AESEBUTX, 1),
|
|
|
|
+ HPI_AESEBUTX_SAMPLERATE = HPI_CTL_ATTR(AESEBUTX, 3),
|
|
|
|
+ HPI_AESEBUTX_CHANNELSTATUS = HPI_CTL_ATTR(AESEBUTX, 4),
|
|
|
|
+ HPI_AESEBUTX_USERDATA = HPI_CTL_ATTR(AESEBUTX, 5),
|
|
|
|
+
|
|
|
|
+ HPI_AESEBURX_FORMAT = HPI_CTL_ATTR(AESEBURX, 1),
|
|
|
|
+ HPI_AESEBURX_ERRORSTATUS = HPI_CTL_ATTR(AESEBURX, 2),
|
|
|
|
+ HPI_AESEBURX_SAMPLERATE = HPI_CTL_ATTR(AESEBURX, 3),
|
|
|
|
+ HPI_AESEBURX_CHANNELSTATUS = HPI_CTL_ATTR(AESEBURX, 4),
|
|
|
|
+ HPI_AESEBURX_USERDATA = HPI_CTL_ATTR(AESEBURX, 5),
|
|
|
|
+
|
|
|
|
+ HPI_LEVEL_GAIN = HPI_CTL_ATTR(LEVEL, 1),
|
|
|
|
+ HPI_LEVEL_RANGE = HPI_CTL_ATTR(LEVEL, 10),
|
|
|
|
+
|
|
|
|
+ HPI_TUNER_BAND = HPI_CTL_ATTR(TUNER, 1),
|
|
|
|
+ HPI_TUNER_FREQ = HPI_CTL_ATTR(TUNER, 2),
|
|
|
|
+ HPI_TUNER_LEVEL_AVG = HPI_CTL_ATTR(TUNER, 3),
|
|
|
|
+ HPI_TUNER_LEVEL_RAW = HPI_CTL_ATTR(TUNER, 4),
|
|
|
|
+ HPI_TUNER_SNR = HPI_CTL_ATTR(TUNER, 5),
|
|
|
|
+ HPI_TUNER_GAIN = HPI_CTL_ATTR(TUNER, 6),
|
|
|
|
+ HPI_TUNER_STATUS = HPI_CTL_ATTR(TUNER, 7),
|
|
|
|
+ HPI_TUNER_MODE = HPI_CTL_ATTR(TUNER, 8),
|
|
|
|
+ HPI_TUNER_RDS = HPI_CTL_ATTR(TUNER, 9),
|
|
|
|
+ HPI_TUNER_DEEMPHASIS = HPI_CTL_ATTR(TUNER, 10),
|
|
|
|
+ HPI_TUNER_PROGRAM = HPI_CTL_ATTR(TUNER, 11),
|
|
|
|
+ HPI_TUNER_HDRADIO_SIGNAL_QUALITY = HPI_CTL_ATTR(TUNER, 12),
|
|
|
|
+ HPI_TUNER_HDRADIO_SDK_VERSION = HPI_CTL_ATTR(TUNER, 13),
|
|
|
|
+ HPI_TUNER_HDRADIO_DSP_VERSION = HPI_CTL_ATTR(TUNER, 14),
|
|
|
|
+ HPI_TUNER_HDRADIO_BLEND = HPI_CTL_ATTR(TUNER, 15),
|
|
|
|
+
|
|
|
|
+ HPI_VOX_THRESHOLD = HPI_CTL_ATTR(VOX, 1),
|
|
|
|
+
|
|
|
|
+ HPI_CHANNEL_MODE_MODE = HPI_CTL_ATTR(CHANNEL_MODE, 1),
|
|
|
|
+
|
|
|
|
+ HPI_BITSTREAM_DATA_POLARITY = HPI_CTL_ATTR(BITSTREAM, 1),
|
|
|
|
+ HPI_BITSTREAM_CLOCK_EDGE = HPI_CTL_ATTR(BITSTREAM, 2),
|
|
|
|
+ HPI_BITSTREAM_CLOCK_SOURCE = HPI_CTL_ATTR(BITSTREAM, 3),
|
|
|
|
+ HPI_BITSTREAM_ACTIVITY = HPI_CTL_ATTR(BITSTREAM, 4),
|
|
|
|
+
|
|
|
|
+ HPI_SAMPLECLOCK_SOURCE = HPI_CTL_ATTR(SAMPLECLOCK, 1),
|
|
|
|
+ HPI_SAMPLECLOCK_SAMPLERATE = HPI_CTL_ATTR(SAMPLECLOCK, 2),
|
|
|
|
+ HPI_SAMPLECLOCK_SOURCE_INDEX = HPI_CTL_ATTR(SAMPLECLOCK, 3),
|
|
|
|
+ HPI_SAMPLECLOCK_LOCAL_SAMPLERATE = HPI_CTL_ATTR(SAMPLECLOCK, 4),
|
|
|
|
+ HPI_SAMPLECLOCK_AUTO = HPI_CTL_ATTR(SAMPLECLOCK, 5),
|
|
|
|
+ HPI_SAMPLECLOCK_LOCAL_LOCK = HPI_CTL_ATTR(SAMPLECLOCK, 6),
|
|
|
|
+
|
|
|
|
+ HPI_MICROPHONE_PHANTOM_POWER = HPI_CTL_ATTR(MICROPHONE, 1),
|
|
|
|
+
|
|
|
|
+ HPI_EQUALIZER_NUM_FILTERS = HPI_CTL_ATTR(EQUALIZER, 1),
|
|
|
|
+ HPI_EQUALIZER_FILTER = HPI_CTL_ATTR(EQUALIZER, 2),
|
|
|
|
+ HPI_EQUALIZER_COEFFICIENTS = HPI_CTL_ATTR(EQUALIZER, 3),
|
|
|
|
+
|
|
|
|
+ HPI_COMPANDER_PARAMS = HPI_CTL_ATTR(COMPANDER, 1),
|
|
|
|
+ HPI_COMPANDER_MAKEUPGAIN = HPI_CTL_ATTR(COMPANDER, 2),
|
|
|
|
+ HPI_COMPANDER_THRESHOLD = HPI_CTL_ATTR(COMPANDER, 3),
|
|
|
|
+ HPI_COMPANDER_RATIO = HPI_CTL_ATTR(COMPANDER, 4),
|
|
|
|
+ HPI_COMPANDER_ATTACK = HPI_CTL_ATTR(COMPANDER, 5),
|
|
|
|
+ HPI_COMPANDER_DECAY = HPI_CTL_ATTR(COMPANDER, 6),
|
|
|
|
+
|
|
|
|
+ HPI_COBRANET_SET = HPI_CTL_ATTR(COBRANET, 1),
|
|
|
|
+ HPI_COBRANET_GET = HPI_CTL_ATTR(COBRANET, 2),
|
|
|
|
+ HPI_COBRANET_SET_DATA = HPI_CTL_ATTR(COBRANET, 3),
|
|
|
|
+ HPI_COBRANET_GET_DATA = HPI_CTL_ATTR(COBRANET, 4),
|
|
|
|
+ HPI_COBRANET_GET_STATUS = HPI_CTL_ATTR(COBRANET, 5),
|
|
|
|
+ HPI_COBRANET_SEND_PACKET = HPI_CTL_ATTR(COBRANET, 6),
|
|
|
|
+ HPI_COBRANET_GET_PACKET = HPI_CTL_ATTR(COBRANET, 7),
|
|
|
|
+
|
|
|
|
+ HPI_TONEDETECTOR_THRESHOLD = HPI_CTL_ATTR(TONEDETECTOR, 1),
|
|
|
|
+ HPI_TONEDETECTOR_STATE = HPI_CTL_ATTR(TONEDETECTOR, 2),
|
|
|
|
+ HPI_TONEDETECTOR_FREQUENCY = HPI_CTL_ATTR(TONEDETECTOR, 3),
|
|
|
|
+
|
|
|
|
+ HPI_SILENCEDETECTOR_THRESHOLD = HPI_CTL_ATTR(SILENCEDETECTOR, 1),
|
|
|
|
+ HPI_SILENCEDETECTOR_STATE = HPI_CTL_ATTR(SILENCEDETECTOR, 2),
|
|
|
|
+ HPI_SILENCEDETECTOR_DELAY = HPI_CTL_ATTR(SILENCEDETECTOR, 3),
|
|
|
|
+
|
|
|
|
+ HPI_PAD_CHANNEL_NAME = HPI_CTL_ATTR(PAD, 1),
|
|
|
|
+ HPI_PAD_ARTIST = HPI_CTL_ATTR(PAD, 2),
|
|
|
|
+ HPI_PAD_TITLE = HPI_CTL_ATTR(PAD, 3),
|
|
|
|
+ HPI_PAD_COMMENT = HPI_CTL_ATTR(PAD, 4),
|
|
|
|
+ HPI_PAD_PROGRAM_TYPE = HPI_CTL_ATTR(PAD, 5),
|
|
|
|
+ HPI_PAD_PROGRAM_ID = HPI_CTL_ATTR(PAD, 6),
|
|
|
|
+ HPI_PAD_TA_SUPPORT = HPI_CTL_ATTR(PAD, 7),
|
|
|
|
+ HPI_PAD_TA_ACTIVE = HPI_CTL_ATTR(PAD, 8)
|
|
|
|
+};
|
|
|
|
|
|
#define HPI_POLARITY_POSITIVE 0
|
|
#define HPI_POLARITY_POSITIVE 0
|
|
#define HPI_POLARITY_NEGATIVE 1
|
|
#define HPI_POLARITY_NEGATIVE 1
|
|
|
|
|
|
-/* Bitstream control get attributes */
|
|
|
|
-#define HPI_BITSTREAM_ACTIVITY 1
|
|
|
|
-
|
|
|
|
-/* SampleClock control attributes */
|
|
|
|
-#define HPI_SAMPLECLOCK_SOURCE HPI_CTL_ATTR(SAMPLECLOCK, 1)
|
|
|
|
-#define HPI_SAMPLECLOCK_SAMPLERATE HPI_CTL_ATTR(SAMPLECLOCK, 2)
|
|
|
|
-#define HPI_SAMPLECLOCK_SOURCE_INDEX HPI_CTL_ATTR(SAMPLECLOCK, 3)
|
|
|
|
-#define HPI_SAMPLECLOCK_LOCAL_SAMPLERATE\
|
|
|
|
- HPI_CTL_ATTR(SAMPLECLOCK, 4)
|
|
|
|
-#define HPI_SAMPLECLOCK_AUTO HPI_CTL_ATTR(SAMPLECLOCK, 5)
|
|
|
|
-#define HPI_SAMPLECLOCK_LOCAL_LOCK HPI_CTL_ATTR(SAMPLECLOCK, 6)
|
|
|
|
-
|
|
|
|
-/* Microphone control attributes */
|
|
|
|
-#define HPI_MICROPHONE_PHANTOM_POWER HPI_CTL_ATTR(MICROPHONE, 1)
|
|
|
|
-
|
|
|
|
-/** Equalizer control attributes */
|
|
|
|
-/** Used to get number of filters in an EQ. (Can't set) */
|
|
|
|
-#define HPI_EQUALIZER_NUM_FILTERS HPI_CTL_ATTR(EQUALIZER, 1)
|
|
|
|
-/** Set/get the filter by type, freq, Q, gain */
|
|
|
|
-#define HPI_EQUALIZER_FILTER HPI_CTL_ATTR(EQUALIZER, 2)
|
|
|
|
-/** Get the biquad coefficients */
|
|
|
|
-#define HPI_EQUALIZER_COEFFICIENTS HPI_CTL_ATTR(EQUALIZER, 3)
|
|
|
|
-
|
|
|
|
-/* Note compander also uses HPI_GENERIC_ENABLE */
|
|
|
|
-#define HPI_COMPANDER_PARAMS HPI_CTL_ATTR(COMPANDER, 1)
|
|
|
|
-#define HPI_COMPANDER_MAKEUPGAIN HPI_CTL_ATTR(COMPANDER, 2)
|
|
|
|
-#define HPI_COMPANDER_THRESHOLD HPI_CTL_ATTR(COMPANDER, 3)
|
|
|
|
-#define HPI_COMPANDER_RATIO HPI_CTL_ATTR(COMPANDER, 4)
|
|
|
|
-#define HPI_COMPANDER_ATTACK HPI_CTL_ATTR(COMPANDER, 5)
|
|
|
|
-#define HPI_COMPANDER_DECAY HPI_CTL_ATTR(COMPANDER, 6)
|
|
|
|
-
|
|
|
|
-/* Cobranet control attributes. */
|
|
|
|
-#define HPI_COBRANET_SET HPI_CTL_ATTR(COBRANET, 1)
|
|
|
|
-#define HPI_COBRANET_GET HPI_CTL_ATTR(COBRANET, 2)
|
|
|
|
-#define HPI_COBRANET_SET_DATA HPI_CTL_ATTR(COBRANET, 3)
|
|
|
|
-#define HPI_COBRANET_GET_DATA HPI_CTL_ATTR(COBRANET, 4)
|
|
|
|
-#define HPI_COBRANET_GET_STATUS HPI_CTL_ATTR(COBRANET, 5)
|
|
|
|
-#define HPI_COBRANET_SEND_PACKET HPI_CTL_ATTR(COBRANET, 6)
|
|
|
|
-#define HPI_COBRANET_GET_PACKET HPI_CTL_ATTR(COBRANET, 7)
|
|
|
|
-
|
|
|
|
/*------------------------------------------------------------
|
|
/*------------------------------------------------------------
|
|
Cobranet Chip Bridge - copied from HMI.H
|
|
Cobranet Chip Bridge - copied from HMI.H
|
|
------------------------------------------------------------*/
|
|
------------------------------------------------------------*/
|
|
@@ -398,66 +288,19 @@ Used for HPI_ChannelModeSet/Get()
|
|
/** Base network time out is set to 100 milli-seconds. */
|
|
/** Base network time out is set to 100 milli-seconds. */
|
|
#define HPI_ETHERNET_TIMEOUT_MS (100)
|
|
#define HPI_ETHERNET_TIMEOUT_MS (100)
|
|
|
|
|
|
-/** \defgroup tonedet_attr Tonedetector attributes
|
|
|
|
-\{
|
|
|
|
-Used by HPI_ToneDetector_Set() and HPI_ToneDetector_Get()
|
|
|
|
-*/
|
|
|
|
-
|
|
|
|
-/** Set the threshold level of a tonedetector,
|
|
|
|
-Threshold is a -ve number in units of dB/100,
|
|
|
|
-*/
|
|
|
|
-#define HPI_TONEDETECTOR_THRESHOLD HPI_CTL_ATTR(TONEDETECTOR, 1)
|
|
|
|
-
|
|
|
|
-/** Get the current state of tonedetection
|
|
|
|
-The result is a bitmap of detected tones. pairs of bits represent the left
|
|
|
|
-and right channels, with left channel in LSB.
|
|
|
|
-The lowest frequency detector state is in the LSB
|
|
|
|
-*/
|
|
|
|
-#define HPI_TONEDETECTOR_STATE HPI_CTL_ATTR(TONEDETECTOR, 2)
|
|
|
|
-
|
|
|
|
-/** Get the frequency of a tonedetector band.
|
|
|
|
-*/
|
|
|
|
-#define HPI_TONEDETECTOR_FREQUENCY HPI_CTL_ATTR(TONEDETECTOR, 3)
|
|
|
|
-
|
|
|
|
-/**\}*/
|
|
|
|
-
|
|
|
|
-/** \defgroup silencedet_attr SilenceDetector attributes
|
|
|
|
-\{
|
|
|
|
-*/
|
|
|
|
-
|
|
|
|
-/** Get the current state of tonedetection
|
|
|
|
-The result is a bitmap with 1s for silent channels. Left channel is in LSB
|
|
|
|
-*/
|
|
|
|
-#define HPI_SILENCEDETECTOR_STATE \
|
|
|
|
- HPI_CTL_ATTR(SILENCEDETECTOR, 2)
|
|
|
|
-
|
|
|
|
-/** Set the threshold level of a SilenceDetector,
|
|
|
|
-Threshold is a -ve number in units of dB/100,
|
|
|
|
-*/
|
|
|
|
-#define HPI_SILENCEDETECTOR_THRESHOLD \
|
|
|
|
- HPI_CTL_ATTR(SILENCEDETECTOR, 1)
|
|
|
|
-
|
|
|
|
-/** get/set the silence time before the detector triggers
|
|
|
|
-*/
|
|
|
|
-#define HPI_SILENCEDETECTOR_DELAY \
|
|
|
|
- HPI_CTL_ATTR(SILENCEDETECTOR, 3)
|
|
|
|
-
|
|
|
|
-/**\}*/
|
|
|
|
-
|
|
|
|
-/* Locked memory buffer alloc/free phases */
|
|
|
|
-/** use one message to allocate or free physical memory */
|
|
|
|
-#define HPI_BUFFER_CMD_EXTERNAL 0
|
|
|
|
-/** alloc physical memory */
|
|
|
|
-#define HPI_BUFFER_CMD_INTERNAL_ALLOC 1
|
|
|
|
-/** send physical memory address to adapter */
|
|
|
|
-#define HPI_BUFFER_CMD_INTERNAL_GRANTADAPTER 2
|
|
|
|
-/** notify adapter to stop using physical buffer */
|
|
|
|
-#define HPI_BUFFER_CMD_INTERNAL_REVOKEADAPTER 3
|
|
|
|
-/** free physical buffer */
|
|
|
|
-#define HPI_BUFFER_CMD_INTERNAL_FREE 4
|
|
|
|
-
|
|
|
|
-/******************************************* CONTROLX ATTRIBUTES ****/
|
|
|
|
-/* NOTE: All controlx attributes must be unique, unlike control attributes */
|
|
|
|
|
|
+/** Locked memory buffer alloc/free phases */
|
|
|
|
+enum HPI_BUFFER_CMDS {
|
|
|
|
+ /** use one message to allocate or free physical memory */
|
|
|
|
+ HPI_BUFFER_CMD_EXTERNAL = 0,
|
|
|
|
+ /** alloc physical memory */
|
|
|
|
+ HPI_BUFFER_CMD_INTERNAL_ALLOC = 1,
|
|
|
|
+ /** send physical memory address to adapter */
|
|
|
|
+ HPI_BUFFER_CMD_INTERNAL_GRANTADAPTER = 2,
|
|
|
|
+ /** notify adapter to stop using physical buffer */
|
|
|
|
+ HPI_BUFFER_CMD_INTERNAL_REVOKEADAPTER = 3,
|
|
|
|
+ /** free physical buffer */
|
|
|
|
+ HPI_BUFFER_CMD_INTERNAL_FREE = 4
|
|
|
|
+};
|
|
|
|
|
|
/*****************************************************************************/
|
|
/*****************************************************************************/
|
|
/*****************************************************************************/
|
|
/*****************************************************************************/
|
|
@@ -482,6 +325,12 @@ Threshold is a -ve number in units of dB/100,
|
|
#define HPI_USB_W2K_TAG 0x57495341 /* "ASIW" */
|
|
#define HPI_USB_W2K_TAG 0x57495341 /* "ASIW" */
|
|
#define HPI_USB_LINUX_TAG 0x4C495341 /* "ASIL" */
|
|
#define HPI_USB_LINUX_TAG 0x4C495341 /* "ASIL" */
|
|
|
|
|
|
|
|
+/** Invalid Adapter index
|
|
|
|
+Used in HPI messages that are not addressed to a specific adapter
|
|
|
|
+Used in DLL to indicate device not present
|
|
|
|
+*/
|
|
|
|
+#define HPI_ADAPTER_INDEX_INVALID 0xFFFF
|
|
|
|
+
|
|
/** First 2 hex digits define the adapter family */
|
|
/** First 2 hex digits define the adapter family */
|
|
#define HPI_ADAPTER_FAMILY_MASK 0xff00
|
|
#define HPI_ADAPTER_FAMILY_MASK 0xff00
|
|
#define HPI_MODULE_FAMILY_MASK 0xfff0
|
|
#define HPI_MODULE_FAMILY_MASK 0xfff0
|
|
@@ -490,178 +339,180 @@ Threshold is a -ve number in units of dB/100,
|
|
#define HPI_MODULE_FAMILY_ASI(f) (f & HPI_MODULE_FAMILY_MASK)
|
|
#define HPI_MODULE_FAMILY_ASI(f) (f & HPI_MODULE_FAMILY_MASK)
|
|
#define HPI_ADAPTER_ASI(f) (f)
|
|
#define HPI_ADAPTER_ASI(f) (f)
|
|
|
|
|
|
-/******************************************* message types */
|
|
|
|
-#define HPI_TYPE_MESSAGE 1
|
|
|
|
-#define HPI_TYPE_RESPONSE 2
|
|
|
|
-#define HPI_TYPE_DATA 3
|
|
|
|
-#define HPI_TYPE_SSX2BYPASS_MESSAGE 4
|
|
|
|
-
|
|
|
|
-/******************************************* object types */
|
|
|
|
-#define HPI_OBJ_SUBSYSTEM 1
|
|
|
|
-#define HPI_OBJ_ADAPTER 2
|
|
|
|
-#define HPI_OBJ_OSTREAM 3
|
|
|
|
-#define HPI_OBJ_ISTREAM 4
|
|
|
|
-#define HPI_OBJ_MIXER 5
|
|
|
|
-#define HPI_OBJ_NODE 6
|
|
|
|
-#define HPI_OBJ_CONTROL 7
|
|
|
|
-#define HPI_OBJ_NVMEMORY 8
|
|
|
|
-#define HPI_OBJ_GPIO 9
|
|
|
|
-#define HPI_OBJ_WATCHDOG 10
|
|
|
|
-#define HPI_OBJ_CLOCK 11
|
|
|
|
-#define HPI_OBJ_PROFILE 12
|
|
|
|
-#define HPI_OBJ_CONTROLEX 13
|
|
|
|
-#define HPI_OBJ_ASYNCEVENT 14
|
|
|
|
-
|
|
|
|
-#define HPI_OBJ_MAXINDEX 14
|
|
|
|
-
|
|
|
|
-/******************************************* methods/functions */
|
|
|
|
-
|
|
|
|
-#define HPI_OBJ_FUNCTION_SPACING 0x100
|
|
|
|
-#define HPI_MAKE_INDEX(obj, index) (obj * HPI_OBJ_FUNCTION_SPACING + index)
|
|
|
|
|
|
+enum HPI_MESSAGE_TYPES {
|
|
|
|
+ HPI_TYPE_MESSAGE = 1,
|
|
|
|
+ HPI_TYPE_RESPONSE = 2,
|
|
|
|
+ HPI_TYPE_DATA = 3,
|
|
|
|
+ HPI_TYPE_SSX2BYPASS_MESSAGE = 4
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+enum HPI_OBJECT_TYPES {
|
|
|
|
+ HPI_OBJ_SUBSYSTEM = 1,
|
|
|
|
+ HPI_OBJ_ADAPTER = 2,
|
|
|
|
+ HPI_OBJ_OSTREAM = 3,
|
|
|
|
+ HPI_OBJ_ISTREAM = 4,
|
|
|
|
+ HPI_OBJ_MIXER = 5,
|
|
|
|
+ HPI_OBJ_NODE = 6,
|
|
|
|
+ HPI_OBJ_CONTROL = 7,
|
|
|
|
+ HPI_OBJ_NVMEMORY = 8,
|
|
|
|
+ HPI_OBJ_GPIO = 9,
|
|
|
|
+ HPI_OBJ_WATCHDOG = 10,
|
|
|
|
+ HPI_OBJ_CLOCK = 11,
|
|
|
|
+ HPI_OBJ_PROFILE = 12,
|
|
|
|
+ HPI_OBJ_CONTROLEX = 13,
|
|
|
|
+ HPI_OBJ_ASYNCEVENT = 14
|
|
|
|
+#define HPI_OBJ_MAXINDEX 14
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+#define HPI_OBJ_FUNCTION_SPACING 0x100
|
|
|
|
+#define HPI_FUNC_ID(obj, index) (HPI_OBJ_##obj * HPI_OBJ_FUNCTION_SPACING + index)
|
|
|
|
+
|
|
#define HPI_EXTRACT_INDEX(fn) (fn & 0xff)
|
|
#define HPI_EXTRACT_INDEX(fn) (fn & 0xff)
|
|
|
|
|
|
-/* SUB-SYSTEM */
|
|
|
|
-#define HPI_SUBSYS_OPEN HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 1)
|
|
|
|
-#define HPI_SUBSYS_GET_VERSION HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 2)
|
|
|
|
-#define HPI_SUBSYS_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 3)
|
|
|
|
-#define HPI_SUBSYS_FIND_ADAPTERS HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 4)
|
|
|
|
-#define HPI_SUBSYS_CREATE_ADAPTER HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 5)
|
|
|
|
-#define HPI_SUBSYS_CLOSE HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 6)
|
|
|
|
-#define HPI_SUBSYS_DELETE_ADAPTER HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 7)
|
|
|
|
-#define HPI_SUBSYS_DRIVER_LOAD HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 8)
|
|
|
|
-#define HPI_SUBSYS_DRIVER_UNLOAD HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 9)
|
|
|
|
-#define HPI_SUBSYS_READ_PORT_8 HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 10)
|
|
|
|
-#define HPI_SUBSYS_WRITE_PORT_8 HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 11)
|
|
|
|
-#define HPI_SUBSYS_GET_NUM_ADAPTERS HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 12)
|
|
|
|
-#define HPI_SUBSYS_GET_ADAPTER HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 13)
|
|
|
|
-#define HPI_SUBSYS_SET_NETWORK_INTERFACE HPI_MAKE_INDEX(HPI_OBJ_SUBSYSTEM, 14)
|
|
|
|
-#define HPI_SUBSYS_FUNCTION_COUNT 14
|
|
|
|
-/* ADAPTER */
|
|
|
|
-#define HPI_ADAPTER_OPEN HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 1)
|
|
|
|
-#define HPI_ADAPTER_CLOSE HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 2)
|
|
|
|
-#define HPI_ADAPTER_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 3)
|
|
|
|
-#define HPI_ADAPTER_GET_ASSERT HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 4)
|
|
|
|
-#define HPI_ADAPTER_TEST_ASSERT HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 5)
|
|
|
|
-#define HPI_ADAPTER_SET_MODE HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 6)
|
|
|
|
-#define HPI_ADAPTER_GET_MODE HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 7)
|
|
|
|
-#define HPI_ADAPTER_ENABLE_CAPABILITY HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 8)
|
|
|
|
-#define HPI_ADAPTER_SELFTEST HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 9)
|
|
|
|
-#define HPI_ADAPTER_FIND_OBJECT HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 10)
|
|
|
|
-#define HPI_ADAPTER_QUERY_FLASH HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 11)
|
|
|
|
-#define HPI_ADAPTER_START_FLASH HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 12)
|
|
|
|
-#define HPI_ADAPTER_PROGRAM_FLASH HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 13)
|
|
|
|
-#define HPI_ADAPTER_SET_PROPERTY HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 14)
|
|
|
|
-#define HPI_ADAPTER_GET_PROPERTY HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 15)
|
|
|
|
-#define HPI_ADAPTER_ENUM_PROPERTY HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 16)
|
|
|
|
-#define HPI_ADAPTER_MODULE_INFO HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 17)
|
|
|
|
-#define HPI_ADAPTER_DEBUG_READ HPI_MAKE_INDEX(HPI_OBJ_ADAPTER, 18)
|
|
|
|
|
|
+enum HPI_FUNCTION_IDS {
|
|
|
|
+ HPI_SUBSYS_OPEN = HPI_FUNC_ID(SUBSYSTEM, 1),
|
|
|
|
+ HPI_SUBSYS_GET_VERSION = HPI_FUNC_ID(SUBSYSTEM, 2),
|
|
|
|
+ HPI_SUBSYS_GET_INFO = HPI_FUNC_ID(SUBSYSTEM, 3),
|
|
|
|
+ HPI_SUBSYS_FIND_ADAPTERS = HPI_FUNC_ID(SUBSYSTEM, 4),
|
|
|
|
+ HPI_SUBSYS_CREATE_ADAPTER = HPI_FUNC_ID(SUBSYSTEM, 5),
|
|
|
|
+ HPI_SUBSYS_CLOSE = HPI_FUNC_ID(SUBSYSTEM, 6),
|
|
|
|
+ HPI_SUBSYS_DELETE_ADAPTER = HPI_FUNC_ID(SUBSYSTEM, 7),
|
|
|
|
+ HPI_SUBSYS_DRIVER_LOAD = HPI_FUNC_ID(SUBSYSTEM, 8),
|
|
|
|
+ HPI_SUBSYS_DRIVER_UNLOAD = HPI_FUNC_ID(SUBSYSTEM, 9),
|
|
|
|
+ HPI_SUBSYS_READ_PORT_8 = HPI_FUNC_ID(SUBSYSTEM, 10),
|
|
|
|
+ HPI_SUBSYS_WRITE_PORT_8 = HPI_FUNC_ID(SUBSYSTEM, 11),
|
|
|
|
+ HPI_SUBSYS_GET_NUM_ADAPTERS = HPI_FUNC_ID(SUBSYSTEM, 12),
|
|
|
|
+ HPI_SUBSYS_GET_ADAPTER = HPI_FUNC_ID(SUBSYSTEM, 13),
|
|
|
|
+ HPI_SUBSYS_SET_NETWORK_INTERFACE = HPI_FUNC_ID(SUBSYSTEM, 14),
|
|
|
|
+ HPI_SUBSYS_OPTION_INFO = HPI_FUNC_ID(SUBSYSTEM, 15),
|
|
|
|
+ HPI_SUBSYS_OPTION_GET = HPI_FUNC_ID(SUBSYSTEM, 16),
|
|
|
|
+ HPI_SUBSYS_OPTION_SET = HPI_FUNC_ID(SUBSYSTEM, 17),
|
|
|
|
+#define HPI_SUBSYS_FUNCTION_COUNT 17
|
|
|
|
+
|
|
|
|
+ HPI_ADAPTER_OPEN = HPI_FUNC_ID(ADAPTER, 1),
|
|
|
|
+ HPI_ADAPTER_CLOSE = HPI_FUNC_ID(ADAPTER, 2),
|
|
|
|
+ HPI_ADAPTER_GET_INFO = HPI_FUNC_ID(ADAPTER, 3),
|
|
|
|
+ HPI_ADAPTER_GET_ASSERT = HPI_FUNC_ID(ADAPTER, 4),
|
|
|
|
+ HPI_ADAPTER_TEST_ASSERT = HPI_FUNC_ID(ADAPTER, 5),
|
|
|
|
+ HPI_ADAPTER_SET_MODE = HPI_FUNC_ID(ADAPTER, 6),
|
|
|
|
+ HPI_ADAPTER_GET_MODE = HPI_FUNC_ID(ADAPTER, 7),
|
|
|
|
+ HPI_ADAPTER_ENABLE_CAPABILITY = HPI_FUNC_ID(ADAPTER, 8),
|
|
|
|
+ HPI_ADAPTER_SELFTEST = HPI_FUNC_ID(ADAPTER, 9),
|
|
|
|
+ HPI_ADAPTER_FIND_OBJECT = HPI_FUNC_ID(ADAPTER, 10),
|
|
|
|
+ HPI_ADAPTER_QUERY_FLASH = HPI_FUNC_ID(ADAPTER, 11),
|
|
|
|
+ HPI_ADAPTER_START_FLASH = HPI_FUNC_ID(ADAPTER, 12),
|
|
|
|
+ HPI_ADAPTER_PROGRAM_FLASH = HPI_FUNC_ID(ADAPTER, 13),
|
|
|
|
+ HPI_ADAPTER_SET_PROPERTY = HPI_FUNC_ID(ADAPTER, 14),
|
|
|
|
+ HPI_ADAPTER_GET_PROPERTY = HPI_FUNC_ID(ADAPTER, 15),
|
|
|
|
+ HPI_ADAPTER_ENUM_PROPERTY = HPI_FUNC_ID(ADAPTER, 16),
|
|
|
|
+ HPI_ADAPTER_MODULE_INFO = HPI_FUNC_ID(ADAPTER, 17),
|
|
|
|
+ HPI_ADAPTER_DEBUG_READ = HPI_FUNC_ID(ADAPTER, 18),
|
|
#define HPI_ADAPTER_FUNCTION_COUNT 18
|
|
#define HPI_ADAPTER_FUNCTION_COUNT 18
|
|
-/* OUTPUT STREAM */
|
|
|
|
-#define HPI_OSTREAM_OPEN HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 1)
|
|
|
|
-#define HPI_OSTREAM_CLOSE HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 2)
|
|
|
|
-#define HPI_OSTREAM_WRITE HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 3)
|
|
|
|
-#define HPI_OSTREAM_START HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 4)
|
|
|
|
-#define HPI_OSTREAM_STOP HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 5)
|
|
|
|
-#define HPI_OSTREAM_RESET HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 6)
|
|
|
|
-#define HPI_OSTREAM_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 7)
|
|
|
|
-#define HPI_OSTREAM_QUERY_FORMAT HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 8)
|
|
|
|
-#define HPI_OSTREAM_DATA HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 9)
|
|
|
|
-#define HPI_OSTREAM_SET_VELOCITY HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 10)
|
|
|
|
-#define HPI_OSTREAM_SET_PUNCHINOUT HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 11)
|
|
|
|
-#define HPI_OSTREAM_SINEGEN HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 12)
|
|
|
|
-#define HPI_OSTREAM_ANC_RESET HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 13)
|
|
|
|
-#define HPI_OSTREAM_ANC_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 14)
|
|
|
|
-#define HPI_OSTREAM_ANC_READ HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 15)
|
|
|
|
-#define HPI_OSTREAM_SET_TIMESCALE HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 16)
|
|
|
|
-#define HPI_OSTREAM_SET_FORMAT HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 17)
|
|
|
|
-#define HPI_OSTREAM_HOSTBUFFER_ALLOC HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 18)
|
|
|
|
-#define HPI_OSTREAM_HOSTBUFFER_FREE HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 19)
|
|
|
|
-#define HPI_OSTREAM_GROUP_ADD HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 20)
|
|
|
|
-#define HPI_OSTREAM_GROUP_GETMAP HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 21)
|
|
|
|
-#define HPI_OSTREAM_GROUP_RESET HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 22)
|
|
|
|
-#define HPI_OSTREAM_HOSTBUFFER_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 23)
|
|
|
|
-#define HPI_OSTREAM_WAIT_START HPI_MAKE_INDEX(HPI_OBJ_OSTREAM, 24)
|
|
|
|
-#define HPI_OSTREAM_FUNCTION_COUNT 24
|
|
|
|
-/* INPUT STREAM */
|
|
|
|
-#define HPI_ISTREAM_OPEN HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 1)
|
|
|
|
-#define HPI_ISTREAM_CLOSE HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 2)
|
|
|
|
-#define HPI_ISTREAM_SET_FORMAT HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 3)
|
|
|
|
-#define HPI_ISTREAM_READ HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 4)
|
|
|
|
-#define HPI_ISTREAM_START HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 5)
|
|
|
|
-#define HPI_ISTREAM_STOP HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 6)
|
|
|
|
-#define HPI_ISTREAM_RESET HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 7)
|
|
|
|
-#define HPI_ISTREAM_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 8)
|
|
|
|
-#define HPI_ISTREAM_QUERY_FORMAT HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 9)
|
|
|
|
-#define HPI_ISTREAM_ANC_RESET HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 10)
|
|
|
|
-#define HPI_ISTREAM_ANC_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 11)
|
|
|
|
-#define HPI_ISTREAM_ANC_WRITE HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 12)
|
|
|
|
-#define HPI_ISTREAM_HOSTBUFFER_ALLOC HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 13)
|
|
|
|
-#define HPI_ISTREAM_HOSTBUFFER_FREE HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 14)
|
|
|
|
-#define HPI_ISTREAM_GROUP_ADD HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 15)
|
|
|
|
-#define HPI_ISTREAM_GROUP_GETMAP HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 16)
|
|
|
|
-#define HPI_ISTREAM_GROUP_RESET HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 17)
|
|
|
|
-#define HPI_ISTREAM_HOSTBUFFER_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 18)
|
|
|
|
-#define HPI_ISTREAM_WAIT_START HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 19)
|
|
|
|
-#define HPI_ISTREAM_FUNCTION_COUNT 19
|
|
|
|
-/* MIXER */
|
|
|
|
|
|
+
|
|
|
|
+ HPI_OSTREAM_OPEN = HPI_FUNC_ID(OSTREAM, 1),
|
|
|
|
+ HPI_OSTREAM_CLOSE = HPI_FUNC_ID(OSTREAM, 2),
|
|
|
|
+ HPI_OSTREAM_WRITE = HPI_FUNC_ID(OSTREAM, 3),
|
|
|
|
+ HPI_OSTREAM_START = HPI_FUNC_ID(OSTREAM, 4),
|
|
|
|
+ HPI_OSTREAM_STOP = HPI_FUNC_ID(OSTREAM, 5),
|
|
|
|
+ HPI_OSTREAM_RESET = HPI_FUNC_ID(OSTREAM, 6),
|
|
|
|
+ HPI_OSTREAM_GET_INFO = HPI_FUNC_ID(OSTREAM, 7),
|
|
|
|
+ HPI_OSTREAM_QUERY_FORMAT = HPI_FUNC_ID(OSTREAM, 8),
|
|
|
|
+ HPI_OSTREAM_DATA = HPI_FUNC_ID(OSTREAM, 9),
|
|
|
|
+ HPI_OSTREAM_SET_VELOCITY = HPI_FUNC_ID(OSTREAM, 10),
|
|
|
|
+ HPI_OSTREAM_SET_PUNCHINOUT = HPI_FUNC_ID(OSTREAM, 11),
|
|
|
|
+ HPI_OSTREAM_SINEGEN = HPI_FUNC_ID(OSTREAM, 12),
|
|
|
|
+ HPI_OSTREAM_ANC_RESET = HPI_FUNC_ID(OSTREAM, 13),
|
|
|
|
+ HPI_OSTREAM_ANC_GET_INFO = HPI_FUNC_ID(OSTREAM, 14),
|
|
|
|
+ HPI_OSTREAM_ANC_READ = HPI_FUNC_ID(OSTREAM, 15),
|
|
|
|
+ HPI_OSTREAM_SET_TIMESCALE = HPI_FUNC_ID(OSTREAM, 16),
|
|
|
|
+ HPI_OSTREAM_SET_FORMAT = HPI_FUNC_ID(OSTREAM, 17),
|
|
|
|
+ HPI_OSTREAM_HOSTBUFFER_ALLOC = HPI_FUNC_ID(OSTREAM, 18),
|
|
|
|
+ HPI_OSTREAM_HOSTBUFFER_FREE = HPI_FUNC_ID(OSTREAM, 19),
|
|
|
|
+ HPI_OSTREAM_GROUP_ADD = HPI_FUNC_ID(OSTREAM, 20),
|
|
|
|
+ HPI_OSTREAM_GROUP_GETMAP = HPI_FUNC_ID(OSTREAM, 21),
|
|
|
|
+ HPI_OSTREAM_GROUP_RESET = HPI_FUNC_ID(OSTREAM, 22),
|
|
|
|
+ HPI_OSTREAM_HOSTBUFFER_GET_INFO = HPI_FUNC_ID(OSTREAM, 23),
|
|
|
|
+ HPI_OSTREAM_WAIT_START = HPI_FUNC_ID(OSTREAM, 24),
|
|
|
|
+#define HPI_OSTREAM_FUNCTION_COUNT 24
|
|
|
|
+
|
|
|
|
+ HPI_ISTREAM_OPEN = HPI_FUNC_ID(ISTREAM, 1),
|
|
|
|
+ HPI_ISTREAM_CLOSE = HPI_FUNC_ID(ISTREAM, 2),
|
|
|
|
+ HPI_ISTREAM_SET_FORMAT = HPI_FUNC_ID(ISTREAM, 3),
|
|
|
|
+ HPI_ISTREAM_READ = HPI_FUNC_ID(ISTREAM, 4),
|
|
|
|
+ HPI_ISTREAM_START = HPI_FUNC_ID(ISTREAM, 5),
|
|
|
|
+ HPI_ISTREAM_STOP = HPI_FUNC_ID(ISTREAM, 6),
|
|
|
|
+ HPI_ISTREAM_RESET = HPI_FUNC_ID(ISTREAM, 7),
|
|
|
|
+ HPI_ISTREAM_GET_INFO = HPI_FUNC_ID(ISTREAM, 8),
|
|
|
|
+ HPI_ISTREAM_QUERY_FORMAT = HPI_FUNC_ID(ISTREAM, 9),
|
|
|
|
+ HPI_ISTREAM_ANC_RESET = HPI_FUNC_ID(ISTREAM, 10),
|
|
|
|
+ HPI_ISTREAM_ANC_GET_INFO = HPI_FUNC_ID(ISTREAM, 11),
|
|
|
|
+ HPI_ISTREAM_ANC_WRITE = HPI_FUNC_ID(ISTREAM, 12),
|
|
|
|
+ HPI_ISTREAM_HOSTBUFFER_ALLOC = HPI_FUNC_ID(ISTREAM, 13),
|
|
|
|
+ HPI_ISTREAM_HOSTBUFFER_FREE = HPI_FUNC_ID(ISTREAM, 14),
|
|
|
|
+ HPI_ISTREAM_GROUP_ADD = HPI_FUNC_ID(ISTREAM, 15),
|
|
|
|
+ HPI_ISTREAM_GROUP_GETMAP = HPI_FUNC_ID(ISTREAM, 16),
|
|
|
|
+ HPI_ISTREAM_GROUP_RESET = HPI_FUNC_ID(ISTREAM, 17),
|
|
|
|
+ HPI_ISTREAM_HOSTBUFFER_GET_INFO = HPI_FUNC_ID(ISTREAM, 18),
|
|
|
|
+ HPI_ISTREAM_WAIT_START = HPI_FUNC_ID(ISTREAM, 19),
|
|
|
|
+#define HPI_ISTREAM_FUNCTION_COUNT 19
|
|
|
|
+
|
|
/* NOTE:
|
|
/* NOTE:
|
|
GET_NODE_INFO, SET_CONNECTION, GET_CONNECTIONS are not currently used */
|
|
GET_NODE_INFO, SET_CONNECTION, GET_CONNECTIONS are not currently used */
|
|
-#define HPI_MIXER_OPEN HPI_MAKE_INDEX(HPI_OBJ_MIXER, 1)
|
|
|
|
-#define HPI_MIXER_CLOSE HPI_MAKE_INDEX(HPI_OBJ_MIXER, 2)
|
|
|
|
-#define HPI_MIXER_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_MIXER, 3)
|
|
|
|
-#define HPI_MIXER_GET_NODE_INFO HPI_MAKE_INDEX(HPI_OBJ_MIXER, 4)
|
|
|
|
-#define HPI_MIXER_GET_CONTROL HPI_MAKE_INDEX(HPI_OBJ_MIXER, 5)
|
|
|
|
-#define HPI_MIXER_SET_CONNECTION HPI_MAKE_INDEX(HPI_OBJ_MIXER, 6)
|
|
|
|
-#define HPI_MIXER_GET_CONNECTIONS HPI_MAKE_INDEX(HPI_OBJ_MIXER, 7)
|
|
|
|
-#define HPI_MIXER_GET_CONTROL_BY_INDEX HPI_MAKE_INDEX(HPI_OBJ_MIXER, 8)
|
|
|
|
-#define HPI_MIXER_GET_CONTROL_ARRAY_BY_INDEX HPI_MAKE_INDEX(HPI_OBJ_MIXER, 9)
|
|
|
|
-#define HPI_MIXER_GET_CONTROL_MULTIPLE_VALUES HPI_MAKE_INDEX(HPI_OBJ_MIXER, 10)
|
|
|
|
-#define HPI_MIXER_STORE HPI_MAKE_INDEX(HPI_OBJ_MIXER, 11)
|
|
|
|
-#define HPI_MIXER_FUNCTION_COUNT 11
|
|
|
|
-/* MIXER CONTROLS */
|
|
|
|
-#define HPI_CONTROL_GET_INFO HPI_MAKE_INDEX(HPI_OBJ_CONTROL, 1)
|
|
|
|
-#define HPI_CONTROL_GET_STATE HPI_MAKE_INDEX(HPI_OBJ_CONTROL, 2)
|
|
|
|
-#define HPI_CONTROL_SET_STATE HPI_MAKE_INDEX(HPI_OBJ_CONTROL, 3)
|
|
|
|
|
|
+ HPI_MIXER_OPEN = HPI_FUNC_ID(MIXER, 1),
|
|
|
|
+ HPI_MIXER_CLOSE = HPI_FUNC_ID(MIXER, 2),
|
|
|
|
+ HPI_MIXER_GET_INFO = HPI_FUNC_ID(MIXER, 3),
|
|
|
|
+ HPI_MIXER_GET_NODE_INFO = HPI_FUNC_ID(MIXER, 4),
|
|
|
|
+ HPI_MIXER_GET_CONTROL = HPI_FUNC_ID(MIXER, 5),
|
|
|
|
+ HPI_MIXER_SET_CONNECTION = HPI_FUNC_ID(MIXER, 6),
|
|
|
|
+ HPI_MIXER_GET_CONNECTIONS = HPI_FUNC_ID(MIXER, 7),
|
|
|
|
+ HPI_MIXER_GET_CONTROL_BY_INDEX = HPI_FUNC_ID(MIXER, 8),
|
|
|
|
+ HPI_MIXER_GET_CONTROL_ARRAY_BY_INDEX = HPI_FUNC_ID(MIXER, 9),
|
|
|
|
+ HPI_MIXER_GET_CONTROL_MULTIPLE_VALUES = HPI_FUNC_ID(MIXER, 10),
|
|
|
|
+ HPI_MIXER_STORE = HPI_FUNC_ID(MIXER, 11),
|
|
|
|
+#define HPI_MIXER_FUNCTION_COUNT 11
|
|
|
|
+
|
|
|
|
+ HPI_CONTROL_GET_INFO = HPI_FUNC_ID(CONTROL, 1),
|
|
|
|
+ HPI_CONTROL_GET_STATE = HPI_FUNC_ID(CONTROL, 2),
|
|
|
|
+ HPI_CONTROL_SET_STATE = HPI_FUNC_ID(CONTROL, 3),
|
|
#define HPI_CONTROL_FUNCTION_COUNT 3
|
|
#define HPI_CONTROL_FUNCTION_COUNT 3
|
|
-/* NONVOL MEMORY */
|
|
|
|
-#define HPI_NVMEMORY_OPEN HPI_MAKE_INDEX(HPI_OBJ_NVMEMORY, 1)
|
|
|
|
-#define HPI_NVMEMORY_READ_BYTE HPI_MAKE_INDEX(HPI_OBJ_NVMEMORY, 2)
|
|
|
|
-#define HPI_NVMEMORY_WRITE_BYTE HPI_MAKE_INDEX(HPI_OBJ_NVMEMORY, 3)
|
|
|
|
|
|
+
|
|
|
|
+ HPI_NVMEMORY_OPEN = HPI_FUNC_ID(NVMEMORY, 1),
|
|
|
|
+ HPI_NVMEMORY_READ_BYTE = HPI_FUNC_ID(NVMEMORY, 2),
|
|
|
|
+ HPI_NVMEMORY_WRITE_BYTE = HPI_FUNC_ID(NVMEMORY, 3),
|
|
#define HPI_NVMEMORY_FUNCTION_COUNT 3
|
|
#define HPI_NVMEMORY_FUNCTION_COUNT 3
|
|
-/* GPIO */
|
|
|
|
-#define HPI_GPIO_OPEN HPI_MAKE_INDEX(HPI_OBJ_GPIO, 1)
|
|
|
|
-#define HPI_GPIO_READ_BIT HPI_MAKE_INDEX(HPI_OBJ_GPIO, 2)
|
|
|
|
-#define HPI_GPIO_WRITE_BIT HPI_MAKE_INDEX(HPI_OBJ_GPIO, 3)
|
|
|
|
-#define HPI_GPIO_READ_ALL HPI_MAKE_INDEX(HPI_OBJ_GPIO, 4)
|
|
|
|
-#define HPI_GPIO_WRITE_STATUS HPI_MAKE_INDEX(HPI_OBJ_GPIO, 5)
|
|
|
|
|
|
+
|
|
|
|
+ HPI_GPIO_OPEN = HPI_FUNC_ID(GPIO, 1),
|
|
|
|
+ HPI_GPIO_READ_BIT = HPI_FUNC_ID(GPIO, 2),
|
|
|
|
+ HPI_GPIO_WRITE_BIT = HPI_FUNC_ID(GPIO, 3),
|
|
|
|
+ HPI_GPIO_READ_ALL = HPI_FUNC_ID(GPIO, 4),
|
|
|
|
+ HPI_GPIO_WRITE_STATUS = HPI_FUNC_ID(GPIO, 5),
|
|
#define HPI_GPIO_FUNCTION_COUNT 5
|
|
#define HPI_GPIO_FUNCTION_COUNT 5
|
|
-/* ASYNC EVENT */
|
|
|
|
-#define HPI_ASYNCEVENT_OPEN HPI_MAKE_INDEX(HPI_OBJ_ASYNCEVENT, 1)
|
|
|
|
-#define HPI_ASYNCEVENT_CLOSE HPI_MAKE_INDEX(HPI_OBJ_ASYNCEVENT, 2)
|
|
|
|
-#define HPI_ASYNCEVENT_WAIT HPI_MAKE_INDEX(HPI_OBJ_ASYNCEVENT, 3)
|
|
|
|
-#define HPI_ASYNCEVENT_GETCOUNT HPI_MAKE_INDEX(HPI_OBJ_ASYNCEVENT, 4)
|
|
|
|
-#define HPI_ASYNCEVENT_GET HPI_MAKE_INDEX(HPI_OBJ_ASYNCEVENT, 5)
|
|
|
|
-#define HPI_ASYNCEVENT_SENDEVENTS HPI_MAKE_INDEX(HPI_OBJ_ASYNCEVENT, 6)
|
|
|
|
|
|
+
|
|
|
|
+ HPI_ASYNCEVENT_OPEN = HPI_FUNC_ID(ASYNCEVENT, 1),
|
|
|
|
+ HPI_ASYNCEVENT_CLOSE = HPI_FUNC_ID(ASYNCEVENT, 2),
|
|
|
|
+ HPI_ASYNCEVENT_WAIT = HPI_FUNC_ID(ASYNCEVENT, 3),
|
|
|
|
+ HPI_ASYNCEVENT_GETCOUNT = HPI_FUNC_ID(ASYNCEVENT, 4),
|
|
|
|
+ HPI_ASYNCEVENT_GET = HPI_FUNC_ID(ASYNCEVENT, 5),
|
|
|
|
+ HPI_ASYNCEVENT_SENDEVENTS = HPI_FUNC_ID(ASYNCEVENT, 6),
|
|
#define HPI_ASYNCEVENT_FUNCTION_COUNT 6
|
|
#define HPI_ASYNCEVENT_FUNCTION_COUNT 6
|
|
-/* WATCH-DOG */
|
|
|
|
-#define HPI_WATCHDOG_OPEN HPI_MAKE_INDEX(HPI_OBJ_WATCHDOG, 1)
|
|
|
|
-#define HPI_WATCHDOG_SET_TIME HPI_MAKE_INDEX(HPI_OBJ_WATCHDOG, 2)
|
|
|
|
-#define HPI_WATCHDOG_PING HPI_MAKE_INDEX(HPI_OBJ_WATCHDOG, 3)
|
|
|
|
-/* CLOCK */
|
|
|
|
-#define HPI_CLOCK_OPEN HPI_MAKE_INDEX(HPI_OBJ_CLOCK, 1)
|
|
|
|
-#define HPI_CLOCK_SET_TIME HPI_MAKE_INDEX(HPI_OBJ_CLOCK, 2)
|
|
|
|
-#define HPI_CLOCK_GET_TIME HPI_MAKE_INDEX(HPI_OBJ_CLOCK, 3)
|
|
|
|
-/* PROFILE */
|
|
|
|
-#define HPI_PROFILE_OPEN_ALL HPI_MAKE_INDEX(HPI_OBJ_PROFILE, 1)
|
|
|
|
-#define HPI_PROFILE_START_ALL HPI_MAKE_INDEX(HPI_OBJ_PROFILE, 2)
|
|
|
|
-#define HPI_PROFILE_STOP_ALL HPI_MAKE_INDEX(HPI_OBJ_PROFILE, 3)
|
|
|
|
-#define HPI_PROFILE_GET HPI_MAKE_INDEX(HPI_OBJ_PROFILE, 4)
|
|
|
|
-#define HPI_PROFILE_GET_IDLECOUNT HPI_MAKE_INDEX(HPI_OBJ_PROFILE, 5)
|
|
|
|
-#define HPI_PROFILE_GET_NAME HPI_MAKE_INDEX(HPI_OBJ_PROFILE, 6)
|
|
|
|
-#define HPI_PROFILE_GET_UTILIZATION HPI_MAKE_INDEX(HPI_OBJ_PROFILE, 7)
|
|
|
|
|
|
+
|
|
|
|
+ HPI_WATCHDOG_OPEN = HPI_FUNC_ID(WATCHDOG, 1),
|
|
|
|
+ HPI_WATCHDOG_SET_TIME = HPI_FUNC_ID(WATCHDOG, 2),
|
|
|
|
+ HPI_WATCHDOG_PING = HPI_FUNC_ID(WATCHDOG, 3),
|
|
|
|
+
|
|
|
|
+ HPI_CLOCK_OPEN = HPI_FUNC_ID(CLOCK, 1),
|
|
|
|
+ HPI_CLOCK_SET_TIME = HPI_FUNC_ID(CLOCK, 2),
|
|
|
|
+ HPI_CLOCK_GET_TIME = HPI_FUNC_ID(CLOCK, 3),
|
|
|
|
+
|
|
|
|
+ HPI_PROFILE_OPEN_ALL = HPI_FUNC_ID(PROFILE, 1),
|
|
|
|
+ HPI_PROFILE_START_ALL = HPI_FUNC_ID(PROFILE, 2),
|
|
|
|
+ HPI_PROFILE_STOP_ALL = HPI_FUNC_ID(PROFILE, 3),
|
|
|
|
+ HPI_PROFILE_GET = HPI_FUNC_ID(PROFILE, 4),
|
|
|
|
+ HPI_PROFILE_GET_IDLECOUNT = HPI_FUNC_ID(PROFILE, 5),
|
|
|
|
+ HPI_PROFILE_GET_NAME = HPI_FUNC_ID(PROFILE, 6),
|
|
|
|
+ HPI_PROFILE_GET_UTILIZATION = HPI_FUNC_ID(PROFILE, 7)
|
|
#define HPI_PROFILE_FUNCTION_COUNT 7
|
|
#define HPI_PROFILE_FUNCTION_COUNT 7
|
|
-/* ////////////////////////////////////////////////////////////////////// */
|
|
|
|
-/* PRIVATE ATTRIBUTES */
|
|
|
|
|
|
+};
|
|
|
|
|
|
/* ////////////////////////////////////////////////////////////////////// */
|
|
/* ////////////////////////////////////////////////////////////////////// */
|
|
/* STRUCTURES */
|
|
/* STRUCTURES */
|
|
@@ -672,18 +523,7 @@ Threshold is a -ve number in units of dB/100,
|
|
/** PCI bus resource */
|
|
/** PCI bus resource */
|
|
struct hpi_pci {
|
|
struct hpi_pci {
|
|
u32 __iomem *ap_mem_base[HPI_MAX_ADAPTER_MEM_SPACES];
|
|
u32 __iomem *ap_mem_base[HPI_MAX_ADAPTER_MEM_SPACES];
|
|
- struct pci_dev *p_os_data;
|
|
|
|
-
|
|
|
|
-#ifndef HPI64BIT /* keep structure size constant */
|
|
|
|
- u32 padding[HPI_MAX_ADAPTER_MEM_SPACES + 1];
|
|
|
|
-#endif
|
|
|
|
- u16 vendor_id;
|
|
|
|
- u16 device_id;
|
|
|
|
- u16 subsys_vendor_id;
|
|
|
|
- u16 subsys_device_id;
|
|
|
|
- u16 bus_number;
|
|
|
|
- u16 device_number;
|
|
|
|
- u32 interrupt;
|
|
|
|
|
|
+ struct pci_dev *pci_dev;
|
|
};
|
|
};
|
|
|
|
|
|
struct hpi_resource {
|
|
struct hpi_resource {
|
|
@@ -783,24 +623,18 @@ struct hpi_subsys_res {
|
|
u16 aw_adapter_list[HPI_MAX_ADAPTERS];
|
|
u16 aw_adapter_list[HPI_MAX_ADAPTERS];
|
|
};
|
|
};
|
|
|
|
|
|
-struct hpi_adapter_msg {
|
|
|
|
- u32 adapter_mode; /* adapter mode */
|
|
|
|
- u16 assert_id; /* assert number for "test assert" call
|
|
|
|
- object_index for find object call
|
|
|
|
- query_or_set for hpi_adapter_set_mode_ex() */
|
|
|
|
- u16 object_type; /* for adapter find object call */
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
union hpi_adapterx_msg {
|
|
union hpi_adapterx_msg {
|
|
- struct hpi_adapter_msg adapter;
|
|
|
|
struct {
|
|
struct {
|
|
- u32 offset;
|
|
|
|
- } query_flash;
|
|
|
|
|
|
+ u32 dsp_address;
|
|
|
|
+ u32 count_bytes;
|
|
|
|
+ } debug_read;
|
|
struct {
|
|
struct {
|
|
- u32 offset;
|
|
|
|
- u32 length;
|
|
|
|
- u32 key;
|
|
|
|
- } start_flash;
|
|
|
|
|
|
+ u32 adapter_mode;
|
|
|
|
+ u16 query_or_set;
|
|
|
|
+ } mode;
|
|
|
|
+ struct {
|
|
|
|
+ u16 index;
|
|
|
|
+ } module_info;
|
|
struct {
|
|
struct {
|
|
u32 checksum;
|
|
u32 checksum;
|
|
u16 sequence;
|
|
u16 sequence;
|
|
@@ -808,29 +642,39 @@ union hpi_adapterx_msg {
|
|
u16 offset; /**< offset from start of msg to data */
|
|
u16 offset; /**< offset from start of msg to data */
|
|
u16 unused;
|
|
u16 unused;
|
|
} program_flash;
|
|
} program_flash;
|
|
|
|
+ struct {
|
|
|
|
+ u16 index;
|
|
|
|
+ u16 what;
|
|
|
|
+ u16 property_index;
|
|
|
|
+ } property_enum;
|
|
struct {
|
|
struct {
|
|
u16 property;
|
|
u16 property;
|
|
u16 parameter1;
|
|
u16 parameter1;
|
|
u16 parameter2;
|
|
u16 parameter2;
|
|
} property_set;
|
|
} property_set;
|
|
struct {
|
|
struct {
|
|
- u16 index;
|
|
|
|
- u16 what;
|
|
|
|
- u16 property_index;
|
|
|
|
- } property_enum;
|
|
|
|
|
|
+ u32 offset;
|
|
|
|
+ } query_flash;
|
|
struct {
|
|
struct {
|
|
- u16 index;
|
|
|
|
- } module_info;
|
|
|
|
|
|
+ u32 pad32;
|
|
|
|
+ u16 key1;
|
|
|
|
+ u16 key2;
|
|
|
|
+ } restart;
|
|
struct {
|
|
struct {
|
|
- u32 dsp_address;
|
|
|
|
- u32 count_bytes;
|
|
|
|
- } debug_read;
|
|
|
|
|
|
+ u32 offset;
|
|
|
|
+ u32 length;
|
|
|
|
+ u32 key;
|
|
|
|
+ } start_flash;
|
|
|
|
+ struct {
|
|
|
|
+ u32 pad32;
|
|
|
|
+ u16 value;
|
|
|
|
+ } test_assert;
|
|
};
|
|
};
|
|
|
|
|
|
struct hpi_adapter_res {
|
|
struct hpi_adapter_res {
|
|
u32 serial_number;
|
|
u32 serial_number;
|
|
u16 adapter_type;
|
|
u16 adapter_type;
|
|
- u16 adapter_index; /* is this needed? also used for dsp_index */
|
|
|
|
|
|
+ u16 adapter_index;
|
|
u16 num_instreams;
|
|
u16 num_instreams;
|
|
u16 num_outstreams;
|
|
u16 num_outstreams;
|
|
u16 num_mixers;
|
|
u16 num_mixers;
|
|
@@ -839,12 +683,18 @@ struct hpi_adapter_res {
|
|
};
|
|
};
|
|
|
|
|
|
union hpi_adapterx_res {
|
|
union hpi_adapterx_res {
|
|
- struct hpi_adapter_res adapter;
|
|
|
|
|
|
+ struct hpi_adapter_res info;
|
|
struct {
|
|
struct {
|
|
- u32 checksum;
|
|
|
|
- u32 length;
|
|
|
|
- u32 version;
|
|
|
|
- } query_flash;
|
|
|
|
|
|
+ u32 p1;
|
|
|
|
+ u16 count;
|
|
|
|
+ u16 dsp_index;
|
|
|
|
+ u32 p2;
|
|
|
|
+ u32 dsp_msg_addr;
|
|
|
|
+ char sz_message[HPI_STRING_LEN];
|
|
|
|
+ } assert;
|
|
|
|
+ struct {
|
|
|
|
+ u32 adapter_mode;
|
|
|
|
+ } mode;
|
|
struct {
|
|
struct {
|
|
u16 sequence;
|
|
u16 sequence;
|
|
} program_flash;
|
|
} program_flash;
|
|
@@ -852,6 +702,11 @@ union hpi_adapterx_res {
|
|
u16 parameter1;
|
|
u16 parameter1;
|
|
u16 parameter2;
|
|
u16 parameter2;
|
|
} property_get;
|
|
} property_get;
|
|
|
|
+ struct {
|
|
|
|
+ u32 checksum;
|
|
|
|
+ u32 length;
|
|
|
|
+ u32 version;
|
|
|
|
+ } query_flash;
|
|
};
|
|
};
|
|
|
|
|
|
struct hpi_stream_msg {
|
|
struct hpi_stream_msg {
|
|
@@ -911,7 +766,7 @@ struct hpi_stream_res {
|
|
struct hpi_mixer_msg {
|
|
struct hpi_mixer_msg {
|
|
u16 control_index;
|
|
u16 control_index;
|
|
u16 control_type; /* = HPI_CONTROL_METER _VOLUME etc */
|
|
u16 control_type; /* = HPI_CONTROL_METER _VOLUME etc */
|
|
- u16 padding1; /* maintain alignment of subsequent fields */
|
|
|
|
|
|
+ u16 padding1; /* Maintain alignment of subsequent fields */
|
|
u16 node_type1; /* = HPI_SOURCENODE_LINEIN etc */
|
|
u16 node_type1; /* = HPI_SOURCENODE_LINEIN etc */
|
|
u16 node_index1; /* = 0..N */
|
|
u16 node_index1; /* = 0..N */
|
|
u16 node_type2;
|
|
u16 node_type2;
|
|
@@ -1000,12 +855,16 @@ union hpi_control_union_res {
|
|
u32 band;
|
|
u32 band;
|
|
u32 frequency;
|
|
u32 frequency;
|
|
u32 gain;
|
|
u32 gain;
|
|
- u32 level;
|
|
|
|
u32 deemphasis;
|
|
u32 deemphasis;
|
|
struct {
|
|
struct {
|
|
u32 data[2];
|
|
u32 data[2];
|
|
u32 bLER;
|
|
u32 bLER;
|
|
} rds;
|
|
} rds;
|
|
|
|
+ short s_level;
|
|
|
|
+ struct {
|
|
|
|
+ u16 value;
|
|
|
|
+ u16 mask;
|
|
|
|
+ } status;
|
|
} tuner;
|
|
} tuner;
|
|
struct {
|
|
struct {
|
|
char sz_data[8];
|
|
char sz_data[8];
|
|
@@ -1178,11 +1037,11 @@ struct hpi_profile_res_open {
|
|
};
|
|
};
|
|
|
|
|
|
struct hpi_profile_res_time {
|
|
struct hpi_profile_res_time {
|
|
- u32 micro_seconds;
|
|
|
|
|
|
+ u32 total_tick_count;
|
|
u32 call_count;
|
|
u32 call_count;
|
|
- u32 max_micro_seconds;
|
|
|
|
- u32 min_micro_seconds;
|
|
|
|
- u16 seconds;
|
|
|
|
|
|
+ u32 max_tick_count;
|
|
|
|
+ u32 ticks_per_millisecond;
|
|
|
|
+ u16 profile_interval;
|
|
};
|
|
};
|
|
|
|
|
|
struct hpi_profile_res_name {
|
|
struct hpi_profile_res_name {
|
|
@@ -1218,7 +1077,6 @@ struct hpi_message {
|
|
u16 obj_index; /* */
|
|
u16 obj_index; /* */
|
|
union {
|
|
union {
|
|
struct hpi_subsys_msg s;
|
|
struct hpi_subsys_msg s;
|
|
- struct hpi_adapter_msg a;
|
|
|
|
union hpi_adapterx_msg ax;
|
|
union hpi_adapterx_msg ax;
|
|
struct hpi_stream_msg d;
|
|
struct hpi_stream_msg d;
|
|
struct hpi_mixer_msg m;
|
|
struct hpi_mixer_msg m;
|
|
@@ -1239,7 +1097,7 @@ struct hpi_message {
|
|
};
|
|
};
|
|
|
|
|
|
#define HPI_MESSAGE_SIZE_BY_OBJECT { \
|
|
#define HPI_MESSAGE_SIZE_BY_OBJECT { \
|
|
- sizeof(struct hpi_message_header) , /* default, no object type 0 */ \
|
|
|
|
|
|
+ sizeof(struct hpi_message_header) , /* Default, no object type 0 */ \
|
|
sizeof(struct hpi_message_header) + sizeof(struct hpi_subsys_msg),\
|
|
sizeof(struct hpi_message_header) + sizeof(struct hpi_subsys_msg),\
|
|
sizeof(struct hpi_message_header) + sizeof(union hpi_adapterx_msg),\
|
|
sizeof(struct hpi_message_header) + sizeof(union hpi_adapterx_msg),\
|
|
sizeof(struct hpi_message_header) + sizeof(struct hpi_stream_msg),\
|
|
sizeof(struct hpi_message_header) + sizeof(struct hpi_stream_msg),\
|
|
@@ -1277,7 +1135,6 @@ struct hpi_response {
|
|
u16 specific_error; /* adapter specific error */
|
|
u16 specific_error; /* adapter specific error */
|
|
union {
|
|
union {
|
|
struct hpi_subsys_res s;
|
|
struct hpi_subsys_res s;
|
|
- struct hpi_adapter_res a;
|
|
|
|
union hpi_adapterx_res ax;
|
|
union hpi_adapterx_res ax;
|
|
struct hpi_stream_res d;
|
|
struct hpi_stream_res d;
|
|
struct hpi_mixer_res m;
|
|
struct hpi_mixer_res m;
|
|
@@ -1297,7 +1154,7 @@ struct hpi_response {
|
|
};
|
|
};
|
|
|
|
|
|
#define HPI_RESPONSE_SIZE_BY_OBJECT { \
|
|
#define HPI_RESPONSE_SIZE_BY_OBJECT { \
|
|
- sizeof(struct hpi_response_header) ,/* default, no object type 0 */ \
|
|
|
|
|
|
+ sizeof(struct hpi_response_header) ,/* Default, no object type 0 */ \
|
|
sizeof(struct hpi_response_header) + sizeof(struct hpi_subsys_res),\
|
|
sizeof(struct hpi_response_header) + sizeof(struct hpi_subsys_res),\
|
|
sizeof(struct hpi_response_header) + sizeof(union hpi_adapterx_res),\
|
|
sizeof(struct hpi_response_header) + sizeof(union hpi_adapterx_res),\
|
|
sizeof(struct hpi_response_header) + sizeof(struct hpi_stream_res),\
|
|
sizeof(struct hpi_response_header) + sizeof(struct hpi_stream_res),\
|
|
@@ -1394,6 +1251,17 @@ struct hpi_res_adapter_program_flash {
|
|
sizeof(struct hpi_response_header) - sizeof(u16)];
|
|
sizeof(struct hpi_response_header) - sizeof(u16)];
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+struct hpi_msg_adapter_debug_read {
|
|
|
|
+ struct hpi_message_header h;
|
|
|
|
+ u32 dsp_address;
|
|
|
|
+ u32 count_bytes;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_res_adapter_debug_read {
|
|
|
|
+ struct hpi_response_header h;
|
|
|
|
+ u8 bytes[256];
|
|
|
|
+};
|
|
|
|
+
|
|
#if 1
|
|
#if 1
|
|
#define hpi_message_header_v1 hpi_message_header
|
|
#define hpi_message_header_v1 hpi_message_header
|
|
#define hpi_response_header_v1 hpi_response_header
|
|
#define hpi_response_header_v1 hpi_response_header
|
|
@@ -1414,23 +1282,10 @@ struct hpi_response_header_v1 {
|
|
};
|
|
};
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-/* STRV HPI Packet */
|
|
|
|
-struct hpi_msg_strv {
|
|
|
|
- struct hpi_message_header h;
|
|
|
|
- struct hpi_entity strv;
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-struct hpi_res_strv {
|
|
|
|
- struct hpi_response_header h;
|
|
|
|
- struct hpi_entity strv;
|
|
|
|
-};
|
|
|
|
-#define MIN_STRV_PACKET_SIZE sizeof(struct hpi_res_strv)
|
|
|
|
-
|
|
|
|
struct hpi_msg_payload_v0 {
|
|
struct hpi_msg_payload_v0 {
|
|
struct hpi_message_header h;
|
|
struct hpi_message_header h;
|
|
union {
|
|
union {
|
|
struct hpi_subsys_msg s;
|
|
struct hpi_subsys_msg s;
|
|
- struct hpi_adapter_msg a;
|
|
|
|
union hpi_adapterx_msg ax;
|
|
union hpi_adapterx_msg ax;
|
|
struct hpi_stream_msg d;
|
|
struct hpi_stream_msg d;
|
|
struct hpi_mixer_msg m;
|
|
struct hpi_mixer_msg m;
|
|
@@ -1451,7 +1306,6 @@ struct hpi_res_payload_v0 {
|
|
struct hpi_response_header h;
|
|
struct hpi_response_header h;
|
|
union {
|
|
union {
|
|
struct hpi_subsys_res s;
|
|
struct hpi_subsys_res s;
|
|
- struct hpi_adapter_res a;
|
|
|
|
union hpi_adapterx_res ax;
|
|
union hpi_adapterx_res ax;
|
|
struct hpi_stream_res d;
|
|
struct hpi_stream_res d;
|
|
struct hpi_mixer_res m;
|
|
struct hpi_mixer_res m;
|
|
@@ -1471,13 +1325,13 @@ struct hpi_res_payload_v0 {
|
|
union hpi_message_buffer_v1 {
|
|
union hpi_message_buffer_v1 {
|
|
struct hpi_message m0; /* version 0 */
|
|
struct hpi_message m0; /* version 0 */
|
|
struct hpi_message_header_v1 h;
|
|
struct hpi_message_header_v1 h;
|
|
- unsigned char buf[HPI_MAX_PAYLOAD_SIZE];
|
|
|
|
|
|
+ u8 buf[HPI_MAX_PAYLOAD_SIZE];
|
|
};
|
|
};
|
|
|
|
|
|
union hpi_response_buffer_v1 {
|
|
union hpi_response_buffer_v1 {
|
|
struct hpi_response r0; /* version 0 */
|
|
struct hpi_response r0; /* version 0 */
|
|
struct hpi_response_header_v1 h;
|
|
struct hpi_response_header_v1 h;
|
|
- unsigned char buf[HPI_MAX_PAYLOAD_SIZE];
|
|
|
|
|
|
+ u8 buf[HPI_MAX_PAYLOAD_SIZE];
|
|
};
|
|
};
|
|
|
|
|
|
compile_time_assert((sizeof(union hpi_message_buffer_v1) <=
|
|
compile_time_assert((sizeof(union hpi_message_buffer_v1) <=
|
|
@@ -1499,6 +1353,11 @@ struct hpi_control_defn {
|
|
/*////////////////////////////////////////////////////////////////////////// */
|
|
/*////////////////////////////////////////////////////////////////////////// */
|
|
/* declarations for control caching (internal to HPI<->DSP interaction) */
|
|
/* declarations for control caching (internal to HPI<->DSP interaction) */
|
|
|
|
|
|
|
|
+/** indicates a cached u16 value is invalid. */
|
|
|
|
+#define HPI_CACHE_INVALID_UINT16 0xFFFF
|
|
|
|
+/** indicates a cached short value is invalid. */
|
|
|
|
+#define HPI_CACHE_INVALID_SHORT -32768
|
|
|
|
+
|
|
/** A compact representation of (part of) a controls state.
|
|
/** A compact representation of (part of) a controls state.
|
|
Used for efficient transfer of the control state
|
|
Used for efficient transfer of the control state
|
|
between DSP and host or across a network
|
|
between DSP and host or across a network
|
|
@@ -1512,58 +1371,103 @@ struct hpi_control_cache_info {
|
|
u16 control_index;
|
|
u16 control_index;
|
|
};
|
|
};
|
|
|
|
|
|
-struct hpi_control_cache_single {
|
|
|
|
|
|
+struct hpi_control_cache_vol {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ short an_log[2];
|
|
|
|
+ char temp_padding[4];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_meter {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ short an_log_peak[2];
|
|
|
|
+ short an_logRMS[2];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_channelmode {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u16 mode;
|
|
|
|
+ char temp_padding[6];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_mux {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u16 source_node_type;
|
|
|
|
+ u16 source_node_index;
|
|
|
|
+ char temp_padding[4];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_level {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ short an_log[2];
|
|
|
|
+ char temp_padding[4];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_tuner {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u32 freq_ink_hz;
|
|
|
|
+ u16 band;
|
|
|
|
+ short s_level_avg;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_aes3rx {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u32 error_status;
|
|
|
|
+ u32 format;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_aes3tx {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u32 format;
|
|
|
|
+ char temp_padding[4];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_tonedetector {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u16 state;
|
|
|
|
+ char temp_padding[6];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_silencedetector {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u32 state;
|
|
|
|
+ char temp_padding[4];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_sampleclock {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u16 source;
|
|
|
|
+ u16 source_index;
|
|
|
|
+ u32 sample_rate;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_microphone {
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ u16 phantom_state;
|
|
|
|
+ char temp_padding[6];
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_generic {
|
|
struct hpi_control_cache_info i;
|
|
struct hpi_control_cache_info i;
|
|
|
|
+ u32 dw1;
|
|
|
|
+ u32 dw2;
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+struct hpi_control_cache_single {
|
|
union {
|
|
union {
|
|
- struct { /* volume */
|
|
|
|
- short an_log[2];
|
|
|
|
- } v;
|
|
|
|
- struct { /* peak meter */
|
|
|
|
- short an_log_peak[2];
|
|
|
|
- short an_logRMS[2];
|
|
|
|
- } p;
|
|
|
|
- struct { /* channel mode */
|
|
|
|
- u16 mode;
|
|
|
|
- } m;
|
|
|
|
- struct { /* multiplexer */
|
|
|
|
- u16 source_node_type;
|
|
|
|
- u16 source_node_index;
|
|
|
|
- } x;
|
|
|
|
- struct { /* level/trim */
|
|
|
|
- short an_log[2];
|
|
|
|
- } l;
|
|
|
|
- struct { /* tuner - partial caching.
|
|
|
|
- some attributes go to the DSP. */
|
|
|
|
- u32 freq_ink_hz;
|
|
|
|
- u16 band;
|
|
|
|
- u16 level;
|
|
|
|
- } t;
|
|
|
|
- struct { /* AESEBU rx status */
|
|
|
|
- u32 error_status;
|
|
|
|
- u32 source;
|
|
|
|
- } aes3rx;
|
|
|
|
- struct { /* AESEBU tx */
|
|
|
|
- u32 format;
|
|
|
|
- } aes3tx;
|
|
|
|
- struct { /* tone detector */
|
|
|
|
- u16 state;
|
|
|
|
- } tone;
|
|
|
|
- struct { /* silence detector */
|
|
|
|
- u32 state;
|
|
|
|
- u32 count;
|
|
|
|
- } silence;
|
|
|
|
- struct { /* sample clock */
|
|
|
|
- u16 source;
|
|
|
|
- u16 source_index;
|
|
|
|
- u32 sample_rate;
|
|
|
|
- } clk;
|
|
|
|
- struct { /* microphone control */
|
|
|
|
- u16 state;
|
|
|
|
- } phantom_power;
|
|
|
|
- struct { /* generic control */
|
|
|
|
- u32 dw1;
|
|
|
|
- u32 dw2;
|
|
|
|
- } g;
|
|
|
|
|
|
+ struct hpi_control_cache_info i;
|
|
|
|
+ struct hpi_control_cache_vol vol;
|
|
|
|
+ struct hpi_control_cache_meter meter;
|
|
|
|
+ struct hpi_control_cache_channelmode mode;
|
|
|
|
+ struct hpi_control_cache_mux mux;
|
|
|
|
+ struct hpi_control_cache_level level;
|
|
|
|
+ struct hpi_control_cache_tuner tuner;
|
|
|
|
+ struct hpi_control_cache_aes3rx aes3rx;
|
|
|
|
+ struct hpi_control_cache_aes3tx aes3tx;
|
|
|
|
+ struct hpi_control_cache_tonedetector tone;
|
|
|
|
+ struct hpi_control_cache_silencedetector silence;
|
|
|
|
+ struct hpi_control_cache_sampleclock clk;
|
|
|
|
+ struct hpi_control_cache_microphone microphone;
|
|
|
|
+ struct hpi_control_cache_generic generic;
|
|
} u;
|
|
} u;
|
|
};
|
|
};
|
|
|
|
|