Deleted Added
full compact
26c26
< * $FreeBSD: head/sys/dev/pci/pcivar.h 163805 2006-10-30 19:18:46Z imp $
---
> * $FreeBSD: head/sys/dev/pci/pcivar.h 164264 2006-11-13 21:47:30Z jhb $
79a80
> uint8_t msi_location; /* Offset of MSI capability registers. */
81c82,84
< uint16_t msi_data; /* Location of MSI data word */
---
> int msi_alloc; /* Number of allocated messages. */
> uint64_t msi_addr; /* Contents of address register. */
> uint16_t msi_data; /* Contents of data register. */
83a87,100
> /* Interesting values for PCI MSI */
> struct pcicfg_msix {
> uint16_t msix_ctrl; /* Message Control */
> uint8_t msix_location; /* Offset of MSI capability registers. */
> uint16_t msix_msgnum; /* Number of messages */
> int msix_alloc; /* Number of allocated messages. */
> uint8_t msix_table_bar; /* BAR containing vector table. */
> uint8_t msix_pba_bar; /* BAR containing PBA. */
> uint32_t msix_table_offset;
> uint32_t msix_pba_offset;
> struct resource *msix_table_res; /* Resource containing vector table. */
> struct resource *msix_pba_res; /* Resource containing PBA. */
> };
>
122a140
> struct pcicfg_msix msix; /* pci msi-x */
373a392,409
> static __inline int
> pci_alloc_msi(device_t dev, int *count)
> {
> return (PCI_ALLOC_MSI(device_get_parent(dev), dev, count));
> }
>
> static __inline int
> pci_release_msi(device_t dev)
> {
> return (PCI_RELEASE_MSI(device_get_parent(dev), dev));
> }
>
> static __inline int
> pci_msi_count(device_t dev)
> {
> return (PCI_MSI_COUNT(device_get_parent(dev), dev));
> }
>
375a412,420
>
> /* Used by MD code to program MSI and MSI-X registers. */
> void pci_enable_msi(device_t dev, uint64_t address, uint16_t data);
> void pci_enable_msix(device_t dev, u_int index, uint64_t address,
> uint32_t data);
> void pci_mask_msix(device_t dev, u_int index);
> int pci_pending_msix(device_t dev, u_int index);
> void pci_unmask_msix(device_t dev, u_int index);
>