Skip to content

dbdma: update xferStatus and resCount when handling FLUSH command - #198

Merged
dingusdev merged 1 commit into
dingusdev:masterfrom
mihaip:upstream-dbdba-flush
Aug 6, 2026
Merged

dbdma: update xferStatus and resCount when handling FLUSH command#198
dingusdev merged 1 commit into
dingusdev:masterfrom
mihaip:upstream-dbdba-flush

Conversation

@mihaip

@mihaip mihaip commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Per the DBDMA spec (section 15.4.3), this is required:

ChannelStatus.flush can be set to 1 by software, to force a channel that is executing an INPUT_MORE or INPUT_LAST command to update memory with any data that has been received from the device but has not yet been written to memory. When the memory update is complete, hardware updates the xferStatus and resCount fields in the current memory resident channel command, then clears the flush bit. Thus, a partial status update is characterized by 1 in the flush bit of the xferStatus field and a final status update is characterized by 0.

Fixes a hang when booting 9.0 and 9.0.4 on the Beige G3 (they would get stuck in a loop polling the xferStatus.active field).

Per the DBDMA spec (section 15.4.3), this is required. Fixes a hang
when booting 9.0 and 9.0.4 on the Beige G3 (they would get stuck in a
loop polling the `xferStatus.active` field).
@dingusdev
dingusdev merged commit 45ea010 into dingusdev:master Aug 6, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants