2023年7月時点の最新の Linux-6.4.4 カーネルでSH7706(SH3)を起動しました。

SH7706(SH3)でもLinux6.5が正常に起動でき、問題なくコマンド操作もできました。
しかし、DHCPでのネットワークインターフェース初期化が失敗し、pingも一切通りません。
これは、Linux6.4.4 でカーネルでのネットワークドライバのインターフェースに変更があったのでしょうか?

そこで、手当たり次第に driver/net/ethernet 以下のドライバのソースコードを調査して、カーネルとのインターフェース関数を見てみましたが、Linux-5.xのときと基本的に変わりはないです。
そして、AX88796BLFのドライバも正常に動作していますが、なぜか ping が通りません。

詳細に調査していくと、pingでの送信動作は正常でしたが、受信はされませんでした。
そこで受信関連のソースコードを再点検しても特に問題ないですし、IRQ割り込みの初期化処理も正常で、AX88796BLFの-IRQ4(LinuxではIRQ34)もカーネルで正常に認識されています。
が、実際には受信をしても IRQ受信割り込みルーチンが起動しません。

そこで、Linux6.4.4で割り込み関係の仕様変更があったのか? と思い調査しましたが、特にそのようなこともなかったのです。
また、AX88796BLF以外の割り込みも正常動作しています。
それでは何でなのか? ということで /proc/interrupts を見てみました。

              CPU0
 32:      51500      sh770x       32-level      sh-tmu-sh3.0
 34:                0      sh770x       34-level      eth0
 36:                0      sh770x       36-level      sh-rtc
 72:           855      sh770x       72-level      sh-sci.1:mux
NMI:              0   Non-maskable interrupts
ERR:              0

eth0 がIRQ34割り込みとしてきちんと登録されています…が、なんとeth0の割り込みが外部割り込み(IRQ0123)でなく、内部割り込み(sh770x)として登録されているではないですか!!
どうりで受信割り込みが発生しないわけですね。

それにLinuxの割り込み番号がいつの間にか16だけ加算されているようです。

ということは…AX88796BLFの割り込みを34番を16だけ加算すれば、辻褄が合いそうです。