⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmman.c

📁 wince host 和 target PCI驱动程序
💻 C
📖 第 1 页 / 共 2 页
字号:
	Version->Major = ReturnedVersion.Major;
	Version->Minor = ReturnedVersion.Minor;
	Version->Build = ReturnedVersion.Build;
	return Status;
}

UInt32		tmmanDSPGetNum ( void )
{
	return  1; /*HARDCODED */
}

TMStatus  tmmanDSPGetInfo ( 
	UInt32 DSPHandle, 
	tmmanDSPInfo* DSPInfo )
{
	TMManObject* TMMan = (TMManObject*)DSPHandle;
	UInt32		Dummy;

	halGetMMIOInfo (
		TMMan->HalHandle,
		(Pointer*)&DSPInfo->MMIO.PhysicalAddress,
		(Pointer*)&DSPInfo->MMIO.MappedAddress,
		&DSPInfo->MMIO.Size );

	halGetSDRAMInfo (
		TMMan->HalHandle,
		(Pointer*)&DSPInfo->SDRAM.PhysicalAddress,
		(Pointer*)&DSPInfo->SDRAM.MappedAddress,
		&DSPInfo->SDRAM.Size );

	halGetTMPCIInfo ( 
		TMMan->HalHandle,
		&DSPInfo->TMDeviceVendorID,
		&DSPInfo->TMSubSystemID,
		&DSPInfo->TMClassRevisionID );

	halGetBridgePCIInfo ( 
		TMMan->HalHandle,
		&DSPInfo->BridgeDeviceVendorID,
		&DSPInfo->BridgeSubsystemID,
		&DSPInfo->BridgeClassRevisionID );
	
	DSPInfo->DSPNumber = 0;

	return statusSuccess;
}
/* DSP FUNCTIONS */
TMStatus  tmmanDSPGetStatus ( 
	UInt32 DSPHandle, 
	UInt32* StatusFlags )
{
	*StatusFlags = constTMManDSPStatusRunning;
	return statusSuccess;
}


TMStatus  tmmanDSPMapSDRAM ( 
	UInt32 DSPHandle )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus  tmmanDSPUnmapSDRAM ( 
	UInt32 DSPHandle )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus  tmmanDSPGetEndianess ( 
	UInt32 DSPHandle, 
	UInt32* EndianessFlags )
{
	return statusUnsupportedOnThisPlatform;
}

	
TMStatus  tmmanDSPOpen ( 
	UInt32 DSPNumber, 
	UInt32* DSPHandlePointer )
{
	if ( DSPNumber > 0 )
	{
		return statusDSPNumberOutofRange;
	}
	*DSPHandlePointer = (UInt32)&TMManArray[DSPNumber];
	return statusSuccess;
}

TMStatus  tmmanDSPClose ( 
	UInt32 DSPHandle )
{
	return statusSuccess;
}

TMStatus  tmmanDSPLoad ( 
	UInt32 DSPHandle, 
	UInt32 LoadAddress,
	Int8* ImagePath )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus  tmmanDSPStart ( 
	UInt32 DSPHandle )
{
	return statusUnsupportedOnThisPlatform;
}


TMStatus  tmmanDSPStop ( 
	UInt32 DSPHandle )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus  tmmanDSPReset ( 
	UInt32 DSPHandle )
{
	return statusUnsupportedOnThisPlatform;
}



UInt32	tmmanMappedToPhysical ( 
	tmmanMemoryBlock* MemoryBlock, 
	UInt32 MappedAddress )
{
	return MappedAddress;
}

UInt32	tmmanPhysicalToMapped ( 
	tmmanMemoryBlock* MemoryBlock, 
	UInt32 PhysicalAddress )
{
	return PhysicalAddress;
}


Bool    tmmanValidateAddressAndLength ( 
	tmmanMemoryBlock* MemoryBlock, 
	UInt32 Address, 
	UInt32 Length )
{

    /* assumes that MMIO and SDRAM are not contigious. */
    if ( ( Address >= MemoryBlock->PhysicalAddress ) &&
        ( Address < (MemoryBlock->PhysicalAddress + MemoryBlock->Size - 1) ) )
    {
        if ( ( Address + Length ) <=
            (MemoryBlock->PhysicalAddress + MemoryBlock->Size - 1))
            return True;
        else
            return False;
    }
    return False;
}


TMStatus  tmmanMessageCreate ( 
	UInt32	DSPHandle,
	Int8*	Name,
	UInt32	SynchronizationHandle,
	UInt32	SynchronizationFlags,
	UInt32* MessageHandlePointer )
{
	TMManObject* TMMan = (TMManObject*)DSPHandle;

	return messageCreate ( 
		TMMan->MessageManagerHandle,
		Null, /* client listhead struct */
		Name,
		SynchronizationHandle,
		SynchronizationFlags,
		MessageHandlePointer );
}

TMStatus  tmmanMessageDestroy ( 
	UInt32 MessageHandle )
{
	return	messageDestroy (
		MessageHandle );
}

TMStatus  tmmanMessageSend ( 
	UInt32 MessageHandle, 
	void *DataPointer )
{
	return messageSend (
		MessageHandle,
		DataPointer );
}

TMStatus  tmmanMessageReceive ( 
	UInt32 MessageHandle, 
	void *DataPointer )
{
	return messageReceive ( 
		MessageHandle,
		DataPointer );
}

