インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル

ID 683567
日付 1/19/2023
Public
ドキュメント目次

16.4.2.5.7. 内部DMAコントローラーの割り込み

さまざまなイベントの結果として割り込みを生成することができます。idstsレジスターには、割り込みを引き起こし得るすべてのビットが含まれています。内部DMAコントローラーのinterrupt enable (idinten) レジスターには、割り込みを引き起こすことが可能なイベントそれぞれのイネーブルビットが含まれます。

idstsレジスターのSummary割り込みには、Normal Interrupt Summary (nis) ビットとAbnormal Interrupt Summary (ais) ビットの2つがあります。 nisビットは、idstsレジスターのTransmit Interrupt (ti) ビットとReceive Interrupt (ri) ビットの論理ORから生じます。aisビットは、idstsレジスターのFatal Bus Error Interrupt (fbe) ビット、Descriptor Unavailable Interrupt (du) ビット、およびCard Error Summary Interrupt (ces) ビットの論理OR結果です。

割り込みは、対応するビット位置に1を書き込むことでクリアされます。 0が割り込みのビット位置に書き込まれた場合、その書き込みは無視され、割り込みはクリアされません。グループ内の有効になっている割り込みがすべてクリアされると、対応するSummaryビットが0に設定されます。両方のSummaryビットが0に設定されると、割り込み信号がデアサートされます。

割り込みはキューに入りません。ドライバーが前の割り込みに応答する前に別の割り込みイベントが発生した場合、割り込みは追加生成されません。例えば、idstsレジスターのriビットは、1つまたは複数のデータがホストバッファーに転送されたことを示します。

割り込みは、同時に発生する複数のイベントに対して1回のみ生成されます。ドライバーは、割り込みの原因についてidstsレジスターをスキャンする必要があります。 コントローラーからの最後の割り込み信号は、BIUと内部DMAコントローラーからの割り込みの論理ORです。