浏览代码

ftgmac100: Fix interrupt status "Packet transmitted on ethernet"

The second field of the TX descriptor has a set of flags to choose
when the transmit interrupt is raised : after the packet has been sent
on the ethernet or after it has been moved into the TX FIFO. But we
don't model that today.

Simply raise the "Packet transmitted on ethernet" interrupt status bit
as soon as the packet is sent by QEMU.

Cc: Frederic Konrad <konrad.frederic@yahoo.fr>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Message-Id: <20200819100956.2216690-11-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Cédric Le Goater 5 年之前
父节点
当前提交
dcf5137696
共有 1 个文件被更改,包括 1 次插入3 次删除
  1. 1 3
      hw/net/ftgmac100.c

+ 1 - 3
hw/net/ftgmac100.c

@@ -547,9 +547,7 @@ static void ftgmac100_do_tx(FTGMAC100State *s, uint32_t tx_ring,
             qemu_send_packet(qemu_get_queue(s->nic), s->frame, frame_size);
             qemu_send_packet(qemu_get_queue(s->nic), s->frame, frame_size);
             ptr = s->frame;
             ptr = s->frame;
             frame_size = 0;
             frame_size = 0;
-            if (flags & FTGMAC100_TXDES1_TXIC) {
-                s->isr |= FTGMAC100_INT_XPKT_ETH;
-            }
+            s->isr |= FTGMAC100_INT_XPKT_ETH;
         }
         }
 
 
         if (flags & FTGMAC100_TXDES1_TX2FIC) {
         if (flags & FTGMAC100_TXDES1_TX2FIC) {