Author: janderwald Date: Tue Jan 27 11:54:46 2009 New Revision: 39143
URL: http://svn.reactos.org/svn/reactos?rev=39143&view=rev Log: - Fix registered guids for IPortMidi - Fix InterfaceGuids array in IPortTopology - Add a hack to prevent es1371 driver from crashing
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/dma_slave.c trunk/reactos/drivers/wdm/audio/backpln/portcls/port_midi.c trunk/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/dma_slave.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/p... ============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/dma_slave.c [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/dma_slave.c [iso-8859-1] Tue Jan 27 11:54:46 2009 @@ -116,7 +116,7 @@ //FIXME // retry with different size on failure
- This->Buffer = This->pAdapter->DmaOperations->AllocateCommonBuffer(This->pAdapter, BufferSize, &This->Address, TRUE); + This->Buffer = This->pAdapter->DmaOperations->AllocateCommonBuffer(This->pAdapter, BufferSize, &This->Address, FALSE); if (!This->Buffer) { DPRINT1("IDmaChannelSlave_AllocateBuffer fAllocateCommonBuffer failed \n"); @@ -125,7 +125,7 @@
This->BufferSize = BufferSize; This->AllocatedBufferSize = BufferSize; - DPRINT1("IDmaChannelSlave_fnAllocateBuffer Success Buffer %u Address %ull\n", BufferSize, This->Address); + DPRINT1("IDmaChannelSlave_fnAllocateBuffer Success Buffer %u Address %x %p\n", BufferSize, This->Address, PhysicalAddressConstraint);
return STATUS_SUCCESS; } @@ -226,10 +226,19 @@ IDmaChannelSlave_fnPhysicalAdress( IN IDmaChannelSlave * iface) { - IDmaChannelSlaveImpl * This = (IDmaChannelSlaveImpl*)iface; - - DPRINT("IDmaChannelSlave_PhysicalAdress: This %p\n", This); - return This->Address; + PHYSICAL_ADDRESS Address; + IDmaChannelSlaveImpl * This = (IDmaChannelSlaveImpl*)iface; + DPRINT("IDmaChannelSlave_PhysicalAdress: This %p Virtuell %p Physical High %x Low %x%\n", This, This->Buffer, This->Address.HighPart, This->Address.LowPart); + +#if 1 + + /// HACK + /// Prevent ES1371 driver from crashing by returning the vaddr instead of physical address + Address.QuadPart = (ULONG_PTR)This->Buffer; +#else + Address.QuadPart = This->Address.QuadPart; +#endif + return Address; }
VOID
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/port_midi.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/p... ============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/port_midi.c [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/port_midi.c [iso-8859-1] Tue Jan 27 11:54:46 2009 @@ -18,16 +18,19 @@ PSUBDEVICE_DESCRIPTOR SubDeviceDescriptor; }IPortMidiImpl;
- static GUID InterfaceGuids[3] = { - { - /// KS_CATEGORY_TOPOLOGY - 0xDDA54A40, 0x1E4C, 0x11D1, {0xA0, 0x50, 0x40, 0x57, 0x05, 0xC1, 0x00, 0x00} - }, { /// KS_CATEGORY_AUDIO 0x6994AD04, 0x93EF, 0x11D0, {0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} + }, + { + /// KS_CATEGORY_RENDER + 0x65E8773E, 0x8F56, 0x11D0, {0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} + }, + { + /// KS_CATEGORY_CAPTURE + 0x65E8773D, 0x8F56, 0x11D0, {0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96} } };
@@ -64,6 +67,11 @@ else if (IsEqualGUIDAligned(refiid, &IID_IPortClsVersion)) { return NewPortClsVersion((PPORTCLSVERSION*)Output); + } + else if (IsEqualGUIDAligned(refiid, &IID_IDrmPort) || + IsEqualGUIDAligned(refiid, &IID_IDrmPort2)) + { + return NewIDrmPort((PDRMPORT2*)Output); }
StringFromCLSID(refiid, Buffer); @@ -190,7 +198,7 @@
/* create the subdevice descriptor */ Status = PcCreateSubdeviceDescriptor(&This->SubDeviceDescriptor, - 2, + 3, InterfaceGuids, 0, NULL,
Modified: trunk/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/wdm/audio/backpln/p... ============================================================================== --- trunk/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c [iso-8859-1] (original) +++ trunk/reactos/drivers/wdm/audio/backpln/portcls/port_topology.c [iso-8859-1] Tue Jan 27 11:54:46 2009 @@ -18,7 +18,7 @@ }IPortTopologyImpl;
-static GUID InterfaceGuids[3] = +static GUID InterfaceGuids[2] = { { /// KS_CATEGORY_TOPOLOGY