etsec: fix IRQ (un)masking
authorMichael Davidsaver <mdavidsaver@gmail.com>
Thu, 12 Jul 2018 21:00:52 +0000 (14:00 -0700)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 16 Jul 2018 01:18:09 +0000 (11:18 +1000)
commitfd8e3381a00feb1e9878f6a3e2de11295f041f67
treef203043baa4c09ee0679fbc0702514cb0a3272e0
parentb585395b655a6c1f9d9ebf1f0890e76d0708eed6
etsec: fix IRQ (un)masking

Interrupt conditions occurring while masked are not being
signaled when later unmasked.
The fix is to raise/lower IRQs when IMASK is changed.

To avoid problems like this in future, consolidate
IRQ pin update logic in one function.

Also fix probable typo "IEVENT_TXF | IEVENT_TXF",
and update IRQ pins on reset.

Signed-off-by: Michael Davidsaver <mdavidsaver@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/net/fsl_etsec/etsec.c
hw/net/fsl_etsec/etsec.h
hw/net/fsl_etsec/registers.h
hw/net/fsl_etsec/rings.c