mirror of https://github.com/xemu-project/xemu.git
escc: re-use escc_reset_chn() for soft reset
This removes duplication of the internal device state initialisation between device reset and soft reset. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <20210903113223.19551-9-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
a04ca92a54
commit
99b0f05841
|
@ -288,7 +288,8 @@ static void escc_reset_chn(ESCCChannelState *s)
|
|||
|
||||
static void escc_soft_reset_chn(ESCCChannelState *s)
|
||||
{
|
||||
s->reg = 0;
|
||||
escc_reset_chn(s);
|
||||
|
||||
s->wregs[W_CMD] = 0;
|
||||
s->wregs[W_INTR] &= INTR_PAR_SPEC | INTR_WTRQ_TXRX;
|
||||
s->wregs[W_RXCTRL] &= ~RXCTRL_RXEN;
|
||||
|
@ -314,12 +315,6 @@ static void escc_soft_reset_chn(ESCCChannelState *s)
|
|||
s->rregs[R_SPEC] |= SPEC_BITS8;
|
||||
s->rregs[R_INTR] = 0;
|
||||
s->rregs[R_MISC] &= MISC_2CLKMISS;
|
||||
|
||||
s->rx = s->tx = 0;
|
||||
s->rxint = s->txint = 0;
|
||||
s->rxint_under_svc = s->txint_under_svc = 0;
|
||||
s->e0_mode = s->led_mode = s->caps_lock_mode = s->num_lock_mode = 0;
|
||||
clear_queue(s);
|
||||
}
|
||||
|
||||
static void escc_hard_reset_chn(ESCCChannelState *s)
|
||||
|
|
Loading…
Reference in New Issue