On Tue, Jun 01, 2021 at 08:24:10AM +1000, David Gwynne wrote: > > > > On 1 Jun 2021, at 04:17, Patrick Wildt <patr...@blueri.se> wrote: > > > > Hi, > > > > this call to sync the DMA mem wants to sync N - 1 number of prpl > > entries, as the first segment is configured regularly, while the > > addresses for the following segments (if more than 2), are in a > > special DMA memory. > > > > The code currently removes a single byte, instead of an entry. > > This just means that it is syncing more than it should. > > nice. > > > ok? > > ok.
ok by me too. > > > > > Patrick > > > > diff --git a/sys/dev/ic/nvme.c b/sys/dev/ic/nvme.c > > index 62b8e40c626..6db25260ef0 100644 > > --- a/sys/dev/ic/nvme.c > > +++ b/sys/dev/ic/nvme.c > > @@ -629,7 +629,7 @@ nvme_scsi_io(struct scsi_xfer *xs, int dir) > > bus_dmamap_sync(sc->sc_dmat, > > NVME_DMA_MAP(sc->sc_ccb_prpls), > > ccb->ccb_prpl_off, > > - sizeof(*ccb->ccb_prpl) * dmap->dm_nsegs - 1, > > + sizeof(*ccb->ccb_prpl) * (dmap->dm_nsegs - 1), > > BUS_DMASYNC_PREWRITE); > > } > > > > @@ -691,7 +691,7 @@ nvme_scsi_io_done(struct nvme_softc *sc, struct > > nvme_ccb *ccb, > > bus_dmamap_sync(sc->sc_dmat, > > NVME_DMA_MAP(sc->sc_ccb_prpls), > > ccb->ccb_prpl_off, > > - sizeof(*ccb->ccb_prpl) * dmap->dm_nsegs - 1, > > + sizeof(*ccb->ccb_prpl) * (dmap->dm_nsegs - 1), > > BUS_DMASYNC_POSTWRITE); > > } > > > > >