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

Re: esp pcmcia scsi driver



<006b01c11b21$fd358b60$6e9d210a@de.neec.fc.nec.co.jp>の記事において
h_itoh@de.neec.fc.nec.co.jpさんは書きました。

> 1. cvsで最新のソースを確認しても,adapt_enableは設定されていないのですが,
>    espがもともと対象にしているPanasonic KXLC002は,-currentで動作している
>    のでしょうか

esp_pcmcia は 1年くらい前に mycroft 氏が一人でいじっていたので
今動いているかどうかはわかりません。私見ですが、ほとんど
使っている人いないんじゃないでしょうか。

> 2. 動作しているとしたらpollingになっているのでしょうか

DC-390 のドライバを書いた時に esp_isa.c を眺めてみましたが、
一応割り込みを使って動くようになっていたので、
esp_pcmcia.c も同じだと思います。

>    たとえpollingだとしても,以下の点が分からないです
>     ・esp_pcmcia.c で #ifdef ESP_PCMCIA_POLL されていれそれっぽい
>       のですが,これはタイムアウトを監視できるようにするだけだと思われます
>     ・ncr53c9x_pollが呼ばれるとしたら,XS_CTL_POLLのフラグが立っている
>       必要があり,このためには,
>       adapt->adapt_flags |= SCSIPI_ADAPT_POLL_ONLY; となっている必要
>       があると思うのですが,このフラグもセットされていません

ESP_PCMCIA_POLL と XS_CTL_POLL はそれぞれ別のものだと思います。

XS_CTL_POLL は SCSI コマンドを queue に入れずに逐次的に
ncr53c9x_poll() を呼んで処理させるもので割り込みが使えない状態で
ディスクをアクセスするもので、ESP_PCMCIA_POLL は割り込み信号が
ハードウェア的に拾えない時に代わりに callout を使って定期的に
esp_pcmcia_poll() から ncr53c9x_intr() を呼び出してやることで
疑似的に割り込みを emulate しているものだと思います。

> esp_pcmcia.cから
> sc->sc_adapter.adapt_enable = esp_pcmcia_enable;
> が抜けているだけだとしたら,3ヶ月も放置されているはずも無いので,
> 根本的に何か大きな勘違いをしているのでしょうか...

上にも書いたようにほとんどユーザーがいなくて
thorpej-scsipi の merge でおかしくなっていたのに
誰も気づいてないだけのような気がします。

これを追加して動いているのなら send-pr すべきでしょう。
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp