From 6e10c8b8c596d1c03428c74b6e243530c0da5813 Mon Sep 17 00:00:00 2001 From: Luigi Rizzo Date: Tue, 10 Jan 2012 19:57:23 +0000 Subject: small code cleanup in preparation for future modifications in the memory allocator used by netmap. No functional change, two small bug fixes: - in if_re.c add a missing bus_dmamap_sync() - in netmap.c comment out a spurious free() in an error handling block --- sys/dev/netmap/if_igb_netmap.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'sys/dev/netmap/if_igb_netmap.h') diff --git a/sys/dev/netmap/if_igb_netmap.h b/sys/dev/netmap/if_igb_netmap.h index 5e41742c0d27..0e4229bb0c7b 100644 --- a/sys/dev/netmap/if_igb_netmap.h +++ b/sys/dev/netmap/if_igb_netmap.h @@ -181,7 +181,8 @@ igb_netmap_txsync(void *a, u_int ring_nr, int do_lock) struct igb_tx_buffer *txbuf = &txr->tx_buffers[l]; union e1000_adv_tx_desc *curr = (union e1000_adv_tx_desc *)&txr->tx_base[l]; - void *addr = NMB(slot); + uint64_t paddr; + void *addr = PNMB(slot, &paddr); int flags = ((slot->flags & NS_REPORT) || j == 0 || j == report_frequency) ? E1000_ADVTXD_DCMD_RS : 0; @@ -195,7 +196,7 @@ igb_netmap_txsync(void *a, u_int ring_nr, int do_lock) slot->flags &= ~NS_REPORT; // XXX do we need to set the address ? - curr->read.buffer_addr = htole64(vtophys(addr)); + curr->read.buffer_addr = htole64(paddr); curr->read.olinfo_status = htole32(olinfo_status | (len<< E1000_ADVTXD_PAYLEN_SHIFT)); @@ -206,8 +207,7 @@ igb_netmap_txsync(void *a, u_int ring_nr, int do_lock) E1000_ADVTXD_DCMD_EOP | flags); if (slot->flags & NS_BUF_CHANGED) { /* buffer has changed, reload map */ - netmap_reload_map(txr->txtag, txbuf->map, - addr, na->buff_size); + netmap_reload_map(txr->txtag, txbuf->map, addr); slot->flags &= ~NS_BUF_CHANGED; } @@ -317,7 +317,8 @@ igb_netmap_rxsync(void *a, u_int ring_nr, int do_lock) struct netmap_slot *slot = ring->slot + j; union e1000_adv_rx_desc *curr = &rxr->rx_base[l]; struct igb_rx_buf *rxbuf = rxr->rx_buffers + l; - void *addr = NMB(slot); + uint64_t paddr; + void *addr = PNMB(slot, &paddr); if (addr == netmap_buffer_base) { /* bad buf */ if (do_lock) @@ -326,10 +327,9 @@ igb_netmap_rxsync(void *a, u_int ring_nr, int do_lock) } curr->wb.upper.status_error = 0; - curr->read.pkt_addr = htole64(vtophys(addr)); + curr->read.pkt_addr = htole64(paddr); if (slot->flags & NS_BUF_CHANGED) { - netmap_reload_map(rxr->ptag, rxbuf->pmap, - addr, na->buff_size); + netmap_reload_map(rxr->ptag, rxbuf->pmap, addr); slot->flags &= ~NS_BUF_CHANGED; } -- cgit v1.3