Deleted Added
full compact
adv_isa.c (39217) adv_isa.c (40160)
1/*
2 * Device probe and attach routines for the following
3 * Advanced Systems Inc. SCSI controllers:
4 *
5 * Connectivity Products:
6 * ABP510/5150 - Bus-Master ISA (240 CDB) *
7 * ABP5140 - Bus-Master ISA PnP (16 CDB) * **
8 * ABP5142 - Bus-Master ISA PnP with floppy (16 CDB) ***

--- 30 unchanged lines hidden (view full) ---

39 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
40 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
41 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
42 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
43 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
44 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
45 * SUCH DAMAGE.
46 *
1/*
2 * Device probe and attach routines for the following
3 * Advanced Systems Inc. SCSI controllers:
4 *
5 * Connectivity Products:
6 * ABP510/5150 - Bus-Master ISA (240 CDB) *
7 * ABP5140 - Bus-Master ISA PnP (16 CDB) * **
8 * ABP5142 - Bus-Master ISA PnP with floppy (16 CDB) ***

--- 30 unchanged lines hidden (view full) ---

39 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
40 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
41 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
42 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
43 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
44 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
45 * SUCH DAMAGE.
46 *
47 * $Id: adv_isa.c,v 1.3 1997/02/22 09:35:51 peter Exp $
47 * $Id: adv_isa.c,v 1.4 1998/09/15 07:03:39 gibbs Exp $
48 */
49
50#include <sys/param.h>
51#include <sys/systm.h>
52#include <sys/malloc.h>
53
54#include <machine/bus_pio.h>
55#include <machine/bus.h>

--- 88 unchanged lines hidden (view full) ---

144 bus_size_t maxsegsz;
145 bus_size_t maxsize;
146 bus_addr_t lowaddr;
147 int error;
148
149 if (port_addr == 0)
150 /* Already been attached */
151 continue;
48 */
49
50#include <sys/param.h>
51#include <sys/systm.h>
52#include <sys/malloc.h>
53
54#include <machine/bus_pio.h>
55#include <machine/bus.h>

--- 88 unchanged lines hidden (view full) ---

144 bus_size_t maxsegsz;
145 bus_size_t maxsize;
146 bus_addr_t lowaddr;
147 int error;
148
149 if (port_addr == 0)
150 /* Already been attached */
151 continue;
152 /*
153 * Make sure that we do not conflict with another device's
154 * I/O address.
155 */
156 if (haveseen_isadev(id, CC_IOADDR))
157 continue;
158
152 if (adv_find_signature(I386_BUS_SPACE_IO, port_addr)) {
153 /*
154 * Got one. Now allocate our softc
155 * and see if we can initialize the card.
156 */
157 struct adv_softc *adv;
158 adv = adv_alloc(id->id_unit, I386_BUS_SPACE_IO,
159 port_addr);

--- 98 unchanged lines hidden (view full) ---

258 bus_dmamap_load(overrun_dmat, overrun_dmamap,
259 overrun_buf, ADV_OVERRUN_BSIZE,
260 adv_map, &overrun_physbase,
261 /*flags*/0);
262 }
263
264 adv->overrun_physbase = overrun_physbase;
265
159 if (adv_find_signature(I386_BUS_SPACE_IO, port_addr)) {
160 /*
161 * Got one. Now allocate our softc
162 * and see if we can initialize the card.
163 */
164 struct adv_softc *adv;
165 adv = adv_alloc(id->id_unit, I386_BUS_SPACE_IO,
166 port_addr);

--- 98 unchanged lines hidden (view full) ---

265 bus_dmamap_load(overrun_dmat, overrun_dmamap,
266 overrun_buf, ADV_OVERRUN_BSIZE,
267 adv_map, &overrun_physbase,
268 /*flags*/0);
269 }
270
271 adv->overrun_physbase = overrun_physbase;
272
273 /*
274 * OK, check to make sure that we're not stepping on
275 * someone else's IRQ or DRQ
276 */
277 if (haveseen_isadev(id, CC_DRQ)) {
278 printf("advisaprobe: Aha card at I/O 0x%x's "
279 "drq %d conflicts, ignoring card.\n",
280 id->id_iobase, id->id_drq);
281 adv_free(adv);
282 return 0;
283 }
284
266 if (adv_init(adv) != 0) {
267 adv_free(adv);
268 return (0);
269 }
270
271 switch (adv->type) {
272 case ADV_ISAPNP:
273 if (adv->chip_version == ADV_CHIP_VER_ASYN_BUG){

--- 16 unchanged lines hidden (view full) ---

290 panic("advisaprobe: Invalid card type\n");
291 }
292
293 /* Determine our IRQ */
294 if (id->id_irq == 0 /* irq ? */)
295 id->id_irq = 1 << adv_get_chip_irq(adv);
296 else
297 adv_set_chip_irq(adv, ffs(id->id_irq) - 1);
285 if (adv_init(adv) != 0) {
286 adv_free(adv);
287 return (0);
288 }
289
290 switch (adv->type) {
291 case ADV_ISAPNP:
292 if (adv->chip_version == ADV_CHIP_VER_ASYN_BUG){

--- 16 unchanged lines hidden (view full) ---

309 panic("advisaprobe: Invalid card type\n");
310 }
311
312 /* Determine our IRQ */
313 if (id->id_irq == 0 /* irq ? */)
314 id->id_irq = 1 << adv_get_chip_irq(adv);
315 else
316 adv_set_chip_irq(adv, ffs(id->id_irq) - 1);
317
298 id->id_intr = adv_isa_intr;
299
300 /* Mark as probed */
301 adv_isa_ioports[port_index] = 0;
302 return 1;
303 }
304 }
305

--- 73 unchanged lines hidden ---
318 id->id_intr = adv_isa_intr;
319
320 /* Mark as probed */
321 adv_isa_ioports[port_index] = 0;
322 return 1;
323 }
324 }
325

--- 73 unchanged lines hidden ---