adw_pci.c (119690) | adw_pci.c (127135) |
---|---|
1/* 2 * Device probe and attach routines for the following 3 * Advanced Systems Inc. SCSI controllers: 4 * 5 * ABP[3]940UW - Bus-Master PCI Ultra-Wide (253 CDB) 6 * ABP950UW - Dual Channel Bus-Master PCI Ultra-Wide (253 CDB/Channel) 7 * ABP970UW - Bus-Master PCI Ultra-Wide (253 CDB) 8 * ABP3940U2W - Bus-Master PCI LVD/Ultra2-Wide (253 CDB) --- 20 unchanged lines hidden (view full) --- 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 */ 35 36#include <sys/cdefs.h> | 1/* 2 * Device probe and attach routines for the following 3 * Advanced Systems Inc. SCSI controllers: 4 * 5 * ABP[3]940UW - Bus-Master PCI Ultra-Wide (253 CDB) 6 * ABP950UW - Dual Channel Bus-Master PCI Ultra-Wide (253 CDB/Channel) 7 * ABP970UW - Bus-Master PCI Ultra-Wide (253 CDB) 8 * ABP3940U2W - Bus-Master PCI LVD/Ultra2-Wide (253 CDB) --- 20 unchanged lines hidden (view full) --- 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 */ 35 36#include <sys/cdefs.h> |
37__FBSDID("$FreeBSD: head/sys/dev/advansys/adw_pci.c 119690 2003-09-02 17:30:40Z jhb $"); | 37__FBSDID("$FreeBSD: head/sys/dev/advansys/adw_pci.c 127135 2004-03-17 17:50:55Z njl $"); |
38 39#include <sys/param.h> 40#include <sys/systm.h> 41#include <sys/kernel.h> 42#include <sys/module.h> 43#include <sys/lock.h> 44#include <sys/mutex.h> 45#include <sys/bus.h> --- 166 unchanged lines hidden (view full) --- 212 return (ENXIO); 213 regs = NULL; 214 regs_type = 0; 215 regs_id = 0; 216#ifdef ADW_ALLOW_MEMIO 217 if ((command & PCIM_CMD_MEMEN) != 0) { 218 regs_type = SYS_RES_MEMORY; 219 regs_id = ADW_PCI_MEMBASE; | 38 39#include <sys/param.h> 40#include <sys/systm.h> 41#include <sys/kernel.h> 42#include <sys/module.h> 43#include <sys/lock.h> 44#include <sys/mutex.h> 45#include <sys/bus.h> --- 166 unchanged lines hidden (view full) --- 212 return (ENXIO); 213 regs = NULL; 214 regs_type = 0; 215 regs_id = 0; 216#ifdef ADW_ALLOW_MEMIO 217 if ((command & PCIM_CMD_MEMEN) != 0) { 218 regs_type = SYS_RES_MEMORY; 219 regs_id = ADW_PCI_MEMBASE; |
220 regs = bus_alloc_resource(dev, regs_type, 221 ®s_id, 0, ~0, 1, RF_ACTIVE); | 220 regs = bus_alloc_resource_any(dev, regs_type, 221 ®s_id, RF_ACTIVE); |
222 } 223#endif 224 if (regs == NULL && (command & PCIM_CMD_PORTEN) != 0) { 225 regs_type = SYS_RES_IOPORT; 226 regs_id = ADW_PCI_IOBASE; | 222 } 223#endif 224 if (regs == NULL && (command & PCIM_CMD_PORTEN) != 0) { 225 regs_type = SYS_RES_IOPORT; 226 regs_id = ADW_PCI_IOBASE; |
227 regs = bus_alloc_resource(dev, regs_type, 228 ®s_id, 0, ~0, 1, RF_ACTIVE); | 227 regs = bus_alloc_resource_any(dev, regs_type, 228 ®s_id, RF_ACTIVE); |
229 } 230 231 if (regs == NULL) { 232 device_printf(dev, "can't allocate register resources\n"); 233 return (ENOMEM); 234 } 235 236 adw = adw_alloc(dev, regs, regs_type, regs_id); --- 63 unchanged lines hidden (view full) --- 300 */ 301 if ((command & PCIM_CMD_PERRESPEN) == 0) 302 adw_lram_write_16(adw, ADW_MC_CONTROL_FLAG, 303 adw_lram_read_16(adw, ADW_MC_CONTROL_FLAG) 304 | ADW_MC_CONTROL_IGN_PERR); 305 306 zero = 0; 307 adw->irq_res_type = SYS_RES_IRQ; | 229 } 230 231 if (regs == NULL) { 232 device_printf(dev, "can't allocate register resources\n"); 233 return (ENOMEM); 234 } 235 236 adw = adw_alloc(dev, regs, regs_type, regs_id); --- 63 unchanged lines hidden (view full) --- 300 */ 301 if ((command & PCIM_CMD_PERRESPEN) == 0) 302 adw_lram_write_16(adw, ADW_MC_CONTROL_FLAG, 303 adw_lram_read_16(adw, ADW_MC_CONTROL_FLAG) 304 | ADW_MC_CONTROL_IGN_PERR); 305 306 zero = 0; 307 adw->irq_res_type = SYS_RES_IRQ; |
308 adw->irq = bus_alloc_resource(dev, adw->irq_res_type, &zero, 309 0, ~0, 1, RF_ACTIVE | RF_SHAREABLE); | 308 adw->irq = bus_alloc_resource_any(dev, adw->irq_res_type, &zero, 309 RF_ACTIVE | RF_SHAREABLE); |
310 if (adw->irq == NULL) { 311 adw_free(adw); 312 return (ENOMEM); 313 } 314 315 error = adw_attach(adw); 316 if (error != 0) 317 adw_free(adw); --- 84 unchanged lines hidden --- | 310 if (adw->irq == NULL) { 311 adw_free(adw); 312 return (ENOMEM); 313 } 314 315 error = adw_attach(adw); 316 if (error != 0) 317 adw_free(adw); --- 84 unchanged lines hidden --- |