From 9c84ab436aae9ed047aca73e791c6dc2def0ff73 Mon Sep 17 00:00:00 2001
From: bbracker <bbracker@hmc.edu>
Date: Sun, 4 Jul 2021 17:20:16 -0400
Subject: [PATCH] for GPIO give priority to clearing interrupts

---
 wally-pipelined/src/uncore/gpio.sv | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/wally-pipelined/src/uncore/gpio.sv b/wally-pipelined/src/uncore/gpio.sv
index cde55b7a..49b96e1e 100644
--- a/wally-pipelined/src/uncore/gpio.sv
+++ b/wally-pipelined/src/uncore/gpio.sv
@@ -132,19 +132,19 @@ module gpio (
       endcase
       // interrupts
       if (memwrite & (entryd == 8'h1C))
-        rise_ip <= rise_ip & ~Din | (input2d & ~input3d);
+        rise_ip <= rise_ip & ~Din;
       else
         rise_ip <= rise_ip | (input2d & ~input3d);
       if (memwrite & (entryd == 8'h24))
-        fall_ip <= fall_ip & ~Din | (~input2d & input3d);
+        fall_ip <= fall_ip & ~Din;
       else
         fall_ip <= fall_ip | (~input2d & input3d);
       if (memwrite & (entryd == 8'h2C))
-        high_ip <= high_ip & ~Din | input3d;
+        high_ip <= high_ip & ~Din;
       else
         high_ip <= high_ip | input3d;
       if (memwrite & (entryd == 8'h34))
-        low_ip <= low_ip & ~Din | ~input3d;
+        low_ip <= low_ip & ~Din;
       else
         low_ip <= low_ip | ~input3d;
     end