Deleted Added
full compact
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 ---