Changeset 548
- Timestamp:
- Mar 16, 2011, 11:54:53 PM (14 years ago)
- Location:
- GPL/branches/uniaud32-2.1.x
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/branches/uniaud32-2.1.x/drv32/idc.c
r493 r548 34 34 #include <irqos2.h> 35 35 #include <stacktoflat.h> 36 #include <dbgos2.h> 36 37 37 38 //16:32 address of 16 bits pdd idc handler … … 39 40 extern "C" int pcm_device; 40 41 WORD32 OSS32IDC(ULONG cmd, PIDC32_PACKET pPacket); 42 extern "C" BOOL fRewired; //pci.c 41 43 42 44 //packet pointer must reference a structure on the stack … … 49 51 ULONG oldfileid; 50 52 OSSRET rc; 53 54 if (fRewired) { 55 fRewired = FALSE; 56 rprintf(("AlsaIDC: Resuming")); 57 OSS32_APMResume(); 58 } 51 59 52 60 //Sets file id in current task structure -
GPL/branches/uniaud32-2.1.x/drv32/irq.cpp
r546 r548 46 46 }; 47 47 48 extern DBGINT DbgInt; 49 48 50 //****************************************************************************** 49 51 BOOL ALSA_SetIrq(ULONG ulIrq, ULONG ulSlotNo, BOOL fShared) … … 64 66 65 67 if (rc != 0) { // If error ... 66 dprintf(("ERROR: RMSetIrq %d %d %x - failed to set shared - trying exclusive!!", ulIrq, fShared, ulSlotNo));68 rprintf(("ERROR: RMSetIrq %d %d %x - failed to set shared - trying exclusive!!", ulIrq, fShared, ulSlotNo)); 67 69 rc = DevIRQSet((WORD16) *pISR[ulSlotNo], 68 70 (WORD16)ulIrq, … … 71 73 72 74 if (rc != 0) { // If error ... 73 dprintf(("ERROR: RMSetIrq %d %d %x FAILED shared and exclusive mode!!", ulIrq, fShared, ulSlotNo));75 rprintf(("ERROR: RMSetIrq %d %d %x FAILED shared and exclusive mode!!", ulIrq, fShared, ulSlotNo)); 74 76 DebugInt3(); 75 77 return FALSE; … … 96 98 sti(); 97 99 if( process_interrupt(ulSlotNo, &ulIrqNo) ) { 100 DbgInt.ulIntServiced[DbgInt.usState]++; 98 101 // We've cleared all service requests. 99 102 // Clear (disable) Interrupts, Send EOI … … 104 107 return TRUE; 105 108 } 109 DbgInt.ulIntUnserviced[DbgInt.usState]++; 106 110 // Indicate Interrupt not serviced by setting carry flag before 107 111 // returning to OS/2 kernel. OS/2 will then shut down the interrupt! -
GPL/branches/uniaud32-2.1.x/drv32/read.cpp
r504 r548 16 16 17 17 } 18 19 extern DBGINT DbgInt; 18 20 19 21 ULONG StratRead(RP __far* _rp) -
GPL/branches/uniaud32-2.1.x/drv32/rmcalls.h
r32 r548 64 64 APIRET CDECL RMDeallocResource(HDRIVER hDriver, HRESOURCE hResource); 65 65 66 APIRET CDECL RMGetNodeInfo(RMHANDLE RMHandle, 66 APIRET CDECL RMModifyResources(HDRIVER hDriver, HADAPTER hAdapter, USHORT ModifyAction, HRESOURCE hResource); 67 68 APIRET CDECL RMGetNodeInfo(RMHANDLE RMHandle, 67 69 FARPTR16 pNodeInfo, 68 70 USHORT BufferSize); 69 71 70 APIRET CDECL RMDevIDToHandleList(RMHANDLE RMHandle, 72 APIRET CDECL RMDevIDToHandleList(RMHANDLE RMHandle, 71 73 DEVID DeviceID, 72 74 DEVID FunctionID, -
GPL/branches/uniaud32-2.1.x/drv32/rmhelp.cpp
r546 r548 40 40 ULONG RMFlags; 41 41 42 static HDRIVER DriverHandle = (HDRIVER)-1; 43 static ULONG ctResHandles = 0; 44 static HRESOURCE arResHandles[MAX_RESHANDLES]; 42 static HDRIVER DriverHandle = (HDRIVER)-1; 43 static HDEVICE DeviceHandle = 0; 44 static HADAPTER AdapterHandle = 0; 45 static ULONG ctResHandles = 0; 46 static HRESOURCE arResHandles[MAX_RESHANDLES]; 45 47 46 48 … … 80 82 rc = RMCreateDriver( FlatToSel((ULONG)&DriverStruct), FlatToSel((ULONG)&hDriver) ); 81 83 82 dprintf(("RMCreateDriver rc = %d\n", rc));83 84 84 if( rc == RMRC_SUCCESS ) DriverHandle = hDriver; 85 dprintf(("RMCreateDriver rc=%d DriverHandle=%x", rc, DriverHandle)); 85 86 } 86 87 … … 113 114 } 114 115 115 dprintf(("RMAllocResource[%d] IO rc = %d \n", ctResHandles, rc));116 dprintf(("RMAllocResource[%d] IO rc = %d", ctResHandles, rc)); 116 117 117 118 return FALSE; … … 141 142 } 142 143 143 dprintf(("RMAllocResource[%d] MEM rc = %d \n", ctResHandles, rc));144 dprintf(("RMAllocResource[%d] MEM rc = %d", ctResHandles, rc)); 144 145 145 146 return rc == 0; … … 152 153 { 153 154 RESOURCESTRUCT Resource; 154 HRESOURCE h res;155 HRESOURCE hRes; 155 156 APIRET rc; 156 157 … … 161 162 162 163 rc = RMAllocResource(DriverHandle, // Handle to driver. 163 FlatToSel((ULONG)&h res), // OUT: "allocated" resource node handle164 FlatToSel((ULONG)&hRes), // OUT: "allocated" resource node handle 164 165 FlatToSel((ULONG)&Resource)); // Resource to allocate. 165 166 167 166 168 if (rc == 0) { 167 if (ctResHandles < MAX_RESHANDLES ) arResHandles[ctResHandles++] = hres; 168 *phRes = hres; 169 *phRes = hRes; 170 if (DeviceHandle) { 171 dprintf(("RMRequestIRQ: DriverHandle=%x DeviceHandle=%x hRes=%x", DriverHandle, DeviceHandle, hRes)); 172 rc = RMModifyResources(DriverHandle, DeviceHandle, RM_MODIFY_ADD, hRes); 173 } else { 174 if (ctResHandles < MAX_RESHANDLES ) arResHandles[ctResHandles++] = hRes; 175 } 169 176 } 170 177 171 dprintf(("RMAllocResource[%d] IRQ rc = %d\n", ctResHandles, rc));178 dprintf(("RMAllocResource[%d] IRQ=%d rc=%d", ctResHandles, ulIrq, rc)); 172 179 173 180 return rc == 0; … … 178 185 BOOL RMDeallocateIRQ(HRESOURCE hRes) 179 186 { 180 ULONG ulI; 181 182 RMDeallocResource(DriverHandle, hRes); 183 184 for (ulI=0; ulI<ctResHandles; ulI++) { 185 if (arResHandles[ulI] == hRes) { 186 arResHandles[ulI] = 0; 187 break; 188 } 189 } 190 191 return 0; 192 } 193 194 195 //****************************************************************************** 196 //****************************************************************************** 197 VOID RMDone(ULONG DevID) 187 APIRET rc; 188 189 dprintf(("RMDeallocateIRQ: DriverHandle=%x DeviceHandle=%x hRes=%x", DriverHandle, DeviceHandle, hRes)); 190 rc = RMModifyResources(DriverHandle, DeviceHandle, RM_MODIFY_DELETE, hRes); 191 192 return rc == 0; 193 } 194 195 196 //****************************************************************************** 197 //****************************************************************************** 198 VOID RMDone(ULONG DevID, PHADAPTER phAdapter, PHDEVICE phDevice) 198 199 { 199 200 APIRET rc; … … 205 206 char szDeviceName[128]; 206 207 char szMixerName[64]; 207 struct 208 { 208 struct { 209 209 ULONG NumResource; 210 210 HRESOURCE hResource[MAX_RESHANDLES]; … … 214 214 215 215 if( DevID && OSS32_QueryNames(OSS32_DEFAULT_DEVICE, 216 217 216 szDeviceName, sizeof(szDeviceName), 217 szMixerName, sizeof(szMixerName), FALSE) == OSSERR_SUCCESS ) 218 218 { 219 219 switch(DevID) { … … 285 285 break; 286 286 */ 287 } 287 } /* switch */ 288 288 289 289 … … 317 317 NULL); // Allocated resources. 318 318 319 dprintf(("RMCreateAdapter rc = %d\n", rc));319 dprintf(("RMCreateAdapter rc=%d", rc)); 320 320 321 321 if( rc == 0 ) 322 322 { 323 if( !szDeviceName[0] ) strcpy(szDeviceName, "Unknown"); 324 325 //NOTE: Assumes szDeviceName is a stack pointer!! 326 memset( (PVOID) &DeviceStruct, 0, sizeof(DeviceStruct) ); 327 DeviceStruct.DevDescriptName = FlatToSel((ULONG)szDeviceName); 328 DeviceStruct.DevFlags = DS_FIXED_LOGICALNAME; 329 DeviceStruct.DevType = DS_TYPE_AUDIO; 330 DeviceStruct.pAdjunctList = NULL; 331 332 rc = RMCreateDevice(DriverHandle, // Handle to driver 323 AdapterHandle = hAdapter; 324 if (phAdapter) *phAdapter = hAdapter; 325 if( !szDeviceName[0] ) strcpy(szDeviceName, "Unknown"); 326 327 //NOTE: Assumes szDeviceName is a stack pointer!! 328 memset( (PVOID) &DeviceStruct, 0, sizeof(DeviceStruct) ); 329 DeviceStruct.DevDescriptName = FlatToSel((ULONG)szDeviceName); 330 DeviceStruct.DevFlags = DS_FIXED_LOGICALNAME; 331 DeviceStruct.DevType = DS_TYPE_AUDIO; 332 DeviceStruct.pAdjunctList = NULL; 333 334 rc = RMCreateDevice(DriverHandle, // Handle to driver 333 335 FlatToSel((ULONG)&hDevice), // (OUT) Handle to device, unused. 334 336 FlatToSel((ULONG)&DeviceStruct), // Device structure … … 336 338 FlatToSel((ULONG)&ahResource)); // Allocated resources 337 339 338 dprintf(("RMCreateDevice rc = %d\n", rc)); 339 340 if( rc == 0 ) 341 { 342 // no resource handles to be freed 343 ctResHandles = 0; return; 344 } 345 346 // !!! Not implemented in startup.asm 347 // RMDestroyAdapter(DriverHandle, hAdapter); 348 } 349 } 350 else dprintf(("No resources allocated !!!\n")); 351 } 340 dprintf(("RMCreateDevice rc=%d", rc)); 341 342 if( rc == 0 ) 343 { 344 DeviceHandle = hDevice; 345 if (phDevice) *phDevice = hDevice; 346 ctResHandles = 0; // no resource handles to be freed 347 dprintf(("RMDone: DriverHandle=%x DeviceHandle=%x", DriverHandle, DeviceHandle)); 348 return; 349 } 350 351 // !!! Not implemented in startup.asm 352 // RMDestroyAdapter(DriverHandle, hAdapter); 353 } /* if rc == 0 */ 354 } /* ctResHandles */ 355 else dprintf(("No resources allocated !!!")); 356 } /* if DevID */ 352 357 353 358 … … 358 363 359 364 360 365 /* DAZ - dirty hack so that resource manager is updated correctly 366 * when using APIC and multiple adapters */ 367 VOID RMSetHandles(HADAPTER hAdapter, HDEVICE hDevice) 368 { 369 AdapterHandle = hAdapter; 370 DeviceHandle = hDevice; 371 } 372 -
GPL/branches/uniaud32-2.1.x/drv32/startup.asm
r493 r548 473 473 ret32 474 474 _RMAllocResource16 endp 475 476 ALIGN 2 477 PUBLIC _RMModifyResourcesOrg 478 _RMModifyResourcesOrg proc far 479 enter16 480 test byte ptr _RMFlags, 01H 481 je short ModifyL1 482 lea eax, [bp+6] 483 push ss 484 push ax 485 push 001bH 486 push cs 487 call near ptr _CallRM 488 mov sp,bp 489 ret16 490 ModifyL1: test byte ptr _RMFlags,02H 491 je short ModifyL2 492 sub ax,ax 493 ret16 494 ModifyL2: mov ax,0001H 495 ret16 496 _RMModifyResourcesOrg endp 497 498 ALIGN 2 499 PUBLIC _RMModifyResources16 500 _RMModifyResources16 proc far 501 enter32 502 xor eax, eax 503 push dword ptr [bp+22] 504 push word ptr [bp+18] 505 push dword ptr [bp+14] 506 push dword ptr [bp+10] 507 call _RMModifyResourcesOrg 508 add sp, 14 509 ret32 510 _RMModifyResources16 endp 475 511 476 512 ALIGN 2 … … 1398 1434 ;******************************************************************************* 1399 1435 public _RMAllocResource 1436 public _RMModifyResources 1400 1437 public _RMDeallocResource 1401 1438 public _RMCreateDevice … … 1420 1457 retKEERM 1421 1458 _RMAllocResource endp 1459 1460 ALIGN 4 1461 _RMModifyResources proc near 1462 enterKEERM 1463 xor eax, eax 1464 push dword ptr [edi+20] 1465 push dword ptr [edi+16] 1466 push dword ptr [edi+12] 1467 push dword ptr [edi+8] 1468 call fword ptr RMModifyResources1632 1469 add sp, 16 1470 retKEERM 1471 _RMModifyResources endp 1422 1472 1423 1473 ALIGN 4 … … 1531 1581 public _MSG_TABLE32 1532 1582 public RMAllocResource1632 1583 public RMModifyResources1632 1533 1584 public RMDeallocResource1632 1534 1585 public RMCreateDevice1632 … … 1592 1643 RMAllocResource1632 dd OFFSET CODE16:_RMAllocResource16 1593 1644 dw SEG CODE16:_RMAllocResource16 1645 dw 0 1646 RMModifyResources1632 dd OFFSET CODE16:_RMModifyResources16 1647 dw SEG CODE16:_RMModifyResources16 1594 1648 dw 0 1595 1649 RMDeallocResource1632 dd OFFSET CODE16:_RMDeallocResource16 -
GPL/branches/uniaud32-2.1.x/drv32/strategy.c
r546 r548 33 33 #include <ossidc32.h> 34 34 #include <dbgos2.h> 35 #include <string.h> 35 36 36 37 ULONG StratRead(RP __far *_rp); … … 41 42 ULONG deviceOwner = DEV_NO_OWNER; 42 43 ULONG numOS2Opens = 0; 44 extern "C" BOOL fRewired; //pci.c 45 46 DBGINT DbgInt; 43 47 44 48 //****************************************************************************** … … 67 71 ULONG rc; 68 72 73 memset(&DbgInt, 0, sizeof(DbgInt)); 74 69 75 RPInit __far* rp = (RPInit __far*)_rp; 70 76 rc = DiscardableInit(rp); 71 77 //dprintf(("StratInit End rc=%d", rc)); 78 DbgInt.usState = 1; 72 79 return rc; 73 80 } … … 82 89 #pragma on (unreferenced) 83 90 { 91 DbgInt.usState = 2; 84 92 #ifdef ACPI 85 93 PciAdjustInterrupts(); 86 94 #endif 95 rprintf(("StratInitComplete: Init=%ld/%ld Between=%ld/%ld Complete=%ld/%ld", 96 DbgInt.ulIntServiced[0], DbgInt.ulIntUnserviced[0], 97 DbgInt.ulIntServiced[1], DbgInt.ulIntUnserviced[1], 98 DbgInt.ulIntServiced[2], DbgInt.ulIntUnserviced[2])); 87 99 //dprintf(("StratInitComplete")); 88 100 return(RPDONE); … … 160 172 ULONG Strategy(RP __far* rp) 161 173 { 162 if (rp->Command < sizeof(StratDispatch)/sizeof(StratDispatch[0])) 174 if (fRewired) { 175 fRewired = FALSE; 176 rprintf(("Strategy: Resuming")); 177 OSS32_APMResume(); 178 } 179 180 if (rp->Command < sizeof(StratDispatch)/sizeof(StratDispatch[0])) 163 181 return(StratDispatch[rp->Command](rp)); 164 elsereturn(RPERR_COMMAND | RPDONE);182 else return(RPERR_COMMAND | RPDONE); 165 183 } 166 184 //****************************************************************************** -
GPL/branches/uniaud32-2.1.x/include/dbgos2.h
r523 r548 25 25 #ifndef __COMMDBG_H__ 26 26 #define __COMMDBG_H__ 27 28 typedef struct { 29 unsigned short usState; 30 unsigned long ulIntServiced[4]; 31 unsigned long ulIntUnserviced[4]; 32 } DBGINT; 27 33 28 34 #ifdef __cplusplus -
GPL/branches/uniaud32-2.1.x/include/linux/pci.h
r519 r548 374 374 int (*deactivate)(struct pci_dev *dev); 375 375 #ifdef TARGET_OS2 376 void *pcidriver; 376 unsigned int picirq; 377 unsigned int apicirq; 378 unsigned long hAdapter; 379 unsigned long hDevice; 380 void *pcidriver; 377 381 #endif 378 382 }; -
GPL/branches/uniaud32-2.1.x/include/osspci.h
r546 r548 35 35 BOOL RMRequestIRQ(ULONG ulIrq, BOOL fShared, ULONG *phRes); 36 36 BOOL RMDeallocateIRQ(ULONG hRes); 37 VOID RMDone(ULONG DevID); 37 VOID RMDone(ULONG DevID, ULONG *phAdapter, ULONG *phDevice); 38 VOID RMSetHandles(ULONG hAdapter, ULONG hDevice); 38 39 39 40 #ifdef __cplusplus -
GPL/branches/uniaud32-2.1.x/lib32/irq.c
r546 r548 73 73 ULONG hRes; 74 74 75 dprintf(("request_irq: Enter forirq %d", irq & 0xff ));75 rprintf(("request_irq: irq %d", irq & 0xff )); 76 76 if ( !pSlot ) { 77 77 // find empty slot … … 127 127 pSlot->flHandlers &= ~(1 << u); 128 128 if( pSlot->flHandlers == 0 ) { 129 dprintf(("free_irq: irq %d", irq & 0xff ));129 rprintf(("free_irq: irq %d", irq & 0xff )); 130 130 ALSA_FreeIrq(pSlot->irqNo); 131 131 pSlot->irqNo = 0; … … 177 177 //Don't pass it to the linux handler as the device doesn't respond as expected 178 178 //when suspended 179 dprintf(("Slot %d IRQ %d suspended",ulSlotNo, *pulIrq));179 rprintf(("Slot %d IRQ %d suspended",ulSlotNo, *pulIrq)); 180 180 return FALSE; 181 181 } -
GPL/branches/uniaud32-2.1.x/lib32/ossidc.cpp
r536 r548 113 113 return OSSERR_INIT_FAILED; 114 114 } 115 dprintf(("OSS32_Initialize .Start address: %X", OffsetBeginCS32));115 dprintf(("OSS32_Initialize: Start address: %X", OffsetBeginCS32)); 116 116 117 117 if(call_module_init(alsa_sound_init) != 0) return OSSERR_INIT_FAILED; 118 dprintf(("OSS32_Initialize1 .Start address: %X", OffsetBeginCS32));118 dprintf(("OSS32_Initialize1: Start address: %X", OffsetBeginCS32)); 119 119 if(call_module_init(alsa_pcm_init) != 0) return OSSERR_INIT_FAILED; 120 120 if(call_module_init(alsa_hwdep_init) != 0) return OSSERR_INIT_FAILED; … … 164 164 return OSSERR_SUCCESS; 165 165 } 166 rprintf(("OSS32_Initialize .FAILED"));166 rprintf(("OSS32_Initialize: FAILED")); 167 167 return OSSERR_INIT_FAILED; 168 168 } -
GPL/branches/uniaud32-2.1.x/lib32/pci.c
r546 r548 48 48 49 49 BOOL fSuspended = FALSE; 50 BOOL fRewired = FALSE; 50 51 extern int nrCardsDetected; 51 52 … … 248 249 "Uniaud32"); // Name for acpi log 249 250 if (!rc) { 250 // Check APIC IRQ, if we have /SMP /APIC, must be set 251 if (ApicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (ApicIRQ & 0xff); 252 else if (PicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (PicIRQ & 0xff); 251 if (PicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (PicIRQ & 0xff); // Choose Pic interrupt for init time processing 252 else if (ApicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (ApicIRQ & 0xff); 253 253 rprintf(("pci_query_device: IRQs ACPI PIC=%ld APIC=%ld chosen=%d", PicIRQ, ApicIRQ, ulTmp1&0xff)); 254 pcidev->picirq = PicIRQ; // Save the Pic and 255 pcidev->apicirq = ApicIRQ; // Save the Apic interrupt for switching later 254 256 } 255 257 #endif /* ACPI */ … … 257 259 pcidev->irq_resource[0].flags = IORESOURCE_IRQ; 258 260 pcidev->irq_resource[0].start = pcidev->irq_resource[0].end = ulTmp1 & 0xffff; 259 pcidev->irq = (u8)ulTmp1; 261 pcidev->irq = (u8)ulTmp1; // This is the interrupt used for init time processing 260 262 } 261 263 … … 502 504 503 505 // create adapter 504 RMDone((pcidev->device << 16) | pcidev->vendor );506 RMDone((pcidev->device << 16) | pcidev->vendor, &pcidev->hAdapter, &pcidev->hDevice); 505 507 iNumCards++; 506 508 … … 516 518 } 517 519 518 RMDone(0 );520 RMDone(0, 0, 0); 519 521 } 520 522 } … … 938 940 if(pci_devices[i].devfn) 939 941 { 942 RMSetHandles(pci_devices[i].hAdapter, pci_devices[i].hDevice); /* DAZ - dirty hack */ 940 943 driver = pci_devices[i].pcidriver; 941 944 if(driver && driver->resume) { … … 962 965 if(pci_devices[i].devfn) 963 966 { 967 RMSetHandles(pci_devices[i].hAdapter, pci_devices[i].hDevice); /* DAZ - dirty hack */ 964 968 driver = pci_devices[i].pcidriver; 965 969 if(driver && driver->suspend) { … … 977 981 struct pci_dev *pcidev; 978 982 struct pci_driver *driver; 979 ULONG PicIRQ, ApicIRQ,ulTmp1, rc;983 ULONG ulTmp1, rc; 980 984 981 985 for (i=0; i<MAX_PCI_DEVICES; i++) { 982 986 if (!pci_devices[i].devfn) continue; 983 987 pcidev = &pci_devices[i]; 984 rc = ACPIFindPCIDevice( pcidev->bus->number, // Bus 985 PCI_SLOT(pcidev->devfn), // Dev 986 PCI_FUNC(pcidev->devfn), // Function 987 &PicIRQ, // PIC IRQ 988 &ApicIRQ, // APIC IRQ 989 NULL, // ACPI handle to finding device 990 "Uniaud32"); // Name for acpi log 991 if (!rc) { 992 ulTmp1 = 0; 993 // Check APIC IRQ, if we have /SMP /APIC, must be set 994 if (ApicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (ApicIRQ & 0xff); 995 else if (PicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (PicIRQ & 0xff); 996 rprintf(("PciAdjustInterrupts: IRQs ACPI PIC=%ld APIC=%ld was=%d chosen=%ld", PicIRQ, ApicIRQ, pcidev->irq, ulTmp1)); 997 if( (u8)ulTmp1 && ((u8)ulTmp1 != 0xff) && ((u8)ulTmp1 != pcidev->irq) ) { 998 driver = pcidev->pcidriver; 999 if(driver && driver->suspend) driver->suspend(pcidev, SNDRV_CTL_POWER_D0); 1000 1001 pcidev->irq_resource[0].flags = IORESOURCE_IRQ; 1002 pcidev->irq_resource[0].start = pcidev->irq_resource[0].end = ulTmp1 & 0xffff; 1003 pcidev->irq = (u8)ulTmp1; 1004 1005 if(driver && driver->resume) driver->resume(pcidev); 1006 } 988 ulTmp1 = pcidev->irq; 989 if (pcidev->apicirq) ulTmp1 = pcidev->apicirq; 990 else if (pcidev->picirq) ulTmp1 = pcidev->picirq; 991 rprintf(("PciAdjustInterrupts: IRQs ACPI PIC=%ld APIC=%ld was=%d chosen=%ld", pcidev->picirq, pcidev->apicirq, pcidev->irq, ulTmp1)); 992 if( (u8)ulTmp1 && ((u8)ulTmp1 != 0xff) && ((u8)ulTmp1 != pcidev->irq) ) { 993 RMSetHandles(pcidev->hAdapter, pcidev->hDevice); /* DAZ - dirty hack */ 994 driver = pcidev->pcidriver; 995 if(driver && driver->suspend) driver->suspend(pcidev, SNDRV_CTL_POWER_D0); 996 fSuspended = TRUE; 997 998 pcidev->irq_resource[0].flags = IORESOURCE_IRQ; 999 pcidev->irq_resource[0].start = pcidev->irq_resource[0].end = ulTmp1 & 0xffff; 1000 pcidev->irq = (u8)ulTmp1; 1001 1002 fRewired = TRUE; 1003 // if(driver && driver->resume) driver->resume(pcidev); 1007 1004 } 1008 1005 } /* for loop */ -
GPL/branches/uniaud32-2.1.x/uniaud.inc
r546 r548 7 7 # BUILDVERSION must be 3 parts, and only numbers like 5.44.108 8 8 # It is best that 2'nd number is always 2 digits, eg at least 10 9 BUILDVERSION = 2.1. 29 BUILDVERSION = 2.1.3 10 10 11 11 # Fixpack version … … 13 13 # ex RC3 GA FIXPACK2 beta_47 14 14 # Comment out to avoid a fixpack line in bldlevel 15 FIXPACK = BETA SVNr54 615 FIXPACK = BETA SVNr548 16 16 17 17 # ALSA BUILD VERSION
Note:
See TracChangeset
for help on using the changeset viewer.