[BACK]Return to if_sip.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / dev / pci

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/dev/pci/if_sip.c between version 1.186 and 1.187

version 1.186, 2022/05/24 20:50:19 version 1.187, 2022/08/06 15:38:42
Line 569  sip_init_txdesc(struct sip_softc *sc, in
Line 569  sip_init_txdesc(struct sip_softc *sc, in
                 sipd->sipd_words[sc->sc_bufptr_idx] = htole32(bufptr);                  sipd->sipd_words[sc->sc_bufptr_idx] = htole32(bufptr);
         }          }
         sipd->sipd_words[sc->sc_extsts_idx] = 0;          sipd->sipd_words[sc->sc_extsts_idx] = 0;
         membar_producer();  
         sipd->sipd_words[sc->sc_cmdsts_idx] = htole32(cmdsts);          sipd->sipd_words[sc->sc_cmdsts_idx] = htole32(cmdsts);
         /* sip_cdtxsync() will be done later. */          /* sip_cdtxsync() will be done later. */
 }  }
Line 596  sip_init_rxdesc(struct sip_softc *sc, in
Line 595  sip_init_rxdesc(struct sip_softc *sc, in
                     htole32(rxs->rxs_dmamap->dm_segs[0].ds_addr);                      htole32(rxs->rxs_dmamap->dm_segs[0].ds_addr);
         }          }
         sipd->sipd_words[sc->sc_extsts_idx] = 0;          sipd->sipd_words[sc->sc_extsts_idx] = 0;
         membar_producer();          sip_cdrxsync(sc, x, BUS_DMASYNC_PREWRITE);
         sipd->sipd_words[sc->sc_cmdsts_idx] =          sipd->sipd_words[sc->sc_cmdsts_idx] =
             htole32(CMDSTS_INTR | (sc->sc_parm->p_rxbuf_len &              htole32(CMDSTS_INTR | (sc->sc_parm->p_rxbuf_len &
                                    sc->sc_bits.b_cmdsts_size_mask));                                     sc->sc_bits.b_cmdsts_size_mask));
Line 2126  gsip_rxintr(struct sip_softc *sc)
Line 2125  gsip_rxintr(struct sip_softc *sc)
   
                 cmdsts =                  cmdsts =
                     le32toh(sc->sc_rxdescs[i].sipd_words[sc->sc_cmdsts_idx]);                      le32toh(sc->sc_rxdescs[i].sipd_words[sc->sc_cmdsts_idx]);
                 extsts =  
                     le32toh(sc->sc_rxdescs[i].sipd_words[sc->sc_extsts_idx]);  
                 len = CMDSTS_SIZE(sc, cmdsts);  
   
                 /*                  /*
                  * NOTE: OWN is set if owned by _consumer_.  We're the                   * NOTE: OWN is set if owned by _consumer_.  We're the
Line 2142  gsip_rxintr(struct sip_softc *sc)
Line 2138  gsip_rxintr(struct sip_softc *sc)
                         break;                          break;
                 }                  }
   
                   sip_cdrxsync(sc, i, BUS_DMASYNC_POSTREAD);
   
                   extsts =
                       le32toh(sc->sc_rxdescs[i].sipd_words[sc->sc_extsts_idx]);
                   len = CMDSTS_SIZE(sc, cmdsts);
   
                 if (__predict_false(sc->sc_rxdiscard)) {                  if (__predict_false(sc->sc_rxdiscard)) {
                         sip_init_rxdesc(sc, i);                          sip_init_rxdesc(sc, i);
                         if ((cmdsts & CMDSTS_MORE) == 0) {                          if ((cmdsts & CMDSTS_MORE) == 0) {

Legend:
Removed from v.1.186  
changed lines
  Added in v.1.187

CVSweb <webmaster@jp.NetBSD.org>