Changeset 580 for GPL/branches/DAZ/lib32
- Timestamp:
- Jul 9, 2014, 9:59:13 PM (11 years ago)
- Location:
- GPL/branches/DAZ/lib32
- Files:
-
- 1 edited
- 1 moved
-
Makefile (moved) (moved from GPL/branches/DAZ/lib32/makefile.os2 ) (5 diffs)
-
pci.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
GPL/branches/DAZ/lib32/Makefile
r579 r580 1 CINCLUDES = ..\include;..\runtime;..\alsa-kernel\include;$(%WATCOM)\H;$(%WATCOM)\H\OS2; 2 AINCLUDES = $(DDK_BASE)\H 1 !ifndef %ROOT 2 !error ROOT is not defined. Please check your SETENV.CMD. 3 !endif 4 ROOT=$(%ROOT) 5 6 !include $(ROOT)\tools\header.mif 7 8 CINCLUDES = ..\include;..\runtime;..\alsa-kernel\include;$(WATCOM)\H;$(WATCOM)\H\OS2; 9 AINCLUDES = $(DDK)\base\H 3 10 4 11 CDEFINES = -D__KERNEL__ -DMODULE -dTARGET_OS2 -dALSA_BUILD -D__ISAPNP__ -DCONFIG_ISAPNP -D__i386_ … … 8 15 !endif 9 16 10 32BIT=111 !include ..\makefile.inc12 13 14 17 #=================================================================== 15 18 # … … 17 20 # 18 21 #=================================================================== 19 FILE 1 = spinlock.obj malloc.obj pci.obj irq.obj ioctl.obj20 FILE2 = memory.obj debug.obj sound.obj soundmixer.obj soundmidi.obj 21 #FILE3 = ossidc.obj semaphore.obj waitqueue.obj misc.obj fminstrload.obj 22 FILE3 = ossidc.obj semaphore.obj waitqueue.obj misc.obj 23 FILE4 = strncpy.obj task.obj 24 FILE5 = strncmp.obj timer.obj25 FILE6 = instropl2.obj instropl3.obj vsprintf.obj22 FILES = spinlock.obj malloc.obj pci.obj irq.obj ioctl.obj & 23 memory.obj debug.obj sound.obj soundmixer.obj soundmidi.obj & 24 ossidc.obj semaphore.obj waitqueue.obj misc.obj & 25 strncpy.obj task.obj & 26 strncmp.obj timer.obj & 27 instropl2.obj instropl3.obj vsprintf.obj 28 # ossidc.obj semaphore.obj waitqueue.obj misc.obj fminstrload.obj 26 29 !if $(KEE) == 0 27 FILE7 = stack.obj 28 !else 29 FILE7 = 30 FILES += stack.obj 30 31 !endif 31 FILE8 =32 FILELAST =33 FILES = $(FILE0) $(FILE1) $(FILE2) $(FILE3) $(FILE4) $(FILE5) $(FILE6) $(FILE7) $(FILE8) $(FILE9)34 32 35 TARGET = linuxlib33 TARGET = linuxlib 36 34 37 LNKFILE = $(OBJDIR)\$(TARGET).lnk 38 35 LNKFILE = $(OBJDIR)\$(TARGET).lnk 39 36 40 37 #=================================================================== … … 46 43 47 44 48 $(LNKFILE): makefile.os245 $(LNKFILE): Makefile 49 46 @%create $(LNKFILE) 50 47 @for %f in ($(FILES)) do @%append $(LNKFILE) -+$(OBJDIR)\%f … … 57 54 clean: .SYMBOLIC 58 55 -@rm *.err 59 @ cd $(OBJDIR)60 -rm *.obj *.lnk *.sys *.sym *.lst *.map *.wmap *.lib61 @cd ../.. 56 @if exist obj @rm.exe -r obj 57 @if exist bin @rm.exe -r bin 58 -
GPL/branches/DAZ/lib32/pci.c
r577 r580 55 55 #define PCI_CONFIG_DATA 0xCFC 56 56 57 #ifdef ACPI58 APIRET APIENTRY ACPIFindPCIDevice(ULONG Bus, ULONG Dev, ULONG Fun, ULONG *PicIRQ, ULONG *ApicIRQ, ULONG *Hdl, char *Component);59 #endif60 61 57 //****************************************************************************** 62 58 #define CONFIG_CMD(dev, where) \ … … 140 136 int resNo, addr; 141 137 u32 devNr, busNr, funcNr, detectedId, cfgaddrreg, ulPciAdr, ulTmp1, ulTmp2; 142 #ifdef ACPI143 APIRET rc;144 ULONG PicIRQ, ApicIRQ;145 #endif146 138 u8 headerType; 147 139 … … 239 231 pci_read_config_dword(pcidev, PCI_INTERRUPT_LINE, &ulTmp1); 240 232 rprintf(("pci_query_device: PCI config IRQ=%d", ulTmp1&0xff)); 241 #ifdef ACPI242 rc = ACPIFindPCIDevice( (ULONG)busNr, // Bus243 (ULONG)devNr, // Dev244 (ULONG)(pcidev->devfn >> 8) & 7, // Function245 &PicIRQ, // PIC IRQ246 &ApicIRQ, // APIC IRQ247 NULL, // ACPI handle to finding device248 "Uniaud32"); // Name for acpi log249 if (!rc) {250 if (PicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (PicIRQ & 0xff); // Choose Pic interrupt for init time processing251 else if (ApicIRQ) ulTmp1 = (ulTmp1 & (~0xff)) | (ApicIRQ & 0xff);252 rprintf(("pci_query_device: IRQs ACPI PIC=%ld APIC=%ld chosen=%d", PicIRQ, ApicIRQ, ulTmp1&0xff));253 pcidev->picirq = PicIRQ; // Save the Pic and254 pcidev->apicirq = ApicIRQ; // Save the Apic interrupt for switching later255 }256 #endif /* ACPI */257 233 if( (u8)ulTmp1 && (u8)ulTmp1 != 0xff ) { 258 234 pcidev->irq_resource[0].flags = IORESOURCE_IRQ; … … 972 948 } 973 949 974 #ifdef ACPI975 void PciAdjustInterrupts() {976 int i;977 struct pci_dev *pcidev;978 struct pci_driver *driver;979 ULONG ulTmp1, rc;980 981 for (i=0; i<MAX_PCI_DEVICES; i++) {982 if (!pci_devices[i].devfn) continue;983 pcidev = &pci_devices[i];984 ulTmp1 = pcidev->irq;985 if (pcidev->apicirq) ulTmp1 = pcidev->apicirq;986 else if (pcidev->picirq) ulTmp1 = pcidev->picirq;987 rprintf(("PciAdjustInterrupts: IRQs ACPI PIC=%ld APIC=%ld was=%d chosen=%ld", pcidev->picirq, pcidev->apicirq, pcidev->irq, ulTmp1));988 if( (u8)ulTmp1 && ((u8)ulTmp1 != 0xff) && ((u8)ulTmp1 != pcidev->irq) ) {989 RMSetHandles(pcidev->hAdapter, pcidev->hDevice); /* DAZ - dirty hack */990 driver = pcidev->pcidriver;991 if(driver && driver->suspend) driver->suspend(pcidev, SNDRV_CTL_POWER_D0);992 993 pcidev->irq_resource[0].flags = IORESOURCE_IRQ;994 pcidev->irq_resource[0].start = pcidev->irq_resource[0].end = ulTmp1 & 0xffff;995 pcidev->irq = (u8)ulTmp1;996 997 fRewired = TRUE;998 // if(driver && driver->resume) driver->resume(pcidev);999 }1000 } /* for loop */1001 }1002 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
