[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fujitsu MB87030/MB89352 (SPC) manual
井崎です。
# x6netbsd-develop にも Cc:
On Thu, 28 Aug 2003 23:50:03 +0900,
In Re: Fujitsu MB87030/MB89352 (SPC) manual,
> > あと、上記の
> > ・SCMD_XFR 実行時に DREQ がいるので SCMD_PROG_XFR をセットしてはいけない
> > ・TEMP レジスタ経由のマニュアル転送がうまくいかない(?)
> > 以外に spc_select() と spc_intr() にまだ #ifdef x68k が
> > 残っているんですが、この2つも取ってしまうと x68k では
> > 問題あるんでしょうか?
> >
> > 特に spc_intr() のほうでは割り込み要因の INTS レジスタが
> > どれか立つまで待っているんですが、割り込みベクタを共用している
> > port だと spc_intr() は SPC の割り込みでなくても呼ばれるので
> > そもそもこの待ちが必要になるほうがまずいと思うんですが……。
spc_select() と spc_intr() の中の #ifdef x68k はどちらも
外しても動作しました。私のところには SPC 乗った X68k は
1つ(X68030/30MHz改) しかないんですが、他の方も mb89352.c
rev1.23 に添付の変更加えたもので動作するか試してもらえますか。
spc_intr() のほうは有史以前からあるようですが、
spc_select() 中のは arch/x68k/dev/spc.c 1.12 で沖さんが
追加されたようです。何か覚えていらっしゃいます? > 沖さん
---
井崎哲也 <isaki@par.odn.ne.jp / isaki@NetBSD.org>
Index: mb89352.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/mb89352.c,v
retrieving revision 1.23
diff -u -r1.23 mb89352.c
--- mb89352.c 2003/08/29 02:45:57 1.23
+++ mb89352.c 2003/08/30 05:07:01
@@ -656,12 +656,6 @@
#if 0
bus_space_write_1(iot, ioh, SCMD, SCMD_SET_ATN);
#endif
-#ifdef x68k /* XXX? */
- do {
- asm ("nop");
- } while (bus_space_read_1(iot, ioh, SSTS) &
- (SSTS_ACTIVE|SSTS_TARGET|SSTS_BUSY));
-#endif
bus_space_write_1(iot, ioh, PCTL, 0);
bus_space_write_1(iot, ioh, TEMP,
@@ -1664,14 +1658,8 @@
/*
* First check for abnormal conditions, such as reset.
*/
-#ifdef x68k /* XXX? */
- while ((ints = bus_space_read_1(iot, ioh, INTS)) == 0)
- delay(1);
- SPC_MISC(("ints = 0x%x ", ints));
-#else
ints = bus_space_read_1(iot, ioh, INTS);
SPC_MISC(("ints = 0x%x ", ints));
-#endif
if ((ints & INTS_RST) != 0) {
printf("%s: SCSI bus reset\n", sc->sc_dev.dv_xname);