Lines Matching +full:device +full:- +full:id +full:- +full:base

4  * Copyright (c) 2000-2001 Adaptec Inc.
18 * 3. Neither the names of the above-listed copyright holders nor the names
39 * $Id: //depot/aic7xxx/linux/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c#47 $
47 #define ID(x) ID_C(x, PCI_CLASS_STORAGE_SCSI) macro
51 ID(ID_AHA_2902_04_10_15_20C_30C),
53 ID(ID_AHA_2930CU),
54 ID(ID_AHA_1480A & ID_DEV_VENDOR_MASK),
55 ID(ID_AHA_2940AU_0 & ID_DEV_VENDOR_MASK),
56 ID(ID_AHA_2940AU_CN & ID_DEV_VENDOR_MASK),
57 ID(ID_AHA_2930C_VAR & ID_DEV_VENDOR_MASK),
59 ID(ID_AHA_2940),
60 ID(ID_AHA_3940),
61 ID(ID_AHA_398X),
62 ID(ID_AHA_2944),
63 ID(ID_AHA_3944),
64 ID(ID_AHA_4944),
66 ID(ID_AHA_2940U & ID_DEV_VENDOR_MASK),
67 ID(ID_AHA_3940U & ID_DEV_VENDOR_MASK),
68 ID(ID_AHA_2944U & ID_DEV_VENDOR_MASK),
69 ID(ID_AHA_3944U & ID_DEV_VENDOR_MASK),
70 ID(ID_AHA_398XU & ID_DEV_VENDOR_MASK),
71 ID(ID_AHA_4944U & ID_DEV_VENDOR_MASK),
72 ID(ID_AHA_2930U & ID_DEV_VENDOR_MASK),
73 ID(ID_AHA_2940U_PRO & ID_DEV_VENDOR_MASK),
74 ID(ID_AHA_2940U_CN & ID_DEV_VENDOR_MASK),
76 ID(ID_AHA_2930U2),
77 ID(ID_AHA_2940U2B),
78 ID(ID_AHA_2940U2_OEM),
79 ID(ID_AHA_2940U2),
80 ID(ID_AHA_2950U2B),
82 ID(ID_AAA_131U2),
84 ID(ID_AHA_29160),
85 ID(ID_AHA_29160_CPQ),
86 ID(ID_AHA_29160N),
87 ID(ID_AHA_29160C),
88 ID(ID_AHA_29160B),
89 ID(ID_AHA_19160B),
90 ID(ID_AIC7892_ARO),
92 ID(ID_AHA_2940U_DUAL),
93 ID(ID_AHA_3940AU),
94 ID(ID_AHA_3944AU),
95 ID(ID_AIC7895_ARO),
96 ID(ID_AHA_3950U2B_0),
97 ID(ID_AHA_3950U2B_1),
98 ID(ID_AHA_3950U2D_0),
99 ID(ID_AHA_3950U2D_1),
100 ID(ID_AIC7896_ARO),
102 ID(ID_AHA_3960D),
103 ID(ID_AHA_3960D_CPQ),
104 ID(ID_AIC7899_ARO),
106 ID(ID_AIC7850 & ID_DEV_VENDOR_MASK),
107 ID(ID_AIC7855 & ID_DEV_VENDOR_MASK),
108 ID(ID_AIC7859 & ID_DEV_VENDOR_MASK),
109 ID(ID_AIC7860 & ID_DEV_VENDOR_MASK),
110 ID(ID_AIC7870 & ID_DEV_VENDOR_MASK),
111 ID(ID_AIC7880 & ID_DEV_VENDOR_MASK),
114 ID(ID_AIC7895 & ID_DEV_VENDOR_MASK),
117 ID(ID_AIC7810 & ID_DEV_VENDOR_MASK),
118 ID(ID_AIC7815 & ID_DEV_VENDOR_MASK),
125 ahc_linux_pci_dev_suspend(struct device *dev) in ahc_linux_pci_dev_suspend()
133 ahc_linux_pci_dev_resume(struct device *dev) in ahc_linux_pci_dev_resume()
148 if (ahc->platform_data && ahc->platform_data->host) in ahc_linux_pci_dev_remove()
149 scsi_remove_host(ahc->platform_data->host); in ahc_linux_pci_dev_remove()
160 struct pci_dev *pdev = ahc->dev_softc, *master_pdev; in ahc_linux_pci_inherit_flags()
161 unsigned int master_devfn = PCI_DEVFN(PCI_SLOT(pdev->devfn), 0); in ahc_linux_pci_inherit_flags()
163 master_pdev = pci_get_slot(pdev->bus, master_devfn); in ahc_linux_pci_inherit_flags()
167 ahc->flags &= ~AHC_BIOS_ENABLED; in ahc_linux_pci_inherit_flags()
168 ahc->flags |= master->flags & AHC_BIOS_ENABLED; in ahc_linux_pci_inherit_flags()
170 ahc->flags &= ~AHC_PRIMARY_CHANNEL; in ahc_linux_pci_inherit_flags()
171 ahc->flags |= master->flags & AHC_PRIMARY_CHANNEL; in ahc_linux_pci_inherit_flags()
188 struct device *dev = &pdev->dev; in ahc_linux_pci_dev_probe()
193 return (-ENODEV); in ahc_linux_pci_dev_probe()
206 return (-ENOMEM); in ahc_linux_pci_dev_probe()
209 return (-ENOMEM); in ahc_linux_pci_dev_probe()
212 return (-ENODEV); in ahc_linux_pci_dev_probe()
217 && ahc->features & AHC_LARGE_SCBS in ahc_linux_pci_dev_probe()
220 ahc->flags |= AHC_39BIT_ADDRESSING; in ahc_linux_pci_dev_probe()
225 return (-ENODEV); in ahc_linux_pci_dev_probe()
228 ahc->dev_softc = pci; in ahc_linux_pci_dev_probe()
229 ahc->dev = &pci->dev; in ahc_linux_pci_dev_probe()
233 return (-error); in ahc_linux_pci_dev_probe()
240 if ((ahc->features & AHC_MULTI_FUNC) && PCI_FUNC(pdev->devfn) != 0) in ahc_linux_pci_dev_probe()
322 ahc_linux_pci_reserve_io_region(struct ahc_softc *ahc, resource_size_t *base) in ahc_linux_pci_reserve_io_region() argument
327 *base = pci_resource_start(ahc->dev_softc, 0); in ahc_linux_pci_reserve_io_region()
328 if (*base == 0) in ahc_linux_pci_reserve_io_region()
330 if (!request_region(*base, 256, "aic7xxx")) in ahc_linux_pci_reserve_io_region()
344 start = pci_resource_start(ahc->dev_softc, 1); in ahc_linux_pci_reserve_mem_region()
365 resource_size_t base; in ahc_pci_map_registers() local
372 command = ahc_pci_read_config(ahc->dev_softc, PCIR_COMMAND, 4); in ahc_pci_map_registers()
374 base = 0; in ahc_pci_map_registers()
376 error = ahc_linux_pci_reserve_mem_region(ahc, &base, &maddr); in ahc_pci_map_registers()
378 ahc->platform_data->mem_busaddr = base; in ahc_pci_map_registers()
379 ahc->tag = BUS_SPACE_MEMIO; in ahc_pci_map_registers()
380 ahc->bsh.maddr = maddr; in ahc_pci_map_registers()
381 ahc_pci_write_config(ahc->dev_softc, PCIR_COMMAND, in ahc_pci_map_registers()
390 printk("aic7xxx: PCI Device %d:%d:%d " in ahc_pci_map_registers()
392 ahc_get_pci_bus(ahc->dev_softc), in ahc_pci_map_registers()
393 ahc_get_pci_slot(ahc->dev_softc), in ahc_pci_map_registers()
394 ahc_get_pci_function(ahc->dev_softc)); in ahc_pci_map_registers()
396 release_mem_region(ahc->platform_data->mem_busaddr, in ahc_pci_map_registers()
398 ahc->bsh.maddr = NULL; in ahc_pci_map_registers()
404 "unavailable. Cannot memory map device.\n", in ahc_pci_map_registers()
405 ahc_get_pci_bus(ahc->dev_softc), in ahc_pci_map_registers()
406 ahc_get_pci_slot(ahc->dev_softc), in ahc_pci_map_registers()
407 ahc_get_pci_function(ahc->dev_softc), in ahc_pci_map_registers()
408 (unsigned long long)base); in ahc_pci_map_registers()
416 error = ahc_linux_pci_reserve_io_region(ahc, &base); in ahc_pci_map_registers()
418 ahc->tag = BUS_SPACE_PIO; in ahc_pci_map_registers()
419 ahc->bsh.ioport = (u_long)base; in ahc_pci_map_registers()
423 "unavailable. Cannot map device.\n", in ahc_pci_map_registers()
424 ahc_get_pci_bus(ahc->dev_softc), in ahc_pci_map_registers()
425 ahc_get_pci_slot(ahc->dev_softc), in ahc_pci_map_registers()
426 ahc_get_pci_function(ahc->dev_softc), in ahc_pci_map_registers()
427 (unsigned long long)base); in ahc_pci_map_registers()
430 ahc_pci_write_config(ahc->dev_softc, PCIR_COMMAND, command, 4); in ahc_pci_map_registers()
439 error = request_irq(ahc->dev_softc->irq, ahc_linux_isr, in ahc_pci_map_int()
442 ahc->platform_data->irq = ahc->dev_softc->irq; in ahc_pci_map_int()
444 return (-error); in ahc_pci_map_int()