Skip to main content

Module frame_sched

Module frame_sched 

Source

Structs§

FrameScheduler
1 トランザクション分のフレームスケジューラ状態。

Enums§

Kind 🔒
State

Constants§

INT_ACK 🔒
INT_NAK 🔒
INT_NYET 🔒
INT_XACT_ERR 🔒
INT_XFER_COMPLETE 🔒
MAX_FRAME_NUMBER 🔒
MAX_NAK_RESTARTS 🔒
CSPLIT NAK による SSPLIT やり直しの上限。complete_split() がサイクル毎に tries をリセットするため、これがないと外側のタイムアウト (1秒) まで リトライし続けてしまう。上限到達で失敗を返し、上位層 (コントロール転送の SETUP からのやり直し) に回復を委ねる。
NPER_FRAME_UNSET 🔒
PER_FRAME_UNSET 🔒
UFRAME_US 🔒

Functions§

frame_number 🔒
HFNUM レジスタからフレーム番号フィールド (下位16bit) を読む。
selftest
状態遷移ロジックのセルフテスト(実機タイミング非依存の純粋部分のみ)。 main.rs のブート時セルフテスト群から呼ばれ “USBSCHED_SELFTEST: PASS x/y” を出す。
udelay 🔒
実時間マイクロ秒ウェイト(cntpct_el0 ベース、割り込み非依存)。