[alsa-devel] [PATCH 0/7] snd-asihpi playback improvement + others
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Important: alsa-firmware/asihpi should also be updated with contents of http://www.audioscience.com/internet/download/firmware/dspbins40313.zip
asihpi.c + hpi6205.c fix choppy audio playback on busmastering adapters the rest are minor fixes or cosmetic
Eliot Blennerhassett (7): Remove obsolete comment - const correct pointer parameters. - add a new stream state wait and function Reinit response size for every msg/response transaction. Minor fix const ptr Bump lib version due to added and removed APIs Use adapter properties for stream buffer constraints. Default to less logging, remove VPRINTK3 Log buffer info in decimal. Keep HPI buffer pointers in sync with ALSA after prewrite. Support mic control caching. Move an enum out of public api.
pci/asihpi/asihpi.c | 102 +++++---- pci/asihpi/hpi.h | 513 +++++++++++++++++++++++---------------------- pci/asihpi/hpi6205.c | 31 ++-- pci/asihpi/hpi_internal.h | 33 ++- pci/asihpi/hpicmn.c | 10 + pci/asihpi/hpidebug.h | 6 +- pci/asihpi/hpifunc.c | 469 ++++++++++++++++++++++------------------- pci/asihpi/hpimsginit.c | 2 +- pci/asihpi/hpimsgx.c | 26 ++- pci/asihpi/hpioctl.c | 3 - 10 files changed, 641 insertions(+), 554 deletions(-)
From: Eliot Blennerhassett eblennerhassett@audioscience.com
--- pci/asihpi/hpioctl.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/pci/asihpi/hpioctl.c b/pci/asihpi/hpioctl.c index 247d5e9..dacef35 100644 --- a/pci/asihpi/hpioctl.c +++ b/pci/asihpi/hpioctl.c @@ -320,9 +320,6 @@ int __devinit asihpi_adapter_probe( adapter.pci = pci_dev;
nm = HPI_MAX_ADAPTER_MEM_SPACES; - /* temporary for DM648, handled in hpi1000 */ - if (pci_dev->device == 0xB003) - nm = 0; /* don't map any for this device */
for (idx = 0; idx < nm; idx++) { HPI_DEBUG_LOG(INFO, "Resource %d %s %08llx-%08llx %04llx\n",
At Tue, 23 Mar 2010 21:14:21 +1300, linux@audioscience.com wrote:
From: Eliot Blennerhassett eblennerhassett@audioscience.com
pci/asihpi/hpioctl.c | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/pci/asihpi/hpioctl.c b/pci/asihpi/hpioctl.c index 247d5e9..dacef35 100644 --- a/pci/asihpi/hpioctl.c +++ b/pci/asihpi/hpioctl.c @@ -320,9 +320,6 @@ int __devinit asihpi_adapter_probe( adapter.pci = pci_dev;
nm = HPI_MAX_ADAPTER_MEM_SPACES;
- /* temporary for DM648, handled in hpi1000 */
- if (pci_dev->device == 0xB003)
nm = 0; /* don't map any for this device */
This change doesn't look like "remove obsolete comment". The next patch, too.
Could you provide a more matching changelog?
thanks,
Takashi
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Signed-off-by: Eliot Blennerhassett eblennerhassett@audioscience.com --- pci/asihpi/hpi.h | 505 +++++++++++++++++++++++---------------------- pci/asihpi/hpi_internal.h | 22 +- pci/asihpi/hpidebug.h | 6 +- pci/asihpi/hpifunc.c | 469 +++++++++++++++++++++++------------------- pci/asihpi/hpimsginit.c | 2 +- 5 files changed, 531 insertions(+), 473 deletions(-)
diff --git a/pci/asihpi/hpi.h b/pci/asihpi/hpi.h index fc45dc1..61b3565 100644 --- a/pci/asihpi/hpi.h +++ b/pci/asihpi/hpi.h @@ -32,7 +32,7 @@ HPI_OS_WDM Windows WDM kernel driver HPI_OS_LINUX Linux kernel driver
-(C) Copyright AudioScience Inc. 1998-2009 +(C) Copyright AudioScience Inc. 1998-2010 ******************************************************************************/ #ifndef _HPI_H_ #define _HPI_H_ @@ -49,7 +49,7 @@ i.e 3.05.02 is a development version #define HPI_VER_RELEASE(v) ((int)(v & 0xFF))
/* Use single digits for versions less that 10 to avoid octal. */ -#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 3, 4) +#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 3, 10)
/* Library version as documented in hpi-api-versions.txt */ #define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(3, 5, 0) @@ -199,7 +199,10 @@ enum HPI_STREAM_STATES { /** State drained - playing stream ran out of data to play. */ HPI_STATE_DRAINED = 4, /** State generate sine - to be implemented. */ - HPI_STATE_SINEGEN = 5 + HPI_STATE_SINEGEN = 5, + /** State wait - used for inter-card sync to mean waiting for all + cards to be ready. */ + HPI_STATE_WAIT = 6 }; /******************************************* mixer source node types */ /** Source node types @@ -355,8 +358,7 @@ This property returns in the input and output latency in samples. Property 1 is the estimated input latency in samples, while Property 2 is that output latency in samples. */ - HPI_ADAPTER_PROPERTY_LATENCY = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 0), + HPI_ADAPTER_PROPERTY_LATENCY = 256,
/** Readonly adapter granularity property. The granulariy is the smallest size chunk of stereo samples that is processed by @@ -364,37 +366,32 @@ the adapter. This property returns the record granularity in samples in Property 1. Property 2 returns the play granularity. */ - HPI_ADAPTER_PROPERTY_GRANULARITY = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 1), + HPI_ADAPTER_PROPERTY_GRANULARITY = 257,
/** Readonly adapter number of current channels property. Property 1 is the number of record channels per record device. Property 2 is the number of play channels per playback device.*/ - HPI_ADAPTER_PROPERTY_CURCHANNELS = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 2), + HPI_ADAPTER_PROPERTY_CURCHANNELS = 258,
/** Readonly adapter software version. The SOFTWARE_VERSION property returns the version of the software running on the adapter as Major.Minor.Release. Property 1 contains Major in bits 15..8 and Minor in bits 7..0. Property 2 contains Release in bits 7..0. */ - HPI_ADAPTER_PROPERTY_SOFTWARE_VERSION = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 3), + HPI_ADAPTER_PROPERTY_SOFTWARE_VERSION = 259,
/** Readonly adapter MAC address MSBs. The MAC_ADDRESS_MSB property returns the most significant 32 bits of the MAC address. Property 1 contains bits 47..32 of the MAC address. Property 2 contains bits 31..16 of the MAC address. */ - HPI_ADAPTER_PROPERTY_MAC_ADDRESS_MSB = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 4), + HPI_ADAPTER_PROPERTY_MAC_ADDRESS_MSB = 260,
/** Readonly adapter MAC address LSBs The MAC_ADDRESS_LSB property returns the least significant 16 bits of the MAC address. Property 1 contains bits 15..0 of the MAC address. */ - HPI_ADAPTER_PROPERTY_MAC_ADDRESS_LSB = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 5), + HPI_ADAPTER_PROPERTY_MAC_ADDRESS_LSB = 261,
/** Readonly extended adapter type number The EXTENDED_ADAPTER_TYPE property returns the 4 digits of an extended @@ -404,30 +401,49 @@ are returned for the main type Property 1 returns the 1st two (left most) digits, i.e "00" in the example above, the upper byte being the left most digit. Property 2 returns the 2nd two digits, i.e "22" in the example above*/ - HPI_ADAPTER_PROPERTY_EXTENDED_ADAPTER_TYPE = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 6), + HPI_ADAPTER_PROPERTY_EXTENDED_ADAPTER_TYPE = 262,
/** Readonly debug log buffer information */ - HPI_ADAPTER_PROPERTY_LOGTABLEN = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 7), - HPI_ADAPTER_PROPERTY_LOGTABBEG = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 8), + HPI_ADAPTER_PROPERTY_LOGTABLEN = 263, + HPI_ADAPTER_PROPERTY_LOGTABBEG = 264,
/** Readonly adapter IP address For 192.168.1.101 Property 1 returns the 1st two (left most) digits, i.e 192*256 + 168 in the example above, the upper byte being the left most digit. Property 2 returns the 2nd two digits, i.e 1*256 + 101 in the example above, */ - HPI_ADAPTER_PROPERTY_IP_ADDRESS = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 9), + HPI_ADAPTER_PROPERTY_IP_ADDRESS = 265,
/** Readonly adapter buffer processed count. Returns a buffer processed count that is incremented every time all buffers for all streams are updated. This is useful for checking completion of all stream operations across the adapter when using grouped streams. */ - HPI_ADAPTER_PROPERTY_BUFFER_UPDATE_COUNT = - (HPI_ADAPTER_PROPERTY_READONLYBASE + 10) + HPI_ADAPTER_PROPERTY_BUFFER_UPDATE_COUNT = 266, + +/** Readonly mixer and stream intervals + +These intervals are measured in mixer frames. +To convert to time, divide by the adapter samplerate. + +The mixer interval is the number of frames processed in one mixer iteration. +The stream update interval is the interval at which streams check for and +process data, and BBM host buffer counters are updated. + +Property 1 is the mixer interval in mixer frames. +Property 2 is the stream update interval in mixer frames. +*/ + HPI_ADAPTER_PROPERTY_INTERVAL = 267, +/** Adapter capabilities 1 +Property 1 - adapter can do multichannel (SSX1) +Property 2 - adapter can do stream grouping (supports SSX2) +*/ + HPI_ADAPTER_PROPERTY_CAPS1 = 268, +/** Adapter capabilities 2 +Property 1 - adapter can do samplerate conversion (MRX) +Property 2 - adapter can do timestretch (TSX) +*/ + HPI_ADAPTER_PROPERTY_CAPS2 = 269 };
/** Adapter mode commands @@ -1187,72 +1203,71 @@ struct hpi_hsubsys *HPI_SubSysCreate( );
void HPI_SubSysFree( - struct hpi_hsubsys *phSubSys + const struct hpi_hsubsys *phSubSys );
u16 HPI_SubSysGetVersion( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 *pdwVersion );
u16 HPI_SubSysGetVersionEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 *pdwVersionEx );
u16 HPI_SubSysGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 *pdwVersion, u16 *pwNumAdapters, u16 awAdapterList[], u16 wListLength );
-/* SGT added 3-2-97 */ u16 HPI_SubSysFindAdapters( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 *pwNumAdapters, u16 awAdapterList[], u16 wListLength );
u16 HPI_SubSysGetNumAdapters( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, int *pnNumAdapters );
u16 HPI_SubSysGetAdapter( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, int nIterator, u32 *pdwAdapterIndex, u16 *pwAdapterType );
u16 HPI_SubSysSsx2Bypass( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wBypass );
u16 HPI_SubSysSetHostNetworkInterface( - struct hpi_hsubsys *phSubSys, - char *szInterface + const struct hpi_hsubsys *phSubSys, + const char *szInterface );
/*///////// */ /* ADAPTER */
u16 HPI_AdapterOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex );
u16 HPI_AdapterClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex );
u16 HPI_AdapterGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 *pwNumOutStreams, u16 *pwNumInStreams, @@ -1262,7 +1277,7 @@ u16 HPI_AdapterGetInfo( );
u16 HPI_AdapterGetModuleByIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wModuleIndex, u16 *pwNumOutputs, @@ -1274,25 +1289,25 @@ u16 HPI_AdapterGetModuleByIndex( );
u16 HPI_AdapterSetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 dwAdapterMode ); u16 HPI_AdapterSetModeEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 dwAdapterMode, u16 wQueryOrSet );
u16 HPI_AdapterGetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *pdwAdapterMode );
u16 HPI_AdapterGetAssert( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 *wAssertPresent, char *pszAssert, @@ -1300,7 +1315,7 @@ u16 HPI_AdapterGetAssert( );
u16 HPI_AdapterGetAssertEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 *wAssertPresent, char *pszAssert, @@ -1309,25 +1324,25 @@ u16 HPI_AdapterGetAssertEx( );
u16 HPI_AdapterTestAssert( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wAssertId );
u16 HPI_AdapterEnableCapability( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wCapability, u32 dwKey );
u16 HPI_AdapterSelfTest( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex );
u16 HPI_AdapterDebugRead( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 dwDspAddress, char *pBytes, @@ -1335,7 +1350,7 @@ u16 HPI_AdapterDebugRead( );
u16 HPI_AdapterSetProperty( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wProperty, u16 wParamter1, @@ -1343,23 +1358,15 @@ u16 HPI_AdapterSetProperty( );
u16 HPI_AdapterGetProperty( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wProperty, u16 *pwParamter1, u16 *pwParamter2 );
-u16 HPI_AdapterFindObject( - const struct hpi_hsubsys *phSubSys, - u16 wAdapterIndex, - u16 wObjectType, - u16 wObjectIndex, - u16 *pDspIndex -); - u16 HPI_AdapterEnumerateProperty( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wIndex, u16 wWhatToEnumerate, @@ -1370,21 +1377,21 @@ u16 HPI_AdapterEnumerateProperty( /*////////////// */ /* NonVol Memory */ u16 HPI_NvMemoryOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phNvMemory, u16 *pwSizeInBytes );
u16 HPI_NvMemoryReadByte( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hNvMemory, u16 wIndex, u16 *pwData );
u16 HPI_NvMemoryWriteByte( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hNvMemory, u16 wIndex, u16 wData @@ -1393,7 +1400,7 @@ u16 HPI_NvMemoryWriteByte( /*////////////// */ /* Digital I/O */ u16 HPI_GpioOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phGpio, u16 *pwNumberInputBits, @@ -1401,27 +1408,27 @@ u16 HPI_GpioOpen( );
u16 HPI_GpioReadBit( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 wBitIndex, u16 *pwBitData );
u16 HPI_GpioReadAllBits( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 awAllBitData[4] );
u16 HPI_GpioWriteBit( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 wBitIndex, u16 wBitData );
u16 HPI_GpioWriteStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 awAllBitData[4] ); @@ -1430,18 +1437,18 @@ u16 HPI_GpioWriteStatus( /* Async Event Object */ /**********************/ u16 HPI_AsyncEventOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phAsync );
u16 HPI_AsyncEventClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync );
u16 HPI_AsyncEventWait( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync, u16 wMaximumEvents, struct hpi_async_event *pEvents, @@ -1449,13 +1456,13 @@ u16 HPI_AsyncEventWait( );
u16 HPI_AsyncEventGetCount( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync, u16 *pwCount );
u16 HPI_AsyncEventGet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync, u16 wMaximumEvents, struct hpi_async_event *pEvents, @@ -1465,19 +1472,19 @@ u16 HPI_AsyncEventGet( /*/////////// */ /* WATCH-DOG */ u16 HPI_WatchdogOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phWatchdog );
u16 HPI_WatchdogSetTime( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hWatchdog, u32 dwTimeMillisec );
u16 HPI_WatchdogPing( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hWatchdog );
@@ -1485,19 +1492,19 @@ u16 HPI_WatchdogPing( /* OUT STREAM */ /**************/ u16 HPI_OutStreamOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wOutStreamIndex, u32 *phOutStream );
u16 HPI_OutStreamClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream );
u16 HPI_OutStreamGetInfoEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u16 *pwState, u32 *pdwBufferSize, @@ -1507,72 +1514,77 @@ u16 HPI_OutStreamGetInfoEx( );
u16 HPI_OutStreamWriteBuf( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, - u8 *pbWriteBuf, + const u8 *pbWriteBuf, u32 dwBytesToWrite, - struct hpi_format *pFormat + const struct hpi_format *pFormat );
u16 HPI_OutStreamStart( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, + u32 hOutStream +); + +u16 HPI_OutStreamWaitStart( + const struct hpi_hsubsys *phSubSys, u32 hOutStream );
u16 HPI_OutStreamStop( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream );
u16 HPI_OutStreamSinegen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream );
u16 HPI_OutStreamReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream );
u16 HPI_OutStreamQueryFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, struct hpi_format *pFormat );
u16 HPI_OutStreamSetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, struct hpi_format *pFormat );
u16 HPI_OutStreamSetPunchInOut( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 dwPunchInSample, u32 dwPunchOutSample );
u16 HPI_OutStreamSetVelocity( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, short nVelocity );
u16 HPI_OutStreamAncillaryReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u16 wMode );
u16 HPI_OutStreamAncillaryGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 *pdwFramesAvailable );
u16 HPI_OutStreamAncillaryRead( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, struct hpi_anc_frame *pAncFrameBuffer, u32 dwAncFrameBufferSizeInBytes, @@ -1580,90 +1592,95 @@ u16 HPI_OutStreamAncillaryRead( );
u16 HPI_OutStreamSetTimeScale( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 dwTimeScaleX10000 );
u16 HPI_OutStreamHostBufferAllocate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 dwSizeInBytes );
u16 HPI_OutStreamHostBufferFree( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream );
u16 HPI_OutStreamGroupAdd( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 hStream );
u16 HPI_OutStreamGroupGetMap( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 *pdwOutStreamMap, u32 *pdwInStreamMap );
u16 HPI_OutStreamGroupReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream );
/*////////// */ /* IN_STREAM */ u16 HPI_InStreamOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wInStreamIndex, u32 *phInStream );
u16 HPI_InStreamClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream );
u16 HPI_InStreamQueryFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, - struct hpi_format *pFormat + const struct hpi_format *pFormat );
u16 HPI_InStreamSetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, - struct hpi_format *pFormat + const struct hpi_format *pFormat );
u16 HPI_InStreamReadBuf( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u8 *pbReadBuf, u32 dwBytesToRead );
u16 HPI_InStreamStart( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, + u32 hInStream +); + +u16 HPI_InStreamWaitStart( + const struct hpi_hsubsys *phSubSys, u32 hInStream );
u16 HPI_InStreamStop( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream );
u16 HPI_InStreamReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream );
u16 HPI_InStreamGetInfoEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u16 *pwState, u32 *pdwBufferSize, @@ -1673,7 +1690,7 @@ u16 HPI_InStreamGetInfoEx( );
u16 HPI_InStreamAncillaryReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u16 wBytesPerFrame, u16 wMode, @@ -1682,45 +1699,45 @@ u16 HPI_InStreamAncillaryReset( );
u16 HPI_InStreamAncillaryGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 *pdwFrameSpace );
u16 HPI_InStreamAncillaryWrite( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, - struct hpi_anc_frame *pAncFrameBuffer, + const struct hpi_anc_frame *pAncFrameBuffer, u32 dwAncFrameBufferSizeInBytes, u32 dwNumberOfAncillaryFramesToWrite );
u16 HPI_InStreamHostBufferAllocate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 dwSizeInBytes );
u16 HPI_InStreamHostBufferFree( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream );
u16 HPI_InStreamGroupAdd( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 hStream );
u16 HPI_InStreamGroupGetMap( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 *pdwOutStreamMap, u32 *pdwInStreamMap );
u16 HPI_InStreamGroupReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream );
@@ -1728,18 +1745,18 @@ u16 HPI_InStreamGroupReset( /* MIXER */ /*********/ u16 HPI_MixerOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phMixer );
u16 HPI_MixerClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer );
u16 HPI_MixerGetControl( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer, u16 wSrcNodeType, u16 wSrcNodeTypeIndex, @@ -1750,7 +1767,7 @@ u16 HPI_MixerGetControl( );
u16 HPI_MixerGetControlByIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer, u16 wControlIndex, u16 *pwSrcNodeType, @@ -1762,7 +1779,7 @@ u16 HPI_MixerGetControlByIndex( );
u16 HPI_MixerStore( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer, enum HPI_MIXER_STORE_COMMAND Command, u16 wIndex @@ -1774,20 +1791,20 @@ u16 HPI_MixerStore( /* volume control */ /*************************/ u16 HPI_VolumeSetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB[HPI_MAX_CHANNELS] );
u16 HPI_VolumeGetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB_out[HPI_MAX_CHANNELS] );
#define HPI_VolumeGetRange HPI_VolumeQueryRange u16 HPI_VolumeQueryRange( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *nMinGain_01dB, short *nMaxGain_01dB, @@ -1801,14 +1818,14 @@ u16 HPI_Volume_QueryChannels( );
u16 HPI_VolumeAutoFade( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anStopGain0_01dB[HPI_MAX_CHANNELS], u32 wDurationMs );
u16 HPI_VolumeAutoFadeProfile( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anStopGain0_01dB[HPI_MAX_CHANNELS], u32 dwDurationMs, @@ -1819,7 +1836,7 @@ u16 HPI_VolumeAutoFadeProfile( /* level control */ /*************************/ u16 HPI_LevelQueryRange( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *nMinGain_01dB, short *nMaxGain_01dB, @@ -1827,13 +1844,13 @@ u16 HPI_LevelQueryRange( );
u16 HPI_LevelSetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB[HPI_MAX_CHANNELS] );
u16 HPI_LevelGetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB_out[HPI_MAX_CHANNELS] ); @@ -1848,40 +1865,40 @@ u16 HPI_Meter_QueryChannels( );
u16 HPI_MeterGetPeak( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anPeak0_01dB_out[HPI_MAX_CHANNELS] );
u16 HPI_MeterGetRms( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anPeak0_01dB_out[HPI_MAX_CHANNELS] );
u16 HPI_MeterSetPeakBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 nAttack, u16 nDecay );
u16 HPI_MeterSetRmsBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 nAttack, u16 nDecay );
u16 HPI_MeterGetPeakBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *nAttack, u16 *nDecay );
u16 HPI_MeterGetRmsBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *nAttack, u16 *nDecay @@ -1898,13 +1915,13 @@ u16 HPI_ChannelMode_QueryMode( );
u16 HPI_ChannelModeSet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wMode );
u16 HPI_ChannelModeGet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *wMode ); @@ -1920,13 +1937,13 @@ u16 HPI_Tuner_QueryBand( );
u16 HPI_Tuner_SetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wBand );
u16 HPI_Tuner_GetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwBand ); @@ -1940,25 +1957,25 @@ u16 HPI_Tuner_QueryFrequency( );
u16 HPI_Tuner_SetFrequency( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 wFreqInkHz );
u16 HPI_Tuner_GetFrequency( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pwFreqInkHz );
u16 HPI_Tuner_GetRFLevel( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *pwLevel );
u16 HPI_Tuner_GetRawRFLevel( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *pwLevel ); @@ -1971,40 +1988,40 @@ u16 HPI_Tuner_QueryGain( );
u16 HPI_Tuner_SetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short nGain );
u16 HPI_Tuner_GetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *pnGain );
u16 HPI_Tuner_GetStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwStatusMask, u16 *pwStatus );
u16 HPI_Tuner_SetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 nMode, u32 nValue );
u16 HPI_Tuner_GetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 nMode, u32 *pnValue );
u16 HPI_Tuner_GetRDS( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pRdsData ); @@ -2018,12 +2035,12 @@ u16 HPI_Tuner_QueryDeemphasis( );
u16 HPI_Tuner_SetDeemphasis( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwDeemphasis ); u16 HPI_Tuner_GetDeemphasis( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwDeemphasis ); @@ -2035,33 +2052,33 @@ u16 HPI_Tuner_QueryProgram( );
u16 HPI_Tuner_SetProgram( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwProgram );
u16 HPI_Tuner_GetProgram( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwProgram );
u16 HPI_Tuner_GetHdRadioDspVersion( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszDspVersion, const u32 dwStringSize );
u16 HPI_Tuner_GetHdRadioSdkVersion( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszSdkVersion, const u32 dwStringSize );
u16 HPI_Tuner_GetHdRadioSignalQuality( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwQuality ); @@ -2071,47 +2088,47 @@ u16 HPI_Tuner_GetHdRadioSignalQuality( /****************************/
u16 HPI_PAD_GetChannelName( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwStringLength );
u16 HPI_PAD_GetArtist( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwStringLength );
u16 HPI_PAD_GetTitle( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwStringLength );
u16 HPI_PAD_GetComment( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwStringLength );
u16 HPI_PAD_GetProgramType( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwPTY );
u16 HPI_PAD_GetRdsPI( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwPI );
u16 HPI_PAD_GetProgramTypeString( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, const u32 dwDataType, const u32 nPTY, @@ -2130,39 +2147,39 @@ u16 HPI_AESEBU_Receiver_QueryFormat( );
u16 HPI_AESEBU_Receiver_SetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wSource );
u16 HPI_AESEBU_Receiver_GetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwSource );
u16 HPI_AESEBU_Receiver_GetSampleRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwSampleRate );
u16 HPI_AESEBU_Receiver_GetUserData( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pwData );
u16 HPI_AESEBU_Receiver_GetChannelStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pwData );
u16 HPI_AESEBU_Receiver_GetErrorStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwErrorData ); @@ -2171,27 +2188,27 @@ u16 HPI_AESEBU_Receiver_GetErrorStatus( /* AES/EBU Transmitter control */ /*******************************/ u16 HPI_AESEBU_Transmitter_SetSampleRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwSampleRate );
u16 HPI_AESEBU_Transmitter_SetUserData( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 wData );
u16 HPI_AESEBU_Transmitter_SetChannelStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 wData );
u16 HPI_AESEBU_Transmitter_GetChannelStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pwData @@ -2205,13 +2222,13 @@ u16 HPI_AESEBU_Transmitter_QueryFormat( );
u16 HPI_AESEBU_Transmitter_SetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wOutputFormat );
u16 HPI_AESEBU_Transmitter_GetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwOutputFormat ); @@ -2220,21 +2237,21 @@ u16 HPI_AESEBU_Transmitter_GetFormat( /* multiplexer control */ /***********************/ u16 HPI_Multiplexer_SetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wSourceNodeType, u16 wSourceNodeIndex );
u16 HPI_Multiplexer_GetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *wSourceNodeType, u16 *wSourceNodeIndex );
u16 HPI_Multiplexer_QuerySource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 nIndex, u16 *wSourceNodeType, @@ -2245,13 +2262,13 @@ u16 HPI_Multiplexer_QuerySource( /* VOX control */ /***************/ u16 HPI_VoxSetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB );
u16 HPI_VoxGetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *anGain0_01dB ); @@ -2260,19 +2277,19 @@ u16 HPI_VoxGetThreshold( /* Bitstream control */ /*********************/ u16 HPI_Bitstream_SetClockEdge( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wEdgeType );
u16 HPI_Bitstream_SetDataPolarity( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wPolarity );
u16 HPI_Bitstream_GetActivity( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwClkActivity, u16 *pwDataActivity @@ -2290,13 +2307,13 @@ u16 HPI_SampleClock_QuerySource( );
u16 HPI_SampleClock_SetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wSource );
u16 HPI_SampleClock_GetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwSource ); @@ -2310,19 +2327,19 @@ u16 HPI_SampleClock_QuerySourceIndex( );
u16 HPI_SampleClock_SetSourceIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wSourceIndex );
u16 HPI_SampleClock_GetSourceIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwSourceIndex );
u16 HPI_SampleClock_GetSampleRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwSampleRate ); @@ -2335,37 +2352,37 @@ u16 HPI_SampleClock_QueryLocalRate( );
u16 HPI_SampleClock_SetLocalRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwSampleRate );
u16 HPI_SampleClock_GetLocalRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwSampleRate );
u16 HPI_SampleClock_SetAuto( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwAuto );
u16 HPI_SampleClock_GetAuto( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwAuto );
u16 HPI_SampleClock_SetLocalRateLock( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwLock );
u16 HPI_SampleClock_GetLocalRateLock( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwLock ); @@ -2374,13 +2391,13 @@ u16 HPI_SampleClock_GetLocalRateLock( /* Microphone control */ /***********************/ u16 HPI_Microphone_SetPhantomPower( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wOnOff );
u16 HPI_Microphone_GetPhantomPower( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwOnOff ); @@ -2389,20 +2406,20 @@ u16 HPI_Microphone_GetPhantomPower( Parametric Equalizer control *******************************/ u16 HPI_ParametricEQ_GetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwNumberOfBands, u16 *pwEnabled );
u16 HPI_ParametricEQ_SetState( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wOnOff );
u16 HPI_ParametricEQ_SetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 nType, @@ -2412,7 +2429,7 @@ u16 HPI_ParametricEQ_SetBand( );
u16 HPI_ParametricEQ_GetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pnType, @@ -2422,7 +2439,7 @@ u16 HPI_ParametricEQ_GetBand( );
u16 HPI_ParametricEQ_GetCoeffs( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, short coeffs[5] @@ -2433,7 +2450,7 @@ u16 HPI_ParametricEQ_GetCoeffs( *******************************/
u16 HPI_Compander_Set( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wAttack, u16 wDecay, @@ -2443,7 +2460,7 @@ u16 HPI_Compander_Set( );
u16 HPI_Compander_Get( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwAttack, u16 *pwDecay, @@ -2456,7 +2473,7 @@ u16 HPI_Compander_Get( Cobranet HMI control *******************************/ u16 HPI_Cobranet_HmiWrite( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwHmiAddress, u32 dwByteCount, @@ -2464,7 +2481,7 @@ u16 HPI_Cobranet_HmiWrite( );
u16 HPI_Cobranet_HmiRead( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwHmiAddress, u32 dwMaxByteCount, @@ -2473,7 +2490,7 @@ u16 HPI_Cobranet_HmiRead( );
u16 HPI_Cobranet_HmiGetStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwStatus, u32 *pdwReadableSize, @@ -2483,35 +2500,35 @@ u16 HPI_Cobranet_HmiGetStatus( /*Read the current IP address */ u16 HPI_Cobranet_GetIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwIPaddress ); /* Write the current IP address */ u16 HPI_Cobranet_SetIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwIPaddress ); /* Read the static IP address */ u16 HPI_Cobranet_GetStaticIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwIPaddress ); /* Write the static IP address */ u16 HPI_Cobranet_SetStaticIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwIPaddress ); /* Read the MAC address */ u16 HPI_Cobranet_GetMACaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwMAC_MSBs, u32 *pdwMAC_LSBs @@ -2520,49 +2537,49 @@ u16 HPI_Cobranet_GetMACaddress( Tone Detector control *******************************/ u16 HPI_ToneDetector_GetState( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 *State );
u16 HPI_ToneDetector_SetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 Enable );
u16 HPI_ToneDetector_GetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 *Enable );
u16 HPI_ToneDetector_SetEventEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 EventEnable );
u16 HPI_ToneDetector_GetEventEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 *EventEnable );
u16 HPI_ToneDetector_SetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, int Threshold );
u16 HPI_ToneDetector_GetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, int *Threshold );
u16 HPI_ToneDetector_GetFrequency( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 nIndex, u32 *dwFrequency @@ -2572,57 +2589,55 @@ u16 HPI_ToneDetector_GetFrequency( Silence Detector control *******************************/ u16 HPI_SilenceDetector_GetState( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 *State );
u16 HPI_SilenceDetector_SetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 Enable );
u16 HPI_SilenceDetector_GetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 *Enable );
u16 HPI_SilenceDetector_SetEventEnable( - struct hpi_hsubsys - *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 EventEnable );
u16 HPI_SilenceDetector_GetEventEnable( - struct hpi_hsubsys - *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 *EventEnable );
u16 HPI_SilenceDetector_SetDelay( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 Delay );
u16 HPI_SilenceDetector_GetDelay( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, u32 *Delay );
u16 HPI_SilenceDetector_SetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, int Threshold );
u16 HPI_SilenceDetector_GetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, int *Threshold ); @@ -2666,19 +2681,19 @@ void HPI_Entity_Free( );
u16 HPI_Universal_Info( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, struct hpi_entity **info );
u16 HPI_Universal_Get( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, struct hpi_entity **value );
u16 HPI_Universal_Set( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, struct hpi_entity *value ); @@ -2687,13 +2702,13 @@ u16 HPI_Universal_Set( /* DSP CLOCK */ /*/////////// */ u16 HPI_ClockOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phDspClock );
u16 HPI_ClockSetTime( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hClock, u16 wHour, u16 wMinute, @@ -2702,7 +2717,7 @@ u16 HPI_ClockSetTime( );
u16 HPI_ClockGetTime( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hClock, u16 *pwHour, u16 *pwMinute, @@ -2714,7 +2729,7 @@ u16 HPI_ClockGetTime( /* PROFILE */ /*/////////// */ u16 HPI_ProfileOpenAll( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wProfileIndex, u32 *phProfile, @@ -2722,7 +2737,7 @@ u16 HPI_ProfileOpenAll( );
u16 HPI_ProfileGet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile, u16 wIndex, u16 *pwSeconds, @@ -2733,17 +2748,17 @@ u16 HPI_ProfileGet( );
u16 HPI_ProfileStartAll( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile );
u16 HPI_ProfileStopAll( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile );
u16 HPI_ProfileGetName( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile, u16 wIndex, char *szProfileName, @@ -2751,7 +2766,7 @@ u16 HPI_ProfileGetName( );
u16 HPI_ProfileGetUtilization( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile, u32 *pdwUtilization ); diff --git a/pci/asihpi/hpi_internal.h b/pci/asihpi/hpi_internal.h index 77d9464..77b85e4 100644 --- a/pci/asihpi/hpi_internal.h +++ b/pci/asihpi/hpi_internal.h @@ -607,7 +607,8 @@ Threshold is a -ve number in units of dB/100, #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_FUNCTION_COUNT 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) @@ -627,7 +628,8 @@ Threshold is a -ve number in units of dB/100, #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_FUNCTION_COUNT 18 +#define HPI_ISTREAM_WAIT_START HPI_MAKE_INDEX(HPI_OBJ_ISTREAM, 19) +#define HPI_ISTREAM_FUNCTION_COUNT 19 /* MIXER */ /* NOTE: GET_NODE_INFO, SET_CONNECTION, GET_CONNECTIONS are not currently used */ @@ -713,8 +715,8 @@ struct hpi_pci {
struct hpi_resource { union { - struct hpi_pci *Pci; - char *net_if; + const struct hpi_pci *Pci; + const char *net_if; } r; #ifndef HPI64BIT /* keep structure size constant */ u32 dwPadTo64; @@ -1646,25 +1648,25 @@ void HPI_MessageUDP(
/* used in PnP OS/driver */ u16 HPI_SubSysCreateAdapter( - struct hpi_hsubsys *phSubSys, - struct hpi_resource *pResource, + const struct hpi_hsubsys *phSubSys, + const struct hpi_resource *pResource, u16 *pwAdapterIndex );
u16 HPI_SubSysDeleteAdapter( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex );
u16 HPI_OutStreamHostBufferGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u8 **ppBuffer, struct hpi_hostbuffer_status **ppStatus );
u16 HPI_InStreamHostBufferGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u8 **ppBuffer, struct hpi_hostbuffer_status **ppStatus @@ -1683,7 +1685,7 @@ compatibility.
void HPI_FormatToMsg( struct hpi_msg_format *pMF, - struct hpi_format *pF + const struct hpi_format *pF ); void HPI_StreamResponseToLegacy( struct hpi_stream_res *pSR diff --git a/pci/asihpi/hpidebug.h b/pci/asihpi/hpidebug.h index a280105..b20ec06 100644 --- a/pci/asihpi/hpidebug.h +++ b/pci/asihpi/hpidebug.h @@ -217,8 +217,9 @@ function_count_check(HPI_ADAPTER, 18); "HPI_OSTREAM_GROUP_GETMAP", \ "HPI_OSTREAM_GROUP_RESET", \ "HPI_OSTREAM_HOSTBUFFER_GET_INFO", \ + "HPI_OSTREAM_WAIT_START", \ } -function_count_check(HPI_OSTREAM, 23); +function_count_check(HPI_OSTREAM, 24);
#define HPI_ISTREAM_STRINGS \ { \ @@ -240,8 +241,9 @@ function_count_check(HPI_OSTREAM, 23); "HPI_ISTREAM_GROUP_GETMAP", \ "HPI_ISTREAM_GROUP_RESET", \ "HPI_ISTREAM_HOSTBUFFER_GET_INFO", \ + "HPI_ISTREAM_WAIT_START", \ } -function_count_check(HPI_ISTREAM, 18); +function_count_check(HPI_ISTREAM, 19);
#define HPI_MIXER_STRINGS \ { \ diff --git a/pci/asihpi/hpifunc.c b/pci/asihpi/hpifunc.c index 183496a..805618f 100644 --- a/pci/asihpi/hpifunc.c +++ b/pci/asihpi/hpifunc.c @@ -75,7 +75,7 @@ do {\
void HPI_FormatToMsg( struct hpi_msg_format *pMF, - struct hpi_format *pF + const struct hpi_format *pF ) { pMF->dwSampleRate = pF->dwSampleRate; @@ -132,7 +132,7 @@ struct hpi_hsubsys *HPI_SubSysCreate( }
void HPI_SubSysFree( - struct hpi_hsubsys *phSubSys + const struct hpi_hsubsys *phSubSys ) { struct hpi_message hm; @@ -145,7 +145,7 @@ void HPI_SubSysFree( }
u16 HPI_SubSysGetVersion( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 *pdwVersion ) { @@ -160,7 +160,7 @@ u16 HPI_SubSysGetVersion( }
u16 HPI_SubSysGetVersionEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 *pdwVersionEx ) { @@ -175,7 +175,7 @@ u16 HPI_SubSysGetVersionEx( }
u16 HPI_SubSysGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 *pdwVersion, u16 *pwNumAdapters, u16 awAdapterList[], @@ -200,7 +200,7 @@ u16 HPI_SubSysGetInfo( }
u16 HPI_SubSysFindAdapters( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 *pwNumAdapters, u16 awAdapterList[], u16 wListLength @@ -227,8 +227,8 @@ u16 HPI_SubSysFindAdapters( }
u16 HPI_SubSysCreateAdapter( - struct hpi_hsubsys *phSubSys, - struct hpi_resource *pResource, + const struct hpi_hsubsys *phSubSys, + const struct hpi_resource *pResource, u16 *pwAdapterIndex ) { @@ -246,7 +246,7 @@ u16 HPI_SubSysCreateAdapter( }
u16 HPI_SubSysDeleteAdapter( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex ) { @@ -260,7 +260,7 @@ u16 HPI_SubSysDeleteAdapter( }
u16 HPI_SubSysGetNumAdapters( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, int *pnNumAdapters ) { @@ -274,7 +274,7 @@ u16 HPI_SubSysGetNumAdapters( }
u16 HPI_SubSysGetAdapter( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, int nIterator, u32 *pdwAdapterIndex, u16 *pwAdapterType @@ -292,8 +292,8 @@ u16 HPI_SubSysGetAdapter( }
u16 HPI_SubSysSetHostNetworkInterface( - struct hpi_hsubsys *phSubSys, - char *szInterface + const struct hpi_hsubsys *phSubSys, + const char *szInterface ) { struct hpi_message hm; @@ -308,7 +308,7 @@ u16 HPI_SubSysSetHostNetworkInterface( }
u16 HPI_AdapterOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex ) { @@ -324,7 +324,7 @@ u16 HPI_AdapterOpen( }
u16 HPI_AdapterClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex ) { @@ -350,7 +350,7 @@ u16 HPI_AdapterFindObject( }
u16 HPI_AdapterSetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 dwAdapterMode ) @@ -360,7 +360,7 @@ u16 HPI_AdapterSetMode( }
u16 HPI_AdapterSetModeEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 dwAdapterMode, u16 wQueryOrSet @@ -378,7 +378,7 @@ u16 HPI_AdapterSetModeEx( }
u16 HPI_AdapterGetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *pdwAdapterMode ) @@ -395,7 +395,7 @@ u16 HPI_AdapterGetMode( }
u16 HPI_AdapterGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 *pwNumOutStreams, u16 *pwNumInStreams, @@ -421,7 +421,7 @@ u16 HPI_AdapterGetInfo( }
u16 HPI_AdapterGetModuleByIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wModuleIndex, u16 *pwNumOutputs, @@ -453,7 +453,7 @@ u16 HPI_AdapterGetModuleByIndex( }
u16 HPI_AdapterGetAssert( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 *wAssertPresent, char *pszAssert, @@ -494,7 +494,7 @@ u16 HPI_AdapterGetAssert( }
u16 HPI_AdapterGetAssertEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 *wAssertPresent, char *pszAssert, @@ -546,7 +546,7 @@ u16 HPI_AdapterGetAssertEx( }
u16 HPI_AdapterTestAssert( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wAssertId ) @@ -564,7 +564,7 @@ u16 HPI_AdapterTestAssert( }
u16 HPI_AdapterEnableCapability( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wCapability, u32 dwKey @@ -584,7 +584,7 @@ u16 HPI_AdapterEnableCapability( }
u16 HPI_AdapterSelfTest( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex ) { @@ -598,7 +598,7 @@ u16 HPI_AdapterSelfTest( }
u16 HPI_AdapterDebugRead( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 dwDspAddress, char *pBuffer, @@ -631,7 +631,7 @@ u16 HPI_AdapterDebugRead( }
u16 HPI_AdapterSetProperty( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wProperty, u16 wParameter1, @@ -653,7 +653,7 @@ u16 HPI_AdapterSetProperty( }
u16 HPI_AdapterGetProperty( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wProperty, u16 *pwParameter1, @@ -679,7 +679,7 @@ u16 HPI_AdapterGetProperty( }
u16 HPI_AdapterEnumerateProperty( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wIndex, u16 wWhatToEnumerate, @@ -834,7 +834,7 @@ u16 HPI_StreamEstimateBufferSize( }
u16 HPI_OutStreamOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wOutStreamIndex, u32 *phOutStream @@ -858,7 +858,7 @@ u16 HPI_OutStreamOpen( }
u16 HPI_OutStreamClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream ) { @@ -870,17 +870,20 @@ u16 HPI_OutStreamClose( u32TOINDEXES(hOutStream, &hm.wAdapterIndex, &hm.wObjIndex); HPI_Message(&hm, &hr);
- hm.wFunction = HPI_OSTREAM_GROUP_RESET; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_OSTREAM, + HPI_OSTREAM_GROUP_RESET); + u32TOINDEXES(hOutStream, &hm.wAdapterIndex, &hm.wObjIndex); HPI_Message(&hm, &hr);
- hm.wFunction = HPI_OSTREAM_CLOSE; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_OSTREAM, HPI_OSTREAM_CLOSE); + u32TOINDEXES(hOutStream, &hm.wAdapterIndex, &hm.wObjIndex); HPI_Message(&hm, &hr);
return hr.wError; }
u16 HPI_OutStreamGetInfoEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u16 *pwState, u32 *pdwBufferSize, @@ -912,18 +915,18 @@ u16 HPI_OutStreamGetInfoEx( }
u16 HPI_OutStreamWriteBuf( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, - u8 *pbData, + const u8 *pbData, u32 dwBytesToWrite, - struct hpi_format *pFormat + const struct hpi_format *pFormat ) { struct hpi_message hm; struct hpi_response hr; HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_OSTREAM, HPI_OSTREAM_WRITE); u32TOINDEXES(hOutStream, &hm.wAdapterIndex, &hm.wObjIndex); - hm.u.d.u.Data.pbData = pbData; + hm.u.d.u.Data.pbData = (u8 *)pbData; hm.u.d.u.Data.dwDataSize = dwBytesToWrite;
HPI_FormatToMsg(&hm.u.d.u.Data.Format, pFormat); @@ -934,7 +937,7 @@ u16 HPI_OutStreamWriteBuf( }
u16 HPI_OutStreamStart( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream ) { @@ -948,8 +951,24 @@ u16 HPI_OutStreamStart( return hr.wError; }
+u16 HPI_OutStreamWaitStart( + const struct hpi_hsubsys *phSubSys, + u32 hOutStream +) +{ + struct hpi_message hm; + struct hpi_response hr; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_OSTREAM, + HPI_OSTREAM_WAIT_START); + u32TOINDEXES(hOutStream, &hm.wAdapterIndex, &hm.wObjIndex); + + HPI_Message(&hm, &hr); + + return hr.wError; +} + u16 HPI_OutStreamStop( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream ) { @@ -964,7 +983,7 @@ u16 HPI_OutStreamStop( }
u16 HPI_OutStreamSinegen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream ) { @@ -980,7 +999,7 @@ u16 HPI_OutStreamSinegen( }
u16 HPI_OutStreamReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream ) { @@ -995,7 +1014,7 @@ u16 HPI_OutStreamReset( }
u16 HPI_OutStreamQueryFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, struct hpi_format *pFormat ) @@ -1015,7 +1034,7 @@ u16 HPI_OutStreamQueryFormat( }
u16 HPI_OutStreamSetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, struct hpi_format *pFormat ) @@ -1035,7 +1054,7 @@ u16 HPI_OutStreamSetFormat( }
u16 HPI_OutStreamSetVelocity( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, short nVelocity ) @@ -1054,7 +1073,7 @@ u16 HPI_OutStreamSetVelocity( }
u16 HPI_OutStreamSetPunchInOut( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 dwPunchInSample, u32 dwPunchOutSample @@ -1076,7 +1095,7 @@ u16 HPI_OutStreamSetPunchInOut( }
u16 HPI_OutStreamAncillaryReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u16 wMode ) @@ -1093,7 +1112,7 @@ u16 HPI_OutStreamAncillaryReset( }
u16 HPI_OutStreamAncillaryGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 *pdwFramesAvailable ) @@ -1115,7 +1134,7 @@ u16 HPI_OutStreamAncillaryGetInfo( }
u16 HPI_OutStreamAncillaryRead( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, struct hpi_anc_frame *pAncFrameBuffer, u32 dwAncFrameBufferSizeInBytes, @@ -1139,7 +1158,7 @@ u16 HPI_OutStreamAncillaryRead( }
u16 HPI_OutStreamSetTimeScale( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 dwTimeScale ) @@ -1159,7 +1178,7 @@ u16 HPI_OutStreamSetTimeScale( }
u16 HPI_OutStreamHostBufferAllocate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 dwSizeInBytes ) @@ -1176,7 +1195,7 @@ u16 HPI_OutStreamHostBufferAllocate( }
u16 HPI_OutStreamHostBufferGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u8 **ppBuffer, struct hpi_hostbuffer_status **ppStatus @@ -1200,7 +1219,7 @@ u16 HPI_OutStreamHostBufferGetInfo( }
u16 HPI_OutStreamHostBufferFree( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream ) { @@ -1215,7 +1234,7 @@ u16 HPI_OutStreamHostBufferFree( }
u16 HPI_OutStreamGroupAdd( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 hStream ) @@ -1252,7 +1271,7 @@ u16 HPI_OutStreamGroupAdd( }
u16 HPI_OutStreamGroupGetMap( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream, u32 *pdwOutStreamMap, u32 *pdwInStreamMap @@ -1275,7 +1294,7 @@ u16 HPI_OutStreamGroupGetMap( }
u16 HPI_OutStreamGroupReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hOutStream ) { @@ -1290,7 +1309,7 @@ u16 HPI_OutStreamGroupReset( }
u16 HPI_InStreamOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wInStreamIndex, u32 *phInStream @@ -1316,7 +1335,7 @@ u16 HPI_InStreamOpen( }
u16 HPI_InStreamClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream ) { @@ -1328,19 +1347,22 @@ u16 HPI_InStreamClose( u32TOINDEXES(hInStream, &hm.wAdapterIndex, &hm.wObjIndex); HPI_Message(&hm, &hr);
- hm.wFunction = HPI_ISTREAM_GROUP_RESET; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_ISTREAM, + HPI_ISTREAM_GROUP_RESET); + u32TOINDEXES(hInStream, &hm.wAdapterIndex, &hm.wObjIndex); HPI_Message(&hm, &hr);
- hm.wFunction = HPI_ISTREAM_CLOSE; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_ISTREAM, HPI_ISTREAM_CLOSE); + u32TOINDEXES(hInStream, &hm.wAdapterIndex, &hm.wObjIndex); HPI_Message(&hm, &hr);
return hr.wError; }
u16 HPI_InStreamQueryFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, - struct hpi_format *pFormat + const struct hpi_format *pFormat ) { struct hpi_message hm; @@ -1357,9 +1379,9 @@ u16 HPI_InStreamQueryFormat( }
u16 HPI_InStreamSetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, - struct hpi_format *pFormat + const struct hpi_format *pFormat ) { struct hpi_message hm; @@ -1376,7 +1398,7 @@ u16 HPI_InStreamSetFormat( }
u16 HPI_InStreamReadBuf( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u8 *pbData, u32 dwBytesToRead @@ -1396,7 +1418,7 @@ u16 HPI_InStreamReadBuf( }
u16 HPI_InStreamStart( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream ) { @@ -1411,8 +1433,25 @@ u16 HPI_InStreamStart( return hr.wError; }
+u16 HPI_InStreamWaitStart( + const struct hpi_hsubsys *phSubSys, + u32 hInStream +) +{ + struct hpi_message hm; + struct hpi_response hr; + + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_ISTREAM, + HPI_ISTREAM_WAIT_START); + u32TOINDEXES(hInStream, &hm.wAdapterIndex, &hm.wObjIndex); + + HPI_Message(&hm, &hr); + + return hr.wError; +} + u16 HPI_InStreamStop( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream ) { @@ -1428,7 +1467,7 @@ u16 HPI_InStreamStop( }
u16 HPI_InStreamReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream ) { @@ -1444,7 +1483,7 @@ u16 HPI_InStreamReset( }
u16 HPI_InStreamGetInfoEx( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u16 *pwState, u32 *pdwBufferSize, @@ -1477,7 +1516,7 @@ u16 HPI_InStreamGetInfoEx( }
u16 HPI_InStreamAncillaryReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u16 wBytesPerFrame, u16 wMode, @@ -1498,7 +1537,7 @@ u16 HPI_InStreamAncillaryReset( }
u16 HPI_InStreamAncillaryGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 *pdwFrameSpace ) @@ -1518,9 +1557,9 @@ u16 HPI_InStreamAncillaryGetInfo( }
u16 HPI_InStreamAncillaryWrite( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, - struct hpi_anc_frame *pAncFrameBuffer, + const struct hpi_anc_frame *pAncFrameBuffer, u32 dwAncFrameBufferSizeInBytes, u32 dwNumberOfAncillaryFramesToWrite ) @@ -1543,7 +1582,7 @@ u16 HPI_InStreamAncillaryWrite( }
u16 HPI_InStreamHostBufferAllocate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 dwSizeInBytes ) @@ -1561,7 +1600,7 @@ u16 HPI_InStreamHostBufferAllocate( }
u16 HPI_InStreamHostBufferGetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u8 **ppBuffer, struct hpi_hostbuffer_status **ppStatus @@ -1585,7 +1624,7 @@ u16 HPI_InStreamHostBufferGetInfo( }
u16 HPI_InStreamHostBufferFree( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream ) { @@ -1601,7 +1640,7 @@ u16 HPI_InStreamHostBufferFree( }
u16 HPI_InStreamGroupAdd( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 hStream ) @@ -1640,7 +1679,7 @@ u16 HPI_InStreamGroupAdd( }
u16 HPI_InStreamGroupGetMap( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream, u32 *pdwOutStreamMap, u32 *pdwInStreamMap @@ -1663,7 +1702,7 @@ u16 HPI_InStreamGroupGetMap( }
u16 HPI_InStreamGroupReset( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hInStream ) { @@ -1678,7 +1717,7 @@ u16 HPI_InStreamGroupReset( }
u16 HPI_MixerOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phMixer ) @@ -1699,7 +1738,7 @@ u16 HPI_MixerOpen( }
u16 HPI_MixerClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer ) { @@ -1712,7 +1751,7 @@ u16 HPI_MixerClose( }
u16 HPI_MixerGetControl( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer, u16 wSrcNodeType, u16 wSrcNodeTypeIndex, @@ -1745,7 +1784,7 @@ u16 HPI_MixerGetControl( }
u16 HPI_MixerGetControlByIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer, u16 wControlIndex, u16 *pwSrcNodeType, @@ -1785,7 +1824,7 @@ u16 HPI_MixerGetControlByIndex( }
u16 HPI_MixerStore( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hMixer, enum HPI_MIXER_STORE_COMMAND command, u16 wIndex @@ -1963,7 +2002,7 @@ u16 HPI_AESEBU_Receiver_QueryFormat( }
u16 HPI_AESEBU_Receiver_SetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wFormat ) @@ -1973,7 +2012,7 @@ u16 HPI_AESEBU_Receiver_SetFormat( }
u16 HPI_AESEBU_Receiver_GetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwFormat ) @@ -1990,7 +2029,7 @@ u16 HPI_AESEBU_Receiver_GetFormat( }
u16 HPI_AESEBU_Receiver_GetSampleRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwSampleRate ) @@ -2000,7 +2039,7 @@ u16 HPI_AESEBU_Receiver_GetSampleRate( }
u16 HPI_AESEBU_Receiver_GetUserData( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pwData @@ -2022,7 +2061,7 @@ u16 HPI_AESEBU_Receiver_GetUserData( }
u16 HPI_AESEBU_Receiver_GetChannelStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pwData @@ -2044,7 +2083,7 @@ u16 HPI_AESEBU_Receiver_GetChannelStatus( }
u16 HPI_AESEBU_Receiver_GetErrorStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwErrorData ) @@ -2060,7 +2099,7 @@ u16 HPI_AESEBU_Receiver_GetErrorStatus( }
u16 HPI_AESEBU_Transmitter_SetSampleRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwSampleRate ) @@ -2070,7 +2109,7 @@ u16 HPI_AESEBU_Transmitter_SetSampleRate( }
u16 HPI_AESEBU_Transmitter_SetUserData( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 wData @@ -2081,7 +2120,7 @@ u16 HPI_AESEBU_Transmitter_SetUserData( }
u16 HPI_AESEBU_Transmitter_SetChannelStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 wData @@ -2092,7 +2131,7 @@ u16 HPI_AESEBU_Transmitter_SetChannelStatus( }
u16 HPI_AESEBU_Transmitter_GetChannelStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pwData @@ -2118,7 +2157,7 @@ u16 HPI_AESEBU_Transmitter_QueryFormat( }
u16 HPI_AESEBU_Transmitter_SetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wOutputFormat ) @@ -2128,7 +2167,7 @@ u16 HPI_AESEBU_Transmitter_SetFormat( }
u16 HPI_AESEBU_Transmitter_GetFormat( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwOutputFormat ) @@ -2145,7 +2184,7 @@ u16 HPI_AESEBU_Transmitter_GetFormat( }
u16 HPI_Bitstream_SetClockEdge( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wEdgeType ) @@ -2155,7 +2194,7 @@ u16 HPI_Bitstream_SetClockEdge( }
u16 HPI_Bitstream_SetDataPolarity( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wPolarity ) @@ -2165,7 +2204,7 @@ u16 HPI_Bitstream_SetDataPolarity( }
u16 HPI_Bitstream_GetActivity( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwClkActivity, u16 *pwDataActivity @@ -2202,7 +2241,7 @@ u16 HPI_ChannelMode_QueryMode( }
u16 HPI_ChannelModeSet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wMode ) @@ -2212,7 +2251,7 @@ u16 HPI_ChannelModeSet( }
u16 HPI_ChannelModeGet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *wMode ) @@ -2226,7 +2265,7 @@ u16 HPI_ChannelModeGet( }
u16 HPI_Cobranet_HmiWrite( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwHmiAddress, u32 dwByteCount, @@ -2256,7 +2295,7 @@ u16 HPI_Cobranet_HmiWrite( }
u16 HPI_Cobranet_HmiRead( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwHmiAddress, u32 dwMaxByteCount, @@ -2300,7 +2339,7 @@ u16 HPI_Cobranet_HmiRead( }
u16 HPI_Cobranet_HmiGetStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwStatus, u32 *pdwReadableSize, @@ -2330,7 +2369,7 @@ u16 HPI_Cobranet_HmiGetStatus( }
u16 HPI_Cobranet_GetIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwIPaddress ) @@ -2355,7 +2394,7 @@ u16 HPI_Cobranet_GetIPaddress( }
u16 HPI_Cobranet_SetIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwIPaddress ) @@ -2376,7 +2415,7 @@ u16 HPI_Cobranet_SetIPaddress( }
u16 HPI_Cobranet_GetStaticIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwIPaddress ) @@ -2401,7 +2440,7 @@ u16 HPI_Cobranet_GetStaticIPaddress( }
u16 HPI_Cobranet_SetStaticIPaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwIPaddress ) @@ -2422,7 +2461,7 @@ u16 HPI_Cobranet_SetStaticIPaddress( }
u16 HPI_Cobranet_GetMACaddress( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwMAC_MSBs, u32 *pdwMAC_LSBs @@ -2455,7 +2494,7 @@ u16 HPI_Cobranet_GetMACaddress( }
u16 HPI_Compander_Set( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wAttack, u16 wDecay, @@ -2482,7 +2521,7 @@ u16 HPI_Compander_Set( }
u16 HPI_Compander_Get( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwAttack, u16 *pwDecay, @@ -2516,7 +2555,7 @@ u16 HPI_Compander_Get( }
u16 HPI_LevelQueryRange( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *nMinGain_01dB, short *nMaxGain_01dB, @@ -2546,7 +2585,7 @@ u16 HPI_LevelQueryRange( }
u16 HPI_LevelSetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB[HPI_MAX_CHANNELS] ) @@ -2567,7 +2606,7 @@ u16 HPI_LevelSetGain( }
u16 HPI_LevelGetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB[HPI_MAX_CHANNELS] ) @@ -2597,7 +2636,7 @@ u16 HPI_Meter_QueryChannels( }
u16 HPI_MeterGetPeak( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anPeakdB[HPI_MAX_CHANNELS] ) @@ -2625,7 +2664,7 @@ u16 HPI_MeterGetPeak( }
u16 HPI_MeterGetRms( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anRmsdB[HPI_MAX_CHANNELS] ) @@ -2653,7 +2692,7 @@ u16 HPI_MeterGetRms( }
u16 HPI_MeterSetRmsBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 nAttack, u16 nDecay @@ -2664,7 +2703,7 @@ u16 HPI_MeterSetRmsBallistics( }
u16 HPI_MeterGetRmsBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pnAttack, u16 *pnDecay @@ -2686,7 +2725,7 @@ u16 HPI_MeterGetRmsBallistics( }
u16 HPI_MeterSetPeakBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 nAttack, u16 nDecay @@ -2697,7 +2736,7 @@ u16 HPI_MeterSetPeakBallistics( }
u16 HPI_MeterGetPeakBallistics( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pnAttack, u16 *pnDecay @@ -2719,7 +2758,7 @@ u16 HPI_MeterGetPeakBallistics( }
u16 HPI_Microphone_SetPhantomPower( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wOnOff ) @@ -2729,7 +2768,7 @@ u16 HPI_Microphone_SetPhantomPower( }
u16 HPI_Microphone_GetPhantomPower( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwOnOff ) @@ -2744,7 +2783,7 @@ u16 HPI_Microphone_GetPhantomPower( }
u16 HPI_Multiplexer_SetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wSourceNodeType, u16 wSourceNodeIndex @@ -2755,7 +2794,7 @@ u16 HPI_Multiplexer_SetSource( }
u16 HPI_Multiplexer_GetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *wSourceNodeType, u16 *wSourceNodeIndex @@ -2773,7 +2812,7 @@ u16 HPI_Multiplexer_GetSource( }
u16 HPI_Multiplexer_QuerySource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *wSourceNodeType, @@ -2798,7 +2837,7 @@ u16 HPI_Multiplexer_QuerySource( }
u16 HPI_ParametricEQ_GetInfo( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwNumberOfBands, u16 *pwOnOff @@ -2818,7 +2857,7 @@ u16 HPI_ParametricEQ_GetInfo( }
u16 HPI_ParametricEQ_SetState( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wOnOff ) @@ -2828,7 +2867,7 @@ u16 HPI_ParametricEQ_SetState( }
u16 HPI_ParametricEQ_GetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 *pnType, @@ -2860,7 +2899,7 @@ u16 HPI_ParametricEQ_GetBand( }
u16 HPI_ParametricEQ_SetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, u16 nType, @@ -2887,7 +2926,7 @@ u16 HPI_ParametricEQ_SetBand( }
u16 HPI_ParametricEQ_GetCoeffs( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wIndex, short coeffs[5] @@ -2929,7 +2968,7 @@ u16 HPI_SampleClock_QuerySource( }
u16 HPI_SampleClock_SetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wSource ) @@ -2939,7 +2978,7 @@ u16 HPI_SampleClock_SetSource( }
u16 HPI_SampleClock_GetSource( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwSource ) @@ -2972,7 +3011,7 @@ u16 HPI_SampleClock_QuerySourceIndex( }
u16 HPI_SampleClock_SetSourceIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wSourceIndex ) @@ -2982,7 +3021,7 @@ u16 HPI_SampleClock_SetSourceIndex( }
u16 HPI_SampleClock_GetSourceIndex( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwSourceIndex ) @@ -3012,7 +3051,7 @@ u16 HPI_SampleClock_QueryLocalRate( }
u16 HPI_SampleClock_SetLocalRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwSampleRate ) @@ -3022,7 +3061,7 @@ u16 HPI_SampleClock_SetLocalRate( }
u16 HPI_SampleClock_GetLocalRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwSampleRate ) @@ -3038,7 +3077,7 @@ u16 HPI_SampleClock_GetLocalRate( }
u16 HPI_SampleClock_GetSampleRate( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwSampleRate ) @@ -3054,7 +3093,7 @@ u16 HPI_SampleClock_GetSampleRate( }
u16 HPI_SampleClock_SetAuto( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwAuto ) @@ -3064,7 +3103,7 @@ u16 HPI_SampleClock_SetAuto( }
u16 HPI_SampleClock_GetAuto( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwAuto ) @@ -3074,7 +3113,7 @@ u16 HPI_SampleClock_GetAuto( }
u16 HPI_SampleClock_SetLocalRateLock( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwLock ) @@ -3084,7 +3123,7 @@ u16 HPI_SampleClock_SetLocalRateLock( }
u16 HPI_SampleClock_GetLocalRateLock( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwLock ) @@ -3094,7 +3133,7 @@ u16 HPI_SampleClock_GetLocalRateLock( }
u16 HPI_ToneDetector_GetFrequency( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 nIndex, u32 *dwFrequency @@ -3105,7 +3144,7 @@ u16 HPI_ToneDetector_GetFrequency( }
u16 HPI_ToneDetector_GetState( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *State ) @@ -3115,7 +3154,7 @@ u16 HPI_ToneDetector_GetState( }
u16 HPI_ToneDetector_SetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 Enable ) @@ -3125,7 +3164,7 @@ u16 HPI_ToneDetector_SetEnable( }
u16 HPI_ToneDetector_GetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *Enable ) @@ -3135,7 +3174,7 @@ u16 HPI_ToneDetector_GetEnable( }
u16 HPI_ToneDetector_SetEventEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 EventEnable ) @@ -3145,7 +3184,7 @@ u16 HPI_ToneDetector_SetEventEnable( }
u16 HPI_ToneDetector_GetEventEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *EventEnable ) @@ -3155,7 +3194,7 @@ u16 HPI_ToneDetector_GetEventEnable( }
u16 HPI_ToneDetector_SetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, int Threshold ) @@ -3165,7 +3204,7 @@ u16 HPI_ToneDetector_SetThreshold( }
u16 HPI_ToneDetector_GetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, int *Threshold ) @@ -3175,7 +3214,7 @@ u16 HPI_ToneDetector_GetThreshold( }
u16 HPI_SilenceDetector_GetState( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *State ) @@ -3185,7 +3224,7 @@ u16 HPI_SilenceDetector_GetState( }
u16 HPI_SilenceDetector_SetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 Enable ) @@ -3195,7 +3234,7 @@ u16 HPI_SilenceDetector_SetEnable( }
u16 HPI_SilenceDetector_GetEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *Enable ) @@ -3205,7 +3244,7 @@ u16 HPI_SilenceDetector_GetEnable( }
u16 HPI_SilenceDetector_SetEventEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 EventEnable ) @@ -3215,7 +3254,7 @@ u16 HPI_SilenceDetector_SetEventEnable( }
u16 HPI_SilenceDetector_GetEventEnable( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *EventEnable ) @@ -3225,7 +3264,7 @@ u16 HPI_SilenceDetector_GetEventEnable( }
u16 HPI_SilenceDetector_SetDelay( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 Delay ) @@ -3235,7 +3274,7 @@ u16 HPI_SilenceDetector_SetDelay( }
u16 HPI_SilenceDetector_GetDelay( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *Delay ) @@ -3245,7 +3284,7 @@ u16 HPI_SilenceDetector_GetDelay( }
u16 HPI_SilenceDetector_SetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, int Threshold ) @@ -3255,7 +3294,7 @@ u16 HPI_SilenceDetector_SetThreshold( }
u16 HPI_SilenceDetector_GetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, int *Threshold ) @@ -3281,7 +3320,7 @@ u16 HPI_Tuner_QueryBand( }
u16 HPI_Tuner_SetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 wBand ) @@ -3291,7 +3330,7 @@ u16 HPI_Tuner_SetBand( }
u16 HPI_Tuner_GetBand( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwBand ) @@ -3319,7 +3358,7 @@ u16 HPI_Tuner_QueryFrequency( }
u16 HPI_Tuner_SetFrequency( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 wFreqInkHz ) @@ -3329,7 +3368,7 @@ u16 HPI_Tuner_SetFrequency( }
u16 HPI_Tuner_GetFrequency( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pwFreqInkHz ) @@ -3355,7 +3394,7 @@ u16 HPI_Tuner_QueryGain( }
u16 HPI_Tuner_SetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short nGain ) @@ -3365,7 +3404,7 @@ u16 HPI_Tuner_SetGain( }
u16 HPI_Tuner_GetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *pnGain ) @@ -3381,7 +3420,7 @@ u16 HPI_Tuner_GetGain( }
u16 HPI_Tuner_GetRFLevel( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *pwLevel ) @@ -3400,7 +3439,7 @@ u16 HPI_Tuner_GetRFLevel( }
u16 HPI_Tuner_GetRawRFLevel( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *pwLevel ) @@ -3431,7 +3470,7 @@ u16 HPI_Tuner_QueryDeemphasis( }
u16 HPI_Tuner_SetDeemphasis( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwDeemphasis ) @@ -3441,7 +3480,7 @@ u16 HPI_Tuner_SetDeemphasis( }
u16 HPI_Tuner_GetDeemphasis( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwDeemphasis ) @@ -3461,7 +3500,7 @@ u16 HPI_Tuner_QueryProgram( }
u16 HPI_Tuner_SetProgram( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 dwProgram ) @@ -3471,7 +3510,7 @@ u16 HPI_Tuner_SetProgram( }
u16 HPI_Tuner_GetProgram( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwProgram ) @@ -3481,7 +3520,7 @@ u16 HPI_Tuner_GetProgram( }
u16 HPI_Tuner_GetHdRadioDspVersion( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszDspVersion, const u32 dwStringSize @@ -3493,7 +3532,7 @@ u16 HPI_Tuner_GetHdRadioDspVersion( }
u16 HPI_Tuner_GetHdRadioSdkVersion( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszSdkVersion, const u32 dwStringSize @@ -3505,7 +3544,7 @@ u16 HPI_Tuner_GetHdRadioSdkVersion( }
u16 HPI_Tuner_GetStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u16 *pwStatusMask, u16 *pwStatus @@ -3529,7 +3568,7 @@ u16 HPI_Tuner_GetStatus( }
u16 HPI_Tuner_SetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 nMode, u32 nValue @@ -3540,7 +3579,7 @@ u16 HPI_Tuner_SetMode( }
u16 HPI_Tuner_GetMode( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 nMode, u32 *pnValue @@ -3551,7 +3590,7 @@ u16 HPI_Tuner_GetMode( }
u16 HPI_Tuner_GetHdRadioSignalQuality( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwQuality ) @@ -3561,7 +3600,7 @@ u16 HPI_Tuner_GetHdRadioSignalQuality( }
u16 HPI_Tuner_GetRDS( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pData ) @@ -3582,7 +3621,7 @@ u16 HPI_Tuner_GetRDS( }
u16 HPI_PAD_GetChannelName( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwDataLength @@ -3593,7 +3632,7 @@ u16 HPI_PAD_GetChannelName( }
u16 HPI_PAD_GetArtist( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwDataLength @@ -3604,7 +3643,7 @@ u16 HPI_PAD_GetArtist( }
u16 HPI_PAD_GetTitle( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwDataLength @@ -3615,7 +3654,7 @@ u16 HPI_PAD_GetTitle( }
u16 HPI_PAD_GetComment( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, char *pszString, const u32 dwDataLength @@ -3626,7 +3665,7 @@ u16 HPI_PAD_GetComment( }
u16 HPI_PAD_GetProgramType( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwPTY ) @@ -3636,7 +3675,7 @@ u16 HPI_PAD_GetProgramType( }
u16 HPI_PAD_GetRdsPI( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, u32 *pdwPI ) @@ -3656,7 +3695,7 @@ u16 HPI_Volume_QueryChannels( }
u16 HPI_VolumeSetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anLogGain[HPI_MAX_CHANNELS] ) @@ -3676,7 +3715,7 @@ u16 HPI_VolumeSetGain( }
u16 HPI_VolumeGetGain( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anLogGain[HPI_MAX_CHANNELS] ) @@ -3696,7 +3735,7 @@ u16 HPI_VolumeGetGain( }
u16 HPI_VolumeQueryRange( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *nMinGain_01dB, short *nMaxGain_01dB, @@ -3726,7 +3765,7 @@ u16 HPI_VolumeQueryRange( }
u16 HPI_VolumeAutoFadeProfile( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anStopGain0_01dB[HPI_MAX_CHANNELS], u32 dwDurationMs, @@ -3752,7 +3791,7 @@ u16 HPI_VolumeAutoFadeProfile( }
u16 HPI_VolumeAutoFade( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anStopGain0_01dB[HPI_MAX_CHANNELS], u32 dwDurationMs @@ -3764,7 +3803,7 @@ u16 HPI_VolumeAutoFade( }
u16 HPI_VoxSetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short anGain0_01dB ) @@ -3784,7 +3823,7 @@ u16 HPI_VoxSetThreshold( }
u16 HPI_VoxGetThreshold( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hControl, short *anGain0_01dB ) @@ -3977,7 +4016,7 @@ u16 HPI_Entity_AllocAndCopy( }
u16 HPI_Universal_Info( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, struct hpi_entity **info ) @@ -4024,7 +4063,7 @@ u16 HPI_Universal_Info( }
u16 HPI_Universal_Get( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, struct hpi_entity **value ) @@ -4071,7 +4110,7 @@ u16 HPI_Universal_Get( }
u16 HPI_Universal_Set( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hC, struct hpi_entity *value ) @@ -4193,7 +4232,7 @@ u16 HPI_Entity_Unpack( }
u16 HPI_GpioOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phGpio, u16 *pwNumberInputBits, @@ -4219,7 +4258,7 @@ u16 HPI_GpioOpen( }
u16 HPI_GpioReadBit( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 wBitIndex, u16 *pwBitData @@ -4238,7 +4277,7 @@ u16 HPI_GpioReadBit( }
u16 HPI_GpioReadAllBits( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 awAllBitData[4] ) @@ -4260,7 +4299,7 @@ u16 HPI_GpioReadAllBits( }
u16 HPI_GpioWriteBit( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 wBitIndex, u16 wBitData @@ -4279,7 +4318,7 @@ u16 HPI_GpioWriteBit( }
u16 HPI_GpioWriteStatus( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hGpio, u16 awAllBitData[4] ) @@ -4302,7 +4341,7 @@ u16 HPI_GpioWriteStatus( }
u16 HPI_AsyncEventOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phAsync ) @@ -4327,7 +4366,7 @@ u16 HPI_AsyncEventOpen( }
u16 HPI_AsyncEventClose( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync ) { @@ -4343,7 +4382,7 @@ u16 HPI_AsyncEventClose( }
u16 HPI_AsyncEventWait( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync, u16 wMaximumEvents, struct hpi_async_event *pEvents, @@ -4354,7 +4393,7 @@ u16 HPI_AsyncEventWait( }
u16 HPI_AsyncEventGetCount( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync, u16 *pwCount ) @@ -4375,7 +4414,7 @@ u16 HPI_AsyncEventGetCount( }
u16 HPI_AsyncEventGet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hAsync, u16 wMaximumEvents, struct hpi_async_event *pEvents, @@ -4399,7 +4438,7 @@ u16 HPI_AsyncEventGet( }
u16 HPI_NvMemoryOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phNvMemory, u16 *pwSizeInBytes @@ -4425,7 +4464,7 @@ u16 HPI_NvMemoryOpen( }
u16 HPI_NvMemoryReadByte( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hNvMemory, u16 wIndex, u16 *pwData @@ -4445,7 +4484,7 @@ u16 HPI_NvMemoryReadByte( }
u16 HPI_NvMemoryWriteByte( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hNvMemory, u16 wIndex, u16 wData @@ -4465,7 +4504,7 @@ u16 HPI_NvMemoryWriteByte( }
u16 HPI_ProfileOpenAll( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u16 wProfileIndex, u32 *phProfile, @@ -4491,7 +4530,7 @@ u16 HPI_ProfileOpenAll( }
u16 HPI_ProfileGet( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile, u16 wBinIndex, u16 *pwSeconds, @@ -4521,7 +4560,7 @@ u16 HPI_ProfileGet( }
u16 HPI_ProfileGetUtilization( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile, u32 *pdwUtilization ) @@ -4543,7 +4582,7 @@ u16 HPI_ProfileGetUtilization( }
u16 HPI_ProfileGetName( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile, u16 wBinIndex, char *szName, @@ -4569,7 +4608,7 @@ u16 HPI_ProfileGetName( }
u16 HPI_ProfileStartAll( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile ) { @@ -4584,7 +4623,7 @@ u16 HPI_ProfileStartAll( }
u16 HPI_ProfileStopAll( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hProfile ) { @@ -4599,7 +4638,7 @@ u16 HPI_ProfileStopAll( }
u16 HPI_WatchdogOpen( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wAdapterIndex, u32 *phWatchdog ) @@ -4622,7 +4661,7 @@ u16 HPI_WatchdogOpen( }
u16 HPI_WatchdogSetTime( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hWatchdog, u32 dwTimeMillisec ) @@ -4640,7 +4679,7 @@ u16 HPI_WatchdogSetTime( }
u16 HPI_WatchdogPing( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u32 hWatchdog ) { diff --git a/pci/asihpi/hpimsginit.c b/pci/asihpi/hpimsginit.c index a13fd0f..6e14c49 100644 --- a/pci/asihpi/hpimsginit.c +++ b/pci/asihpi/hpimsginit.c @@ -38,7 +38,7 @@ static u16 gwSSX2Bypass; * \return Previous bypass setting. */ u16 HPI_SubSysSsx2Bypass( - struct hpi_hsubsys *phSubSys, + const struct hpi_hsubsys *phSubSys, u16 wBypass ) {
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Signed-off-by: Eliot Blennerhassett eblennerhassett@audioscience.com --- pci/asihpi/hpimsgx.c | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/pci/asihpi/hpimsgx.c b/pci/asihpi/hpimsgx.c index 231ae6c..c7ddbcf 100644 --- a/pci/asihpi/hpimsgx.c +++ b/pci/asihpi/hpimsgx.c @@ -35,7 +35,7 @@ static struct hpios_spinlock msgxLock; static HPI_HandlerFunc *hpi_entry_points[HPI_MAX_ADAPTERS];
static HPI_HandlerFunc *HPI_LookupEntryPointFunction( - struct hpi_pci *PciInfo + const struct hpi_pci *PciInfo ) {
@@ -555,8 +555,10 @@ static void InStreamOpen( HpiOs_Msgxlock_UnLock(&msgxLock);
/* issue a reset */ - memcpy(&hm, phm, sizeof(hm)); - hm.wFunction = HPI_ISTREAM_RESET; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_ISTREAM, + HPI_ISTREAM_RESET); + hm.wAdapterIndex = phm->wAdapterIndex; + hm.wObjIndex = phm->wObjIndex; HW_EntryPoint(&hm, &hr);
HpiOs_Msgxlock_Lock(&msgxLock); @@ -600,8 +602,10 @@ static void InStreamClose( NULL; HpiOs_Msgxlock_UnLock(&msgxLock); /* issue a reset */ - memcpy(&hm, phm, sizeof(hm)); - hm.wFunction = HPI_ISTREAM_RESET; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_ISTREAM, + HPI_ISTREAM_RESET); + hm.wAdapterIndex = phm->wAdapterIndex; + hm.wObjIndex = phm->wObjIndex; HW_EntryPoint(&hm, &hr); HpiOs_Msgxlock_Lock(&msgxLock); if (hr.wError) { @@ -654,8 +658,10 @@ static void OutStreamOpen( HpiOs_Msgxlock_UnLock(&msgxLock);
/* issue a reset */ - memcpy(&hm, phm, sizeof(hm)); - hm.wFunction = HPI_OSTREAM_RESET; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_OSTREAM, + HPI_OSTREAM_RESET); + hm.wAdapterIndex = phm->wAdapterIndex; + hm.wObjIndex = phm->wObjIndex; HW_EntryPoint(&hm, &hr);
HpiOs_Msgxlock_Lock(&msgxLock); @@ -700,8 +706,10 @@ static void OutStreamClose( NULL; HpiOs_Msgxlock_UnLock(&msgxLock); /* issue a reset */ - memcpy(&hm, phm, sizeof(hm)); - hm.wFunction = HPI_OSTREAM_RESET; + HPI_InitMessageResponse(&hm, &hr, HPI_OBJ_OSTREAM, + HPI_OSTREAM_RESET); + hm.wAdapterIndex = phm->wAdapterIndex; + hm.wObjIndex = phm->wObjIndex; HW_EntryPoint(&hm, &hr); HpiOs_Msgxlock_Lock(&msgxLock); if (hr.wError) {
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Signed-off-by: Eliot Blennerhassett eblennerhassett@audioscience.com --- pci/asihpi/hpi.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/pci/asihpi/hpi.h b/pci/asihpi/hpi.h index 61b3565..71ddd61 100644 --- a/pci/asihpi/hpi.h +++ b/pci/asihpi/hpi.h @@ -52,7 +52,7 @@ i.e 3.05.02 is a development version #define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 3, 10)
/* Library version as documented in hpi-api-versions.txt */ -#define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(3, 5, 0) +#define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0)
#ifdef __cplusplus /* *INDENT-OFF* */
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Signed-off-by: Eliot Blennerhassett eblennerhassett@audioscience.com --- pci/asihpi/asihpi.c | 102 +++++++++++++++++++++++++++----------------------- 1 files changed, 55 insertions(+), 47 deletions(-)
diff --git a/pci/asihpi/asihpi.c b/pci/asihpi/asihpi.c index 4f82e9f..585d0c5 100644 --- a/pci/asihpi/asihpi.c +++ b/pci/asihpi/asihpi.c @@ -25,23 +25,17 @@ #define REALLY_VERBOSE_LOGGING 0
#if REALLY_VERBOSE_LOGGING -#define VPRINTK1 printk +#define VPRINTK1 snd_printd #else #define VPRINTK1(...) #endif
#if REALLY_VERBOSE_LOGGING > 1 -#define VPRINTK2 printk +#define VPRINTK2 snd_printd #else #define VPRINTK2(...) #endif
-#if REALLY_VERBOSE_LOGGING > 2 -#define VPRINTK3 printk -#else -#define VPRINTK3(...) -#endif - #ifndef ASI_STYLE_NAMES /* not sure how ALSA style name should look */ #define ASI_STYLE_NAMES 1 @@ -56,7 +50,6 @@ #include "adriver.h" #else /* building in kernel tree */ -#include <sound/driver.h> #endif
#include <linux/pci.h> @@ -154,9 +147,10 @@ struct snd_card_asihpi { u32 hMixer; struct clk_cache cc;
- int support_mmap; - int support_grouping; - int support_mrx; + u16 support_mmap; + u16 support_grouping; + u16 support_mrx; + u16 update_interval_frames; u16 in_max_chans; u16 out_max_chans; }; @@ -396,14 +390,14 @@ static void snd_card_asihpi_pcm_samplerates(struct snd_card_asihpi *asihpi, HPI_SOURCENODE_CLOCK_SOURCE, 0, 0, 0, HPI_CONTROL_SAMPLECLOCK, &hControl); if (err) { - printk(KERN_ERR "No local sampleclock, err %d\n", err); + snd_printk(KERN_ERR "No local sampleclock, err %d\n", err); }
for (idx = 0; idx < 100; idx++) { if (HPI_SampleClock_QueryLocalRate(phSubSys, hControl, idx, &sampleRate)) { if (!idx) - printk(KERN_ERR "Local rate query failed\n"); + snd_printk(KERN_ERR "Local rate query failed\n");
break; } @@ -532,7 +526,7 @@ static int snd_card_asihpi_pcm_hw_params(struct snd_pcm_substream *substream, dpcm->bytes_per_sec = bytes_per_sec; dpcm->pcm_size = params_buffer_bytes(params); dpcm->pcm_count = params_period_bytes(params); - snd_printd(KERN_INFO "pcm_size x%x, pcm_count x%x, Bps %d\n", + snd_printd(KERN_INFO "pcm_size=%d, pcm_count=%d, Bps=%d\n", dpcm->pcm_size, dpcm->pcm_count, bytes_per_sec);
dpcm->pcm_irq_pos = 0; @@ -547,8 +541,8 @@ static void snd_card_asihpi_pcm_timer_start(struct snd_pcm_substream * struct snd_card_asihpi_pcm *dpcm = runtime->private_data; int expiry;
- /* wait longer the first time, for samples to propagate */ expiry = (dpcm->pcm_count * HZ / dpcm->bytes_per_sec); + /* wait longer the first time, for samples to propagate */ expiry = max(expiry, 20); dpcm->timer.expires = jiffies + expiry; dpcm->respawn_timer = 1; @@ -590,13 +584,12 @@ static int snd_card_asihpi_trigger(struct snd_pcm_substream *substream, * buffer is bigger it may contain even more * data?? */ - unsigned int preload = ds->pcm_count*2; - VPRINTK2("Preload x%x\n", preload); + unsigned int preload = ds->pcm_count * 2; + VPRINTK2("Preload %d\n", preload); HPI_HandleError(HPI_OutStreamWriteBuf(phSubSys, ds->hStream, &s->runtime->dma_area[0], preload, &ds->Format)); - ds->pcm_irq_pos = ds->pcm_irq_pos + preload; }
if (card->support_grouping) { @@ -755,6 +748,9 @@ static void snd_card_asihpi_timer_function(unsigned long data) &dwBufferSize, &dwDataAvail, &dwSamplesPlayed, &dwAux));
+ /* number of bytes in on-card buffer */ + runtime->delay = dwAux; + if (wState == HPI_STATE_DRAINED) { snd_printd(KERN_WARNING "OStream %d drained\n", s->number); @@ -781,7 +777,7 @@ static void snd_card_asihpi_timer_function(unsigned long data) newdata); }
- VPRINTK1("PB timer hw_ptr x%04lX, appl_ptr x%04lX ", + VPRINTK1("PB timer hw_ptr x%04lX, appl_ptr x%04lX\n", (unsigned long)frames_to_bytes(runtime, runtime->status->hw_ptr), (unsigned long)frames_to_bytes(runtime, @@ -797,8 +793,8 @@ static void snd_card_asihpi_timer_function(unsigned long data) next_jiffies = ((dpcm->pcm_count-remdata) * HZ / dpcm->bytes_per_sec)+1; next_jiffies = max(next_jiffies, 2U * HZ / 1000U); dpcm->timer.expires = jiffies + next_jiffies; - VPRINTK1("jif %d buf pos x%04X newdata x%04X\n", - next_jiffies, min_buf_pos, newdata); + VPRINTK1("jif %d buf pos x%04X newdata x%04X xc x%04X\n", + next_jiffies, min_buf_pos, newdata, xfercount);
snd_pcm_group_for_each_entry(s, dpcm->substream) { struct snd_card_asihpi_pcm *ds = s->runtime->private_data; @@ -865,6 +861,7 @@ snd_card_asihpi_playback_pointer(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime = substream->runtime; struct snd_card_asihpi_pcm *dpcm = runtime->private_data; snd_pcm_uframes_t ptr; + u32 dwSamplesPlayed; u16 err;
@@ -885,7 +882,7 @@ snd_card_asihpi_playback_pointer(struct snd_pcm_substream *substream) */
ptr = bytes_to_frames(runtime, dpcm->pcm_buf_pos % dpcm->pcm_size); - VPRINTK2("Playback ptr x%04lx\n", (unsigned long)ptr); + VPRINTK2("playback_pointer=%04ld\n", (unsigned long)ptr); return ptr; }
@@ -978,6 +975,9 @@ static int snd_card_asihpi_playback_open(struct snd_pcm_substream *substream) snd_card_asihpi_pcm_samplerates(card, &snd_card_asihpi_playback);
snd_card_asihpi_playback.info = SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_DOUBLE | + SNDRV_PCM_INFO_BATCH | + SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_PAUSE;
if (card->support_mmap) @@ -996,15 +996,8 @@ static int snd_card_asihpi_playback_open(struct snd_pcm_substream *substream) if (err < 0) return err;
- /* period must be at least 50ms. - This means more bytes for more channels - ?fixes asi5044 multichannel playback xruns - */ - /* - snd_pcm_hw_constraint_minmax(runtime, - SNDRV_PCM_HW_PARAM_PERIOD_TIME, - 44000, UINT_MAX); - */ + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, card->update_interval_frames); + snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, card->update_interval_frames * 4, UINT_MAX);
snd_pcm_set_sync(substream);
@@ -1097,7 +1090,7 @@ snd_card_asihpi_capture_pointer(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime = substream->runtime; struct snd_card_asihpi_pcm *dpcm = runtime->private_data;
- VPRINTK3("Capture pointer%d x%04x\n", + VPRINTK2("Capture pointer %d=%d\n", substream->number, dpcm->pcm_buf_pos); /* NOTE Unlike playback can't use actual dwSamplesPlayed for the capture position, because those samples aren't yet in @@ -1223,6 +1216,9 @@ static int snd_card_asihpi_capture_open(struct snd_pcm_substream *substream) if (err < 0) return err;
+ snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, card->update_interval_frames); + snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, card->update_interval_frames * 2, UINT_MAX); + snd_pcm_set_sync(substream);
return 0; @@ -1660,7 +1656,7 @@ static int snd_asihpi_aesebu_format_info(struct snd_kcontrol *kcontrol,
static int snd_asihpi_aesebu_format_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol, - u16 (*func)(struct hpi_hsubsys *, u32, u16 *)) + u16 (*func)(const struct hpi_hsubsys *, u32, u16 *)) { u32 hControl = kcontrol->private_value; u16 source, err; @@ -1682,7 +1678,7 @@ static int snd_asihpi_aesebu_format_get(struct snd_kcontrol *kcontrol,
static int snd_asihpi_aesebu_format_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol, - u16 (*func)(struct hpi_hsubsys *, u32, u16)) + u16 (*func)(const struct hpi_hsubsys *, u32, u16)) { u32 hControl = kcontrol->private_value;
@@ -2860,18 +2856,31 @@ static int __devinit snd_asihpi_probe(struct pci_dev *pci_dev, if (pcm_substreams < asihpi->wNumInStreams) pcm_substreams = asihpi->wNumInStreams;
+ err = HPI_AdapterGetProperty(phSubSys, asihpi->wAdapterIndex, + HPI_ADAPTER_PROPERTY_CAPS1, + NULL, &asihpi->support_grouping); + if (err) + asihpi->support_grouping = 0; + + err = HPI_AdapterGetProperty(phSubSys, asihpi->wAdapterIndex, + HPI_ADAPTER_PROPERTY_CAPS2, + &asihpi->support_mrx, NULL); + if (err) + asihpi->support_mrx = 0; + + err = HPI_AdapterGetProperty(phSubSys, asihpi->wAdapterIndex, + HPI_ADAPTER_PROPERTY_INTERVAL, + NULL, &asihpi->update_interval_frames); + if (err) + asihpi->update_interval_frames = 512; + HPI_HandleError(HPI_InStreamOpen(phSubSys, asihpi->wAdapterIndex, 0, &hStream));
- err = HPI_InStreamGroupAdd(phSubSys, hStream, hStream); - asihpi->support_grouping = (!err); - err = HPI_InStreamHostBufferFree(phSubSys, hStream); asihpi->support_mmap = (!err);
- asihpi->support_mrx = (((asihpi->wType & 0xFF00) == 0x8900) || - ((asihpi->wType & 0xF000) == 0x6000)); - + HPI_HandleError(HPI_InStreamClose(phSubSys, hStream));
err = HPI_AdapterGetProperty(phSubSys, asihpi->wAdapterIndex, HPI_ADAPTER_PROPERTY_CURCHANNELS, @@ -2881,22 +2890,21 @@ static int __devinit snd_asihpi_probe(struct pci_dev *pci_dev, asihpi->out_max_chans = 2; }
- printk(KERN_INFO "Supports mmap:%d grouping:%d mrx:%d\n", + snd_printk(KERN_INFO "Supports mmap:%d grouping:%d mrx:%d\n", asihpi->support_mmap, asihpi->support_grouping, asihpi->support_mrx );
- HPI_HandleError(HPI_InStreamClose(phSubSys, hStream));
err = snd_card_asihpi_pcm_new(asihpi, 0, pcm_substreams); if (err < 0) { - printk(KERN_ERR "pcm_new failed\n"); + snd_printk(KERN_ERR "pcm_new failed\n"); goto __nodev; } err = snd_card_asihpi_mixer_new(asihpi); if (err < 0) { - printk(KERN_ERR "mixer_new failed\n"); + snd_printk(KERN_ERR "mixer_new failed\n"); goto __nodev; }
@@ -2930,7 +2938,7 @@ static int __devinit snd_asihpi_probe(struct pci_dev *pci_dev, } __nodev: snd_card_free(card); - printk(KERN_ERR "snd_asihpi_probe error %d\n", err); + snd_printk(KERN_ERR "snd_asihpi_probe error %d\n", err); return err;
} @@ -2944,7 +2952,7 @@ static void __devexit snd_asihpi_remove(struct pci_dev *pci_dev) asihpi_adapter_remove(pci_dev); }
-static struct pci_device_id asihpi_pci_tbl[] = { +static DEFINE_PCI_DEVICE_TABLE(asihpi_pci_tbl) = { {HPI_PCI_VENDOR_ID_TI, HPI_PCI_DEV_ID_DSP6205, HPI_PCI_VENDOR_ID_AUDIOSCIENCE, PCI_ANY_ID, 0, 0, (kernel_ulong_t)HPI_6205},
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Signed-off-by: Eliot Blennerhassett eblennerhassett@audioscience.com --- pci/asihpi/hpi6205.c | 31 ++++++++++++++++--------------- 1 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/pci/asihpi/hpi6205.c b/pci/asihpi/hpi6205.c index a8a84b3..6db1c58 100644 --- a/pci/asihpi/hpi6205.c +++ b/pci/asihpi/hpi6205.c @@ -1051,26 +1051,18 @@ static void OutStreamWrite( struct bus_master_interface *interface = phw->pInterfaceBuffer; struct hpi_hostbuffer_status *status; long dwSpaceAvailable; + if (!phw->OutStreamHostBufferSize[phm->wObjIndex]) { - /* there is no BBM buffer */ + /* there is no BBM buffer, write via message */ HW_Message(pao, phm, phr); return; } - HPI_InitResponse(phr, phm->wObject, phm->wFunction, 0);
+ HPI_InitResponse(phr, phm->wObject, phm->wFunction, 0); status = &interface->aOutStreamHostBufferStatus[phm->wObjIndex];
-/* Set this to 1 to force this OutStremWrite() call to write data to the */ -/* adapter's buffers for the first write following stream reset. */ -#define OLD_STYLE_PREWRITE (1) - - /* check whether we need to send the format to the DSP */ if (phw->flagOStreamJustReset[phm->wObjIndex]) { -#if OLD_STYLE_PREWRITE - int nPartialWrite = 0; - unsigned int nOriginalSize = 0; -#endif - + /* Format can only change after reset. Must tell DSP. */ u16 wFunction = phm->wFunction; phw->flagOStreamJustReset[phm->wObjIndex] = 0; phm->wFunction = HPI_OSTREAM_SET_FORMAT; @@ -1078,11 +1070,18 @@ static void OutStreamWrite( phm->wFunction = wFunction; if (phr->wError) return; + } +#if 1 + if (phw->flagOStreamJustReset[phm->wObjIndex]) { + /* First OutStremWrite() call following reset will write data to the + adapter's buffers, reducing delay before stream can start + */ + int nPartialWrite = 0; + unsigned int nOriginalSize = 0;
-#if OLD_STYLE_PREWRITE /* Send the first buffer to the DSP the old way. */ /* Limit size of first transfer - */ - /* hopefully this will not not be triggered. */ + /* expect that this will not usually be triggered. */ if (phm->u.d.u.Data.dwDataSize > HPI6205_SIZEOF_DATA) { nPartialWrite = 1; nOriginalSize = phm->u.d.u.Data.dwDataSize; @@ -1096,6 +1095,8 @@ static void OutStreamWrite( * buffer update task reads data from the host BBM buffer) */ status->dwAuxiliaryDataAvailable = phm->u.d.u.Data.dwDataSize; + status->dwHostIndex += phm->u.d.u.Data.dwDataSize; + status->dwDSPIndex += phm->u.d.u.Data.dwDataSize;
/* if we did a full write, we can return from here. */ if (!nPartialWrite) @@ -1106,8 +1107,8 @@ static void OutStreamWrite( phm->u.d.u.Data.dwDataSize = nOriginalSize - HPI6205_SIZEOF_DATA; phm->u.d.u.Data.pbData += HPI6205_SIZEOF_DATA; -#endif } +#endif
dwSpaceAvailable = OutStreamGetSpaceAvailable(status); if (dwSpaceAvailable < (long)phm->u.d.u.Data.dwDataSize) {
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Signed-off-by: Eliot Blennerhassett eblennerhassett@audioscience.com --- pci/asihpi/hpi.h | 8 +------- pci/asihpi/hpi_internal.h | 11 +++++++++++ pci/asihpi/hpicmn.c | 10 ++++++++++ 3 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/pci/asihpi/hpi.h b/pci/asihpi/hpi.h index 71ddd61..b89a557 100644 --- a/pci/asihpi/hpi.h +++ b/pci/asihpi/hpi.h @@ -49,7 +49,7 @@ i.e 3.05.02 is a development version #define HPI_VER_RELEASE(v) ((int)(v & 0xFF))
/* Use single digits for versions less that 10 to avoid octal. */ -#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 3, 10) +#define HPI_VER HPI_VERSION_CONSTRUCTOR(4L, 3, 13)
/* Library version as documented in hpi-api-versions.txt */ #define HPI_LIB_VER HPI_VERSION_CONSTRUCTOR(9, 0, 0) @@ -178,12 +178,6 @@ The range is +1.0 to -1.0, which corresponds to digital fullscale. HPI_FORMAT_UNDEFINED = 0xffff };
-/******************************************* bus types */ -enum HPI_BUSES { - HPI_BUS_ISAPNP = 1, - HPI_BUS_PCI = 2, - HPI_BUS_USB = 3 -}; /******************************************* in/out Stream states */ /*******************************************/ /** Stream States diff --git a/pci/asihpi/hpi_internal.h b/pci/asihpi/hpi_internal.h index 77b85e4..6ea091f 100644 --- a/pci/asihpi/hpi_internal.h +++ b/pci/asihpi/hpi_internal.h @@ -174,6 +174,14 @@ struct hpi_entity { #pragma warning(pop) #endif
+/******************************************* bus types */ +enum HPI_BUSES { + HPI_BUS_ISAPNP = 1, + HPI_BUS_PCI = 2, + HPI_BUS_USB = 3, + HPI_BUS_NET = 4 +}; + /******************************************* CONTROL ATTRIBUTES ****/ /* (in order of control type ID */
@@ -1583,6 +1591,9 @@ struct hpi_control_cache_single { u16 wSourceIndex; u32 dwSampleRate; } clk; + struct { /* microphone control */ + u16 wState; + } phantom_power; struct { /* generic control */ u32 dw1; u32 dw2; diff --git a/pci/asihpi/hpicmn.c b/pci/asihpi/hpicmn.c index 4d4a796..012fd0f 100644 --- a/pci/asihpi/hpicmn.c +++ b/pci/asihpi/hpicmn.c @@ -414,6 +414,12 @@ short HpiCheckControlCache( } else found = 0; break; + case HPI_CONTROL_MICROPHONE: + if (phm->u.c.wAttribute == HPI_MICROPHONE_PHANTOM_POWER) { + phr->u.c.dwParam1 = pC->u.phantom_power.wState; + } else + found = 0; + break; case HPI_CONTROL_SAMPLECLOCK: if (phm->u.c.wAttribute == HPI_SAMPLECLOCK_SOURCE) phr->u.c.dwParam1 = pC->u.clk.wSource; @@ -562,6 +568,10 @@ void HpiSyncControlCache( pC->u.v.anLog[1] = phr->u.c.anLogValue[1]; } break; + case HPI_CONTROL_MICROPHONE: + if (phm->u.c.wAttribute == HPI_MICROPHONE_PHANTOM_POWER) + pC->u.phantom_power.wState = (u16)phm->u.c.dwParam1; + break; case HPI_CONTROL_AESEBU_TRANSMITTER: if (phr->wError) return;
At Tue, 23 Mar 2010 21:14:20 +1300, linux@audioscience.com wrote:
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Important: alsa-firmware/asihpi should also be updated with contents of http://www.audioscience.com/internet/download/firmware/dspbins40313.zip
asihpi.c + hpi6205.c fix choppy audio playback on busmastering adapters the rest are minor fixes or cosmetic
Eliot Blennerhassett (7): Remove obsolete comment
- const correct pointer parameters. - add a new stream state wait and function
Reinit response size for every msg/response transaction. Minor fix const ptr Bump lib version due to added and removed APIs Use adapter properties for stream buffer constraints. Default to less logging, remove VPRINTK3 Log buffer info in decimal. Keep HPI buffer pointers in sync with ALSA after prewrite. Support mic control caching. Move an enum out of public api.
Thanks for the patches.
But whole series aren't applicable because of wrong patch format. You mixed up the patch subject, the text and sign-offs all together in a single patch subject. Please separate them properly and repost.
Takashi
At Tue, 23 Mar 2010 15:07:04 +0100, I wrote:
At Tue, 23 Mar 2010 21:14:20 +1300, linux@audioscience.com wrote:
From: Eliot Blennerhassett eblennerhassett@audioscience.com
Important: alsa-firmware/asihpi should also be updated with contents of http://www.audioscience.com/internet/download/firmware/dspbins40313.zip
asihpi.c + hpi6205.c fix choppy audio playback on busmastering adapters the rest are minor fixes or cosmetic
Eliot Blennerhassett (7): Remove obsolete comment
- const correct pointer parameters. - add a new stream state wait and function
Reinit response size for every msg/response transaction. Minor fix const ptr Bump lib version due to added and removed APIs Use adapter properties for stream buffer constraints. Default to less logging, remove VPRINTK3 Log buffer info in decimal. Keep HPI buffer pointers in sync with ALSA after prewrite. Support mic control caching. Move an enum out of public api.
Thanks for the patches.
But whole series aren't applicable because of wrong patch format. You mixed up the patch subject, the text and sign-offs all together in a single patch subject. Please separate them properly and repost.
OK, now I committed all your revised patches. Also firmware package is updated, too.
thanks,
Takashi
Takashi Iwai wrote:
OK, now I committed all your revised patches. Also firmware package is updated, too.
Great, thanks.
One last thing, please also remove from firmware/asihpi the files dsp4300.bin and dsp5200.bin
Or I could send you the -185K binary diff that removed them ;) with the following signoff:
Remove obsolete firmware.
Signed-off-by: Eliot Blennerhassett
thanks
participants (3)
-
Eliot Blennerhassett
-
linux@audioscience.com
-
Takashi Iwai