TMStatus	tmmanEventCreate (
	UInt32	DSPHandle,						
	Int8*	Name,
	UInt32	SynchronizationHandle,
	UInt32	SynchronizationFlags,
	UInt32* EventHandlePointer )
{
	TMManObject* TMMan = (TMManObject*)DSPHandle;

	return eventCreate (
		TMMan->EventManagerHandle,						
		Null, 
		Name,
		SynchronizationHandle,
		SynchronizationFlags,
		EventHandlePointer );
}

TMStatus	tmmanEventSignal (
	UInt32 EventHandle )
{
	return eventSignal (
		EventHandle );
}

TMStatus	tmmanEventDestroy (
	UInt32 EventHandle )
{
	return eventDestroy (
		EventHandle );
}

TMStatus  tmmanSharedMemoryCreate ( 
	UInt32	DSPHandle, 
	Int8*	Name,
	UInt32	Length,
	UInt32*	AddressPointer,
	UInt32* SharedMemoryHandlePointer )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus  tmmanSharedMemoryDestroy ( 
	UInt32	SharedMemoryHandle )
{
	return statusUnsupportedOnThisPlatform;
}


TMStatus  tmmanSharedMemoryOpen ( 
	UInt32 DSPHandle, 
	Int8*	Name,
	UInt32* LengthPtr,
	UInt32*	AddressPointer,
	UInt32*	SharedMemoryHandlePointer )
{
	TMManObject* TMMan = (TMManObject*)DSPHandle;

	return memoryOpen ( 
		TMMan->MemoryManagerHandle, 
		Null, /* client listhead struct */
		Name,
		LengthPtr,
		(Pointer*)AddressPointer,
		SharedMemoryHandlePointer );
}

TMStatus  tmmanSharedMemoryClose (
	UInt32	SharedMemoryHandle )
{
	return memoryClose (
		SharedMemoryHandle );
}

TMStatus  tmmanSGBufferCreate ( 
	UInt32	DSPHandle, 
	Int8*	Name,
	UInt32	MappedAddress,
	UInt32	Size,
	UInt32	Flags,
	UInt32* BufferHandlePointer )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus  tmmanSGBufferDestroy ( 
	UInt32	BufferHandle )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus  tmmanSGBufferOpen ( 
	UInt32	DSPHandle, 
	Int8*	Name,
	UInt32*	EntryCountPointer,
	UInt32* SizePointer,
	UInt32* BufferHandlePointer )
{
	TMManObject* TMMan = (TMManObject*)DSPHandle;

	return sgbufferOpen ( 
		TMMan->SGBufferManagerHandle, 
		Null,
		Name,
		EntryCountPointer,
		SizePointer,
		BufferHandlePointer );
}

TMStatus  tmmanSGBufferClose ( 
	UInt32 BufferHandle )
{
	return sgbufferClose (
		BufferHandle );
}

TMStatus	tmmanSGBufferFirstBlock ( 
	UInt32	BufferHandle,
	UInt32* OffsetPointer, 
	UInt32* AddressPointer, 
	UInt32* SizePointer )
{
	return sgbufferFirstBlock ( 
		BufferHandle,
		OffsetPointer, 
		AddressPointer, 
		SizePointer );
}

TMStatus	tmmanSGBufferNextBlock ( 
	UInt32	BufferHandle,
	UInt32* OffsetPointer, 
	UInt32* AddressPointer, 
	UInt32* SizePointer )
{
	return sgbufferNextBlock ( 
		BufferHandle,
		OffsetPointer, 
		AddressPointer, 
		SizePointer );
}

TMStatus	tmmanSGBufferCopy ( 
	UInt32	BufferHandle,
	UInt32	Offset,
	UInt32	Address, 
	UInt32	Size, 
	UInt32	Direction )
{
	return sgbufferCopy ( 
		BufferHandle,
		Offset,
		Address, 
		Size, 
		Direction );
}

TMStatus	tmmanDebugOptions (
	UInt32	DSPHandle, 
	UInt32	Option )
{
	debugLevel ( Option );
	return statusSuccess;
}


TMStatus	tmmanDebugDPBuffers (
	UInt32	DSPHandle, 
	UInt8*	*FirstHalfPtr, 
	UInt32*	FirstHalfSizePtr, 
	UInt8*	*SecondHalfPtr, 
	UInt32*	SecondHalfSizePtr )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus	tmmanDebugHostBuffers (
	UInt8*	*FirstHalfPtr, 
	UInt32*	FirstHalfSizePtr, 
	UInt8*	*SecondHalfPtr, 
	UInt32*	SecondHalfSizePtr )
{
	return statusUnsupportedOnThisPlatform;
}

TMStatus	tmmanDebugTargetBuffers (
 	UInt32	DSPHandle, 
	UInt8*	*FirstHalfPtr, 
	UInt32*	FirstHalfSizePtr, 
	UInt8*	*SecondHalfPtr, 
	UInt32*	SecondHalfSizePtr )
{
	return statusUnsupportedOnThisPlatform;
}

UInt32 tmmanDebugPrintf ( 
	Int8 *Format, ... )
{
    UInt32  Items;
    Int8   Buffer[constTMManDebugStringLength];

    va_list Arguments;

    va_start ( Arguments, Format );

    Items = vsprintf ( (Int8*) Buffer,  Format, Arguments );

    va_end ( Arguments );

    DPF(31,((Int8*)Buffer));

    return Items;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -