Subject: Re: NetBSD-1.5S-5 on U30
To: matthew green <mrg@eterna.com.au>
From: Andrey Petrov <and@genesyslab.com>
List: port-sparc64
Date: 03/20/2001 16:28:13
I saw this before sbus streaming cache was fixed by adding
BUS_DMA_COHERENT flags to bus_dmamap_load in hme.c.
I think iommu.c changes from BUS_DMA_COHERENT to BUS_DMA_STREAMING
broke the driver(s). The fix should be straightforward
replacing those defines in all sbus-related drivers to new define.
The patch for hme.c is below.
Andrey
Index: hme.c
===================================================================
RCS file: /cvsroot/syssrc/sys/dev/ic/hme.c,v
retrieving revision 1.20
diff -c -r1.20 hme.c
*** hme.c 2000/12/14 06:27:25 1.20
--- hme.c 2001/03/21 00:27:56
***************
*** 232,238 ****
/* Load the buffer */
if ((error = bus_dmamap_load(dmatag, sc->sc_dmamap,
sc->sc_rb.rb_membase, size, NULL,
! BUS_DMA_NOWAIT|BUS_DMA_COHERENT)) != 0) {
printf("%s: DMA buffer map load error %d\n",
sc->sc_dev.dv_xname, error);
bus_dmamem_free(dmatag, &seg, rseg);
--- 232,238 ----
/* Load the buffer */
if ((error = bus_dmamap_load(dmatag, sc->sc_dmamap,
sc->sc_rb.rb_membase, size, NULL,
! BUS_DMA_NOWAIT|BUS_DMA_STREAMING)) != 0) {
printf("%s: DMA buffer map load error %d\n",
sc->sc_dev.dv_xname, error);
bus_dmamem_free(dmatag, &seg, rseg);