Author: manu
Date: Sun Sep 20 16:11:38 2020
New Revision: 365927
URL: https://svnweb.freebsd.org/changeset/base/365927

Log:
  arm: allwinner: aw_nmi: Fix wrong logic when we disable the nmi
  
  MFC after:    1 week

Modified:
  head/sys/arm/allwinner/aw_nmi.c

Modified: head/sys/arm/allwinner/aw_nmi.c
==============================================================================
--- head/sys/arm/allwinner/aw_nmi.c     Sun Sep 20 15:11:52 2020        
(r365926)
+++ head/sys/arm/allwinner/aw_nmi.c     Sun Sep 20 16:11:38 2020        
(r365927)
@@ -129,7 +129,7 @@ aw_nmi_intr(void *arg)
        }
 
        if (intr_isrc_dispatch(&sc->intr.isrc, curthread->td_intr_frame) != 0) {
-               SC_NMI_WRITE(sc, sc->cfg->enable_reg, !NMI_IRQ_ENABLE);
+               SC_NMI_WRITE(sc, sc->cfg->enable_reg, ~NMI_IRQ_ENABLE);
                device_printf(sc->dev, "Stray interrupt, NMI disabled\n");
        }
 
@@ -153,7 +153,7 @@ aw_nmi_disable_intr(device_t dev, struct intr_irqsrc *
 
        sc = device_get_softc(dev);
 
-       SC_NMI_WRITE(sc, sc->cfg->enable_reg, !NMI_IRQ_ENABLE);
+       SC_NMI_WRITE(sc, sc->cfg->enable_reg, ~NMI_IRQ_ENABLE);
 }
 
 static int
@@ -296,7 +296,7 @@ aw_nmi_teardown_intr(device_t dev, struct intr_irqsrc 
                sc->intr.pol = INTR_POLARITY_CONFORM;
                sc->intr.tri = INTR_TRIGGER_CONFORM;
 
-               SC_NMI_WRITE(sc, sc->cfg->enable_reg, !NMI_IRQ_ENABLE);
+               SC_NMI_WRITE(sc, sc->cfg->enable_reg, ~NMI_IRQ_ENABLE);
        }
 
        return (0);
@@ -367,7 +367,7 @@ aw_nmi_attach(device_t dev)
        }
 
        /* Disable and clear interrupts */
-       SC_NMI_WRITE(sc, sc->cfg->enable_reg, !NMI_IRQ_ENABLE);
+       SC_NMI_WRITE(sc, sc->cfg->enable_reg, ~NMI_IRQ_ENABLE);
        SC_NMI_WRITE(sc, sc->cfg->pending_reg, NMI_IRQ_ACK);
 
        xref = OF_xref_from_node(ofw_bus_get_node(dev));
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to