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);
> >     }
> > 
> > 
> 

Reply via email to