Subject: Re: kern/10622: fxp driver has problem on DMA processing?
To: None <gnats-bugs@gnats.netbsd.org>
From: Takahiro Kambe <taca@sky.yamashina.kyoto.jp>
List: netbsd-bugs
Date: 07/20/2000 00:20:21
Oh!
In message <200007172225.e6HMPHh02883@edge.sky.yamashina.kyoto.jp>
on Tue, 18 Jul 2000 07:25:17 +0900 (JST),
Takahiro Kambe <taca@sky.yamashina.kyoto.jp> wrote:
> 2. Changing i82557's PCI mapping as bellow:
> This dosen't imporve anything.
>
> --- sys/dev/ic/i82557.c.orig Wed Jul 12 00:09:14 2000
> +++ sys/dev/ic/i82557.c Wed Jul 12 00:20:11 2000
> @@ -998,6 +998,9 @@
>
> do_transmit:
> if (statack & FXP_SCB_STATACK_RNR) {
> + fxp_scb_wait(sc);
> + CSR_WRITE_1(sc, FXP_CSR_SCB_COMMAND,
> + FXP_SCB_COMMAND_RU_ABORT);
> rxmap = M_GETCTX(sc->sc_rxq.ifq_head, bus_dmamap_t);
> fxp_scb_wait(sc);
> CSR_WRITE_4(sc, FXP_CSR_SCB_GENERAL,
Obviously, this patch is the same as 3. Correct one is bellow:
--- sys/dev/pci/if_fxp_pci.c.orig Thu Jul 20 00:18:44 2000
+++ sys/dev/pci/if_fxp_pci.c Thu Jul 20 00:19:37 2000
@@ -288,7 +288,7 @@
pci_mapreg_info(pa->pa_pc, pa->pa_tag, FXP_PCI_MMBA,
PCI_MAPREG_TYPE_MEM|PCI_MAPREG_MEM_TYPE_32BIT,
&addr, &size, &flags) == 0) {
- flags &= ~BUS_SPACE_MAP_PREFETCHABLE;
+ flags &= ~(BUS_SPACE_MAP_CACHEABLE | BUS_SPACE_MAP_PREFETCHABLE);
if (bus_space_map(memt, addr, size, flags, &memh) == 0)
memh_valid = 1;
}
--
Takahiro Kambe <taca@sky.yamashina.kyoto.jp>