dbdma: Resume should continue DBDMA program.

Just like Start does.
This commit is contained in:
joevt 2024-03-20 02:02:44 -07:00 committed by dingusdev
parent 7ffafdc007
commit 50e661f804

View File

@ -578,6 +578,15 @@ void DMAChannel::resume() {
}
LOG_F(INFO, "%s: Resuming DMA channel", this->get_name().c_str());
// some DBDMA programs contain commands that don't transfer data
// between a device and memory (LOAD_QUAD, STORE_QUAD, NOP and STOP).
// We thus interprete the DBDMA program until a data transfer between
// a device and memory is queued or the channel becomes idle/dead.
while (!this->cmd_in_progress && !(this->ch_stat & CH_STAT_DEAD) &&
(this->ch_stat & CH_STAT_ACTIVE)) {
this->interpret_cmd();
}
}
void DMAChannel::abort() {