bt_pci.c (241592) | bt_pci.c (254263) |
---|---|
1/*- 2 * Product specific probe and attach routines for: 3 * Buslogic BT946, BT948, BT956, BT958 SCSI controllers 4 * 5 * Copyright (c) 1995, 1997, 1998 Justin T. Gibbs 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> | 1/*- 2 * Product specific probe and attach routines for: 3 * Buslogic BT946, BT948, BT956, BT958 SCSI controllers 4 * 5 * Copyright (c) 1995, 1997, 1998 Justin T. Gibbs 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> |
31__FBSDID("$FreeBSD: head/sys/dev/buslogic/bt_pci.c 241592 2012-10-15 16:13:55Z jhb $"); | 31__FBSDID("$FreeBSD: head/sys/dev/buslogic/bt_pci.c 254263 2013-08-12 23:30:01Z scottl $"); |
32 33#include <sys/param.h> 34#include <sys/systm.h> 35#include <sys/kernel.h> 36#include <sys/module.h> 37#include <sys/lock.h> 38#include <sys/mutex.h> 39#include <sys/bus.h> --- 12 unchanged lines hidden (view full) --- 52 53#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER 0x1040104Bul 54#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC 0x0140104Bul 55#define PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT 0x8130104Bul 56 57static int 58bt_pci_alloc_resources(device_t dev) 59{ | 32 33#include <sys/param.h> 34#include <sys/systm.h> 35#include <sys/kernel.h> 36#include <sys/module.h> 37#include <sys/lock.h> 38#include <sys/mutex.h> 39#include <sys/bus.h> --- 12 unchanged lines hidden (view full) --- 52 53#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER 0x1040104Bul 54#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC 0x0140104Bul 55#define PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT 0x8130104Bul 56 57static int 58bt_pci_alloc_resources(device_t dev) 59{ |
60 int command, type = 0, rid, zero; | 60 int type = 0, rid, zero; |
61 struct resource *regs = 0; 62 struct resource *irq = 0; 63 | 61 struct resource *regs = 0; 62 struct resource *irq = 0; 63 |
64 command = pci_read_config(dev, PCIR_COMMAND, /*bytes*/1); | |
65#if 0 66 /* XXX Memory Mapped I/O seems to cause problems */ | 64#if 0 65 /* XXX Memory Mapped I/O seems to cause problems */ |
67 if (command & PCIM_CMD_MEMEN) { 68 type = SYS_RES_MEMORY; 69 rid = BT_PCI_MEMADDR; 70 regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE); 71 } | 66 type = SYS_RES_MEMORY; 67 rid = BT_PCI_MEMADDR; 68 regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE); |
72#else | 69#else |
73 if (!regs && (command & PCIM_CMD_PORTEN)) { 74 type = SYS_RES_IOPORT; 75 rid = BT_PCI_IOADDR; 76 regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE); 77 } | 70 type = SYS_RES_IOPORT; 71 rid = BT_PCI_IOADDR; 72 regs = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE); |
78#endif 79 if (!regs) 80 return (ENOMEM); 81 82 zero = 0; 83 irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &zero, 84 RF_ACTIVE | RF_SHAREABLE); 85 if (!irq) { --- 139 unchanged lines hidden --- | 73#endif 74 if (!regs) 75 return (ENOMEM); 76 77 zero = 0; 78 irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &zero, 79 RF_ACTIVE | RF_SHAREABLE); 80 if (!irq) { --- 139 unchanged lines hidden --- |