Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Feb 2007 15:07:53 -0600
From:      Jason Harmening <jason.harmening@gmail.com>
To:        freebsd-doc@freebsd.org, freebsd-drivers@freebsd.org
Subject:   Inconsistency in bus_dma manpage?
Message-ID:  <200702111507.53789.jason.harmening@gmail.com>

next in thread | raw e-mail | index | archive | help
In the busdma_sync_op_t section of the bus_dma manpage, the sync operations 
are described as follows:

              BUS_DMASYNC_PREREAD    Perform any synchronization required
                                     prior to an update of host memory by the
                                     DMA read operation.

              BUS_DMASYNC_PREWRITE   Perform any synchronization required
                                     after an update of host memory by the CPU
                                     and prior to DMA write operations.

              BUS_DMASYNC_POSTREAD   Perform any synchronization required
                                     after DMA read operations and prior to
                                     CPU access to host memory.

              BUS_DMASYNC_POSTWRITE  Perform any synchronization required
                                     after DMA write operations.

Makes sense...But in the section describing bus_dmamap_load, the following 
example is given:

	      For example,
              the CPU might be used to setup the contents of a buffer that is
              to be DMA'ed into a device.  To ensure that the data are visible
              via the device's mapping of that memory, the buffer must be
              loaded and a dma sync operation of BUS_DMASYNC_PREREAD must be
              performed.


I believe the example is incorrect--it's actually describing the case where 
BUS_DMASYNC_PREWRITE would be necessary.

Thanks,
Jason Harmening



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702111507.53789.jason.harmening>