Author: avos
Date: Mon Jan  7 03:36:33 2019
New Revision: 342827
URL: https://svnweb.freebsd.org/changeset/base/342827

Log:
  MFC r342672:
  rtwn_pci: fix excessive packet loss on Tx with RTL8188EE.
  
  Use proper flags for bus_dmamap_sync() in Tx path.
  
  MFC r342676:
  rtwn_pci(4): use proper bus_dmamap_sync flags after Tx.

Modified:
  stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c
  stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c
==============================================================================
--- stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c    Mon Jan  7 02:39:40 2019        
(r342826)
+++ stable/12/sys/dev/rtwn/pci/rtwn_pci_rx.c    Mon Jan  7 03:36:33 2019        
(r342827)
@@ -197,7 +197,8 @@ rtwn_pci_tx_done(struct rtwn_softc *sc, int qid)
        RTWN_DPRINTF(sc, RTWN_DEBUG_INTR, "%s: qid %d, last %d, cur %d\n",
            __func__, qid, ring->last, ring->cur);
 
-       bus_dmamap_sync(ring->desc_dmat, ring->desc_map, BUS_DMASYNC_POSTREAD);
+       bus_dmamap_sync(ring->desc_dmat, ring->desc_map,
+           BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
 
        while(ring->last != ring->cur) {
                data = &ring->tx_data[ring->last];

Modified: stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c
==============================================================================
--- stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c    Mon Jan  7 02:39:40 2019        
(r342826)
+++ stable/12/sys/dev/rtwn/pci/rtwn_pci_tx.c    Mon Jan  7 03:36:33 2019        
(r342827)
@@ -174,8 +174,8 @@ rtwn_pci_tx_start_frame(struct rtwn_softc *sc, struct 
        rtwn_dump_tx_desc(sc, txd);
 
        bus_dmamap_sync(ring->desc_dmat, ring->desc_map,
-           BUS_DMASYNC_POSTWRITE);
-       bus_dmamap_sync(ring->data_dmat, data->map, BUS_DMASYNC_POSTWRITE);
+           BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
+       bus_dmamap_sync(ring->data_dmat, data->map, BUS_DMASYNC_PREWRITE);
 
        data->m = m;
        data->ni = ni;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to