if_le_ledma.c (155093) | if_le_ledma.c (158663) |
---|---|
1/* $NetBSD: if_le_ledma.c,v 1.26 2005/12/11 12:23:44 christos Exp $ */ 2 3/*- 4 * Copyright (c) 1997, 1998 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Charles M. Hannum; Jason R. Thorpe of the Numerical Aerospace --- 24 unchanged lines hidden (view full) --- 33 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37 * POSSIBILITY OF SUCH DAMAGE. 38 */ 39 40#include <sys/cdefs.h> | 1/* $NetBSD: if_le_ledma.c,v 1.26 2005/12/11 12:23:44 christos Exp $ */ 2 3/*- 4 * Copyright (c) 1997, 1998 The NetBSD Foundation, Inc. 5 * All rights reserved. 6 * 7 * This code is derived from software contributed to The NetBSD Foundation 8 * by Charles M. Hannum; Jason R. Thorpe of the Numerical Aerospace --- 24 unchanged lines hidden (view full) --- 33 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37 * POSSIBILITY OF SUCH DAMAGE. 38 */ 39 40#include <sys/cdefs.h> |
41__FBSDID("$FreeBSD: head/sys/dev/le/if_le_ledma.c 155093 2006-01-31 14:48:58Z marius $"); | 41__FBSDID("$FreeBSD: head/sys/dev/le/if_le_ledma.c 158663 2006-05-16 21:04:01Z marius $"); |
42 43#include <sys/param.h> 44#include <sys/systm.h> 45#include <sys/bus.h> 46#include <sys/endian.h> 47#include <sys/kernel.h> 48#include <sys/lock.h> 49#include <sys/module.h> --- 14 unchanged lines hidden (view full) --- 64 65#include <sparc64/sbus/lsi64854reg.h> 66#include <sparc64/sbus/lsi64854var.h> 67 68#include <dev/le/lancereg.h> 69#include <dev/le/lancevar.h> 70#include <dev/le/am7990var.h> 71 | 42 43#include <sys/param.h> 44#include <sys/systm.h> 45#include <sys/bus.h> 46#include <sys/endian.h> 47#include <sys/kernel.h> 48#include <sys/lock.h> 49#include <sys/module.h> --- 14 unchanged lines hidden (view full) --- 64 65#include <sparc64/sbus/lsi64854reg.h> 66#include <sparc64/sbus/lsi64854var.h> 67 68#include <dev/le/lancereg.h> 69#include <dev/le/lancevar.h> 70#include <dev/le/am7990var.h> 71 |
72#define LEDMA_ALIGNMENT 8 /* ring desc. alignmet for NCR92C990 */ |
|
72#define LEDMA_BOUNDARY (16*1024*1024) /* must not cross 16MB boundary */ 73#define LEDMA_MEMSIZE (16*1024) /* LANCE memory size */ 74#define LEREG1_RDP 0 /* Register Data Port */ 75#define LEREG1_RAP 2 /* Register Address Port */ 76 77struct le_dma_softc { 78 struct am7990_softc sc_am7990; /* glue to MI code */ 79 --- 270 unchanged lines hidden (view full) --- 350 device_printf(dev, "cannot allocate interrupt\n"); 351 error = ENXIO; 352 goto fail_rres; 353 } 354 355 sc->sc_memsize = LEDMA_MEMSIZE; 356 error = bus_dma_tag_create( 357 dma->sc_parent_dmat, /* parent */ | 73#define LEDMA_BOUNDARY (16*1024*1024) /* must not cross 16MB boundary */ 74#define LEDMA_MEMSIZE (16*1024) /* LANCE memory size */ 75#define LEREG1_RDP 0 /* Register Data Port */ 76#define LEREG1_RAP 2 /* Register Address Port */ 77 78struct le_dma_softc { 79 struct am7990_softc sc_am7990; /* glue to MI code */ 80 --- 270 unchanged lines hidden (view full) --- 351 device_printf(dev, "cannot allocate interrupt\n"); 352 error = ENXIO; 353 goto fail_rres; 354 } 355 356 sc->sc_memsize = LEDMA_MEMSIZE; 357 error = bus_dma_tag_create( 358 dma->sc_parent_dmat, /* parent */ |
358 1, LEDMA_BOUNDARY, /* alignment, boundary */ | 359 LEDMA_ALIGNMENT, /* alignment */ 360 LEDMA_BOUNDARY, /* boundary */ |
359 BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ 360 BUS_SPACE_MAXADDR, /* highaddr */ 361 NULL, NULL, /* filter, filterarg */ 362 sc->sc_memsize, /* maxsize */ 363 1, /* nsegments */ 364 sc->sc_memsize, /* maxsegsize */ 365 BUS_DMA_WAITOK, /* flags */ 366 NULL, NULL, /* lockfunc, lockarg */ --- 33 unchanged lines hidden (view full) --- 400 sc->sc_copytodesc = lance_copytobuf_contig; 401 sc->sc_copyfromdesc = lance_copyfrombuf_contig; 402 sc->sc_copytobuf = lance_copytobuf_contig; 403 sc->sc_copyfrombuf = lance_copyfrombuf_contig; 404 sc->sc_zerobuf = lance_zerobuf_contig; 405 406 sc->sc_rdcsr = le_dma_rdcsr; 407 sc->sc_wrcsr = le_dma_wrcsr; | 361 BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ 362 BUS_SPACE_MAXADDR, /* highaddr */ 363 NULL, NULL, /* filter, filterarg */ 364 sc->sc_memsize, /* maxsize */ 365 1, /* nsegments */ 366 sc->sc_memsize, /* maxsegsize */ 367 BUS_DMA_WAITOK, /* flags */ 368 NULL, NULL, /* lockfunc, lockarg */ --- 33 unchanged lines hidden (view full) --- 402 sc->sc_copytodesc = lance_copytobuf_contig; 403 sc->sc_copyfromdesc = lance_copyfrombuf_contig; 404 sc->sc_copytobuf = lance_copytobuf_contig; 405 sc->sc_copyfrombuf = lance_copyfrombuf_contig; 406 sc->sc_zerobuf = lance_zerobuf_contig; 407 408 sc->sc_rdcsr = le_dma_rdcsr; 409 sc->sc_wrcsr = le_dma_wrcsr; |
408 sc->sc_nocarrier = le_dma_nocarrier; | |
409 sc->sc_hwreset = le_dma_hwreset; 410 sc->sc_hwintr = le_dma_hwintr; | 410 sc->sc_hwreset = le_dma_hwreset; 411 sc->sc_hwintr = le_dma_hwintr; |
412 sc->sc_nocarrier = le_dma_nocarrier; |
|
411 412 error = am7990_config(&lesc->sc_am7990, device_get_name(dev), 413 device_get_unit(dev)); 414 if (error != 0) { | 413 414 error = am7990_config(&lesc->sc_am7990, device_get_name(dev), 415 device_get_unit(dev)); 416 if (error != 0) { |
415 device_printf(dev, "cannot attach AM7990\n"); | 417 device_printf(dev, "cannot attach Am7990\n"); |
416 goto fail_dmap; 417 } 418 419 error = bus_setup_intr(dev, lesc->sc_ires, INTR_TYPE_NET | INTR_MPSAFE, 420 am7990_intr, sc, &lesc->sc_ih); 421 if (error != 0) { 422 device_printf(dev, "cannot set up interrupt\n"); 423 goto fail_am7990; --- 65 unchanged lines hidden --- | 418 goto fail_dmap; 419 } 420 421 error = bus_setup_intr(dev, lesc->sc_ires, INTR_TYPE_NET | INTR_MPSAFE, 422 am7990_intr, sc, &lesc->sc_ih); 423 if (error != 0) { 424 device_printf(dev, "cannot set up interrupt\n"); 425 goto fail_am7990; --- 65 unchanged lines hidden --- |