[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fxp at pci on arm32 and bus_dmamap_sync()



In message <200007111532.e6BFWUQ11297@mirage.ceres.dti.ne.jp>
	on Wed, 12 Jul 2000 00:32:30 +0900 (JST),
	Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> wrote:
> > > 1) if_fxp_pci.c で強制的に memh_valid = 0 して
> > >    i/o mapped access を指定する
> > これ、効きました。指定しない場合は90Mバイトのftp、相手がちょっとトロイ
> > ので、よくて8MB/sくらいでも、7回持ちませんでした。これを適用した場合は
> > (現在進行形で)34回まで持っています。
> 
> BIOS まわりの設定で変化するということからしても、
なんかあるんでしょうねぇ...。

> --- i82557.c.orig	Wed Jul 12 00:09:14 2000
> +++ 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,
> 
> てな感じだとどうでしょう?
これを先にやりましたが、状況は変わらず落ちました。fxp_scb_wait()の前後
に入れたりして、最終的に前に入れて落ちなくなりました。ただ、それが本来
の意味でfxpを止めてるのか、エラーの様な状態でたまたまうまくいっている
のか、

> 受信バッファの再設定をするんだから今やってる転送は止めないと
> いけないよなあ、とは思うんですが、やはり先にマニュアル入手ですね……
ですね。i82557のって、そこいらに転がってはいないみたいですね。

--
神戸 隆博(かんべ たかひろ) at home