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

Re: fxp at pci on arm32 and bus_dmamap_sync()



In message <200007161614.e6GGEZX10784@mirage.ceres.dti.ne.jp>
	on Mon, 17 Jul 2000 01:14:35 +0900 (JST),
	Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> wrote:
> > > とかして CACHEABLE のほうもクリアしておけば(少なくとも i386 では)
> > > まともに動くようになる?  CACHEABLE と PREFETCHABLE の定義の違いと
> > これは特に変化は認められませんでした。結局、i82557.cの方は、
> 
> うーん。 PCI space の mapping は no resouces の発生には関係するけど、
> 今のコードが間違ったことをしているわけではないってことなんですかね。
このあたりは私もわかりません。

> >  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);
> > 			fxp_scb_wait(sc);
> > 			rxmap = M_GETCTX(sc->sc_rxq.ifq_head, bus_dmamap_t);
> > 			CSR_WRITE_4(sc, FXP_CSR_SCB_GENERAL,
> 
> > と、いったあたりで試験中です。
> 
> 確認ですが、 2つ目の fxp_scb_wait() は rxmap の代入の後ではダメで
> 前でないといけないなんでしょうか? だとするとそれはそれで納得いかない
> ところがありますが……。
いや、そんなことはありません。

 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,

でも動作に違いは見受けられません。

> いずれにせよ ABORT するが有効なようなら send-pr してみて
> thorpej 氏他の有識者の反応を見るというのはどうでしょう?
そうですね、帰ってからそうしたいと思います。

--
神戸 隆博(かんべ たかひろ)		at 仕事場