sc53c94: CMD_COMPLETE and XFER_END goes to IDLE.

CMD_COMPLETE and XFER_END goes to the IDLE sequence state so that reentry doesn't cause a second interrupt.
This commit is contained in:
joevt 2024-03-10 21:14:50 -07:00 committed by dingusdev
parent 8a1055ed1b
commit e619dd2493

View File

@ -504,6 +504,7 @@ void Sc53C94::sequencer()
case SeqState::CMD_COMPLETE: case SeqState::CMD_COMPLETE:
this->seq_step = this->cmd_steps->step_num; this->seq_step = this->cmd_steps->step_num;
this->int_status = this->cmd_steps->status; this->int_status = this->cmd_steps->status;
this->cur_state = SeqState::IDLE;
this->update_irq(); this->update_irq();
exec_next_command(); exec_next_command();
break; break;
@ -535,6 +536,7 @@ void Sc53C94::sequencer()
this->bus_obj->target_next_step(); this->bus_obj->target_next_step();
} }
this->int_status = INTSTAT_SR; this->int_status = INTSTAT_SR;
this->cur_state = SeqState::IDLE;
this->update_irq(); this->update_irq();
exec_next_command(); exec_next_command();
break; break;