From 76f083b469d7e594cef2f11520d59b740e75d6e8 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 21 Mar 2017 14:15:16 -0700 Subject: [PATCH] FIFOFixer: Not all D-channel messages are A-channel responses --- src/main/scala/uncore/tilelink2/FIFOFixer.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/uncore/tilelink2/FIFOFixer.scala b/src/main/scala/uncore/tilelink2/FIFOFixer.scala index b042b609..88498d02 100644 --- a/src/main/scala/uncore/tilelink2/FIFOFixer.scala +++ b/src/main/scala/uncore/tilelink2/FIFOFixer.scala @@ -27,7 +27,7 @@ class TLFIFOFixer(implicit p: Parameters) extends LazyModule val a_nid = a_id === UInt(0) // no id = not FIFO val a_first = edgeIn.first(in.a) - val d_first = edgeOut.first(out.d) + val d_first = edgeOut.first(out.d) && out.d.bits.opcode =/= TLMessages.ReleaseAck val stalls = edgeIn.client.clients.filter(c => c.requestFifo && c.sourceId.size > 1).map { c => val a_sel = c.sourceId.contains(in.a.bits.source)