Changeset 604 for GPL/trunk/lib32/pci.c


Ignore:
Timestamp:
Jan 8, 2018, 2:07:36 AM (8 years ago)
Author:
David Azarewicz
Message:

Incorporated changes from Andy.
Added limited MSI support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk/lib32/pci.c

    r602 r604  
    245245          pcidev->irq_resource[0].start = pcidev->irq_resource[0].end   = ulTmp1 & 0xffff;
    246246          pcidev->irq = (u8)ulTmp1; // This is the interrupt used for init time processing
     247          pcidev->irq_pin = ulTmp1>>8;
    247248        }
    248249
     
    10151016}
    10161017
     1018#ifdef USE_MSI
     1019extern int __syscall UniMsiAlloc(USHORT usBusDevFunc, ULONG *pulCount, UCHAR *pucIrq);
     1020int snd_pci_enable_msi(struct pci_dev *dev)
     1021{
     1022  ULONG p;
     1023  UCHAR irq;
     1024
     1025  if (dev->irq_pin)
     1026  {
     1027    p = 1; /* int count */
     1028    if (UniMsiAlloc((dev->bus->number<<8) | dev->devfn, &p, &irq)) return -1;
     1029    /* we have an msi interrupt */
     1030    dev->irq = irq;
     1031    dev->irq_pin = 0;
     1032  }
     1033  return 0;
     1034}
     1035#else
     1036int snd_pci_enable_msi(struct pci_dev *dev)
     1037{
     1038  return -1;
     1039}
     1040#endif
     1041
Note: See TracChangeset for help on using the changeset viewer.