From owner-p4-projects@FreeBSD.ORG Thu Mar 9 21:34:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C6EB16A423; Thu, 9 Mar 2006 21:34:41 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2892F16A420 for ; Thu, 9 Mar 2006 21:34:41 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BE47F43D48 for ; Thu, 9 Mar 2006 21:34:40 +0000 (GMT) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k29LYemF034209 for ; Thu, 9 Mar 2006 21:34:40 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k29LYeEv034206 for perforce@freebsd.org; Thu, 9 Mar 2006 21:34:40 GMT (envelope-from cognet@freebsd.org) Date: Thu, 9 Mar 2006 21:34:40 GMT Message-Id: <200603092134.k29LYeEv034206@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 93064 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Mar 2006 21:34:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=93064 Change 93064 by cognet@cognet on 2006/03/09 21:33:46 Call bus_dmamap_sync on the rx descriptors map after we modified it, to be sure the adapter sees the new values. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#30 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#30 (text+ko) ==== @@ -608,9 +608,11 @@ if (i == ATE_MAX_RX_BUFFERS - 1) sc->rx_descs[i].addr |= ETH_WRAP_BIT; - bus_dmamap_sync(sc->rxtag, sc->rx_map[i], - BUS_DMASYNC_PREREAD); - bus_dmamap_sync(sc->rxtag, sc->rx_map[i], + bus_dmamap_sync(sc->rx_desc_tag, + sc->rx_desc_map, + BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(sc->rxtag, + sc->rx_map[i], BUS_DMASYNC_PREWRITE); continue; } @@ -627,10 +629,9 @@ printf("Failed to get another mbuf -- discarding packet\n"); sc->rx_mbuf[i] = mb; sc->rx_descs[i].addr &= ~ETH_CPU_OWNER; - bus_dmamap_sync(sc->rxtag, sc->rx_map[i], - BUS_DMASYNC_PREREAD); - bus_dmamap_sync(sc->rxtag, sc->rx_map[i], - BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(sc->rx_desc_tag, + sc->rx_desc_map, + BUS_DMASYNC_PREWRITE); continue; } bus_dmamap_unload(sc->rxtag, sc->rx_map[i]); @@ -640,10 +641,9 @@ printf("Failed to load mbuf -- discarding packet -- reload old?\n"); sc->rx_mbuf[i] = mb; sc->rx_descs[i].addr &= ~ETH_CPU_OWNER; - bus_dmamap_sync(sc->rxtag, sc->rx_map[i], - BUS_DMASYNC_PREREAD); - bus_dmamap_sync(sc->rxtag, sc->rx_map[i], - BUS_DMASYNC_PREWRITE); + bus_dmamap_sync(sc->rx_desc_tag, + sc->rx_desc_map, + BUS_DMASYNC_PREWRITE); continue; } mb->m_len = rx_stat & ETH_LEN_MASK; @@ -658,9 +658,9 @@ sc->rx_descs[i].addr = seg.ds_addr; if (i == ATE_MAX_RX_BUFFERS - 1) sc->rx_descs[i].addr |= ETH_WRAP_BIT; - else - bus_dmamap_sync(sc->rxtag, sc->rx_map[i], - BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->rx_desc_tag, + sc->rx_desc_map, + BUS_DMASYNC_PREWRITE); bus_dmamap_sync(sc->rxtag, sc->rx_map[i], BUS_DMASYNC_PREWRITE); (*sc->ifp->if_input)(sc->ifp, mb);