Changeset 546 for GPL/branches/uniaud32-2.1.x/drv32/irq.cpp
- Timestamp:
- Mar 3, 2011, 8:59:04 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/branches/uniaud32-2.1.x/drv32/irq.cpp
r519 r546 47 47 48 48 //****************************************************************************** 49 #ifdef ACPI50 //PS+++ fix description51 // Problem is in open high IRQ (acpi.psd /SMP /APIC) at boot time.52 // In my case - this IRQ use SATA and we have flood IRQ. This flood do53 // MASK this IRQ from kernel. Next danis506.add has very slow read from54 // disk.55 // How to fix.56 // At boot time (from DevInit to DevInitComplete) we use low IRQ. In57 // DevInitComplete we close low IRQ and open high IRQ. All values for58 // IRQ we are getting from ACPI call.59 60 //PS+++ Array with saving IRQ number61 #ifdef __cplusplus62 extern "C" {63 #endif64 struct SaveIRQForSlot65 {66 ULONG ulSlotNo;67 BYTE LowIRQ;68 BYTE HighIRQ;69 BYTE Pin;70 } sISRHigh[8]; //FIX me to MAX_DEVICES or same71 72 int SaveIRQCounter = 0; //PS+++ current position in array73 extern ULONG InitCompleteWas; //PS+++ Indication of InitComplete call74 #ifdef __cplusplus75 }76 #endif77 78 #endif //ACPI79 //******************************************************************************80 49 BOOL ALSA_SetIrq(ULONG ulIrq, ULONG ulSlotNo, BOOL fShared) 81 50 { … … 106 75 return FALSE; 107 76 } 108 109 //PS+++ Begin110 #ifdef ACPI111 if (InitCompleteWas == 0)112 {113 dprintf(("RMSetIrq saved %d %d %x was %d", (ULONG)ulIrq, ulSlotNo,(ULONG)sISRHigh[SaveIRQCounter].LowIRQ));114 sISRHigh[SaveIRQCounter].ulSlotNo = ulSlotNo;115 ulIrq = sISRHigh[SaveIRQCounter].LowIRQ;116 SaveIRQCounter++;117 }118 119 #endif120 //PS End121 77 122 78 return TRUE;
Note:
See TracChangeset
for help on using the changeset viewer.