oyama_interface
2014年2月10日 21時37分
お世話になります。
尾山と申します。
Armadiloo-800 EVA で、linux-3.4のカーネルを使用しているのですが
eMMCへのアクセスで停止する現象がでています。
起動・シャットダウンを繰り返し実行していると、発生します。
頻度は、100回程度ででる場合もあれば、1000回程度でない場合もあります。
停止する前では、/drivers/mmc/host/sh_mmcif.cの
sh_mmcif_irqt関数内にあるswitch(host->wait_for)が
MMCIF_WAIT_FOR_REQUESTに入った場合に停止するようです。
正常に起動・シャットダウンできるときには、WAIT_FOR_REQUESTには入りません。
linux-3.4-at4、linux-3.4-at6で試しましたが、現象は変わりませんでした。
また、SDでブートさせた場合にも、現象は発生しておりません。
何か対策がありますでしょうか。
宜しくお願いいたします。
コメント
oyama_interface
at_yashi
oyama_interface
at_yashi
2014年2月14日 16時09分
少し main line[1] を確認してみました、いくつか eMMC のドライバーに変更
が入っているようです。たとえば
https://git.kernel.org/linus/19f1ba51c
とか。他にも修正が入っているので、確認されてはいかがでしょうか?
とすると、sh_mmcif.c への変更点だけ抽出できます。
Armadillo-800EVA は、CPUの評価ボード用なので、製品として組み込まれた場
合のテストがされていません。動作保証温度も、室温レベルです。製品に組み
込むような場合は、Armadillo-810 や a840 をお勧めします。もし、a810 や
a840では対応できないような機能があれば、教えて頂けると助かります。
[1] https://git.kernel.org/linus/