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

Re: fxp at pci on arm32 and bus_dmamap_sync()



<200007131433.e6DEXra01054@edge.sky.yamashina.kyoto.jp>の記事において
taca@sky.yamashina.kyoto.jpさんは書きました。

> > とかして 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 の代入の後ではダメで
前でないといけないなんでしょうか? だとするとそれはそれで納得いかない
ところがありますが……。

いずれにせよ ABORT するが有効なようなら send-pr してみて
thorpej 氏他の有識者の反応を見るというのはどうでしょう?

#曽田さんでもいいけど ;-p
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp