pcib_if.m (164067) | pcib_if.m (164264) |
---|---|
1#- 2# Copyright (c) 2000 Doug Rabson 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24# SUCH DAMAGE. 25# | 1#- 2# Copyright (c) 2000 Doug Rabson 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24# SUCH DAMAGE. 25# |
26# $FreeBSD: head/sys/dev/pci/pcib_if.m 164067 2006-11-07 18:55:51Z jhb $ | 26# $FreeBSD: head/sys/dev/pci/pcib_if.m 164264 2006-11-13 21:47:30Z jhb $ |
27# 28 29#include <sys/bus.h> 30#include <dev/pci/pcivar.h> 31 32INTERFACE pcib; 33 34CODE { --- 48 unchanged lines hidden (view full) --- 83# Route an interrupt. Returns a value suitable for stuffing into 84# a device's interrupt register. 85# 86METHOD int route_interrupt { 87 device_t pcib; 88 device_t dev; 89 int pin; 90} DEFAULT null_route_interrupt; | 27# 28 29#include <sys/bus.h> 30#include <dev/pci/pcivar.h> 31 32INTERFACE pcib; 33 34CODE { --- 48 unchanged lines hidden (view full) --- 83# Route an interrupt. Returns a value suitable for stuffing into 84# a device's interrupt register. 85# 86METHOD int route_interrupt { 87 device_t pcib; 88 device_t dev; 89 int pin; 90} DEFAULT null_route_interrupt; |
91 92# 93# Allocate 'count' MSI messsages mapped onto 'count' IRQs. 'irq' points 94# to an array of at least 'count' ints. The max number of messages this 95# device supports is included so that the MD code can take that into 96# account when assigning resources so that the proper number of low bits 97# are clear in the resulting message data value. 98# 99METHOD int alloc_msi { 100 device_t pcib; 101 device_t dev; 102 int count; 103 int maxcount; 104 int *irqs; 105}; 106 107# 108# Release 'count' MSI message mapped onto 'count' IRQs stored in the 109# array pointed to by 'irq'. 110# 111METHOD int release_msi { 112 device_t pcib; 113 device_t dev; 114 int count; 115 int *irqs; 116}; 117 118# 119# Allocate a single MSI-X message mapped onto '*irq'. 120# 121METHOD int alloc_msix { 122 device_t pcib; 123 device_t dev; 124 int index; 125 int *irq; 126}; 127 128# 129# Release a single MSI-X message mapped onto 'irq'. 130# 131METHOD int release_msix { 132 device_t pcib; 133 device_t dev; 134 int irq; 135}; |
|