From owner-freebsd-doc@FreeBSD.ORG Sun Feb 11 21:36:37 2007 Return-Path: X-Original-To: freebsd-doc@freebsd.org Delivered-To: freebsd-doc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3DC9216A400 for ; Sun, 11 Feb 2007 21:36:37 +0000 (UTC) (envelope-from jason.harmening@gmail.com) Received: from nz-out-0506.google.com (nz-out-0506.google.com [64.233.162.230]) by mx1.freebsd.org (Postfix) with ESMTP id 0381F13C47E for ; Sun, 11 Feb 2007 21:36:36 +0000 (UTC) (envelope-from jason.harmening@gmail.com) Received: by nz-out-0506.google.com with SMTP id i11so1494482nzh for ; Sun, 11 Feb 2007 13:36:36 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:from:to:subject:date:user-agent:mime-version:content-type:content-transfer-encoding:content-disposition:message-id; b=I7OPPVCaQToFn8KzThEO9Mz482wuJ8HtFdaKs5KyXCTt4Uw/YT2meO280GGZ0e0ILHUoYl3+ZrKdFD4s161gZ0uTCtpZjZg3W5TeaOvSUlen/I2RNWRyV07dzA7PpKeZM0eIF/AXdwrVd7B1PpUeoHEgeElbSnkrAl561TcKFm8= Received: by 10.65.211.16 with SMTP id n16mr19509998qbq.1171228050722; Sun, 11 Feb 2007 13:07:30 -0800 (PST) Received: from ?192.168.0.137? ( [70.113.12.165]) by mx.google.com with ESMTP id 15sm32212814nzo.2007.02.11.13.07.29; Sun, 11 Feb 2007 13:07:29 -0800 (PST) From: Jason Harmening To: freebsd-doc@freebsd.org, freebsd-drivers@freebsd.org Date: Sun, 11 Feb 2007 15:07:53 -0600 User-Agent: KMail/1.9.5 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200702111507.53789.jason.harmening@gmail.com> Cc: Subject: Inconsistency in bus_dma manpage? X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Feb 2007 21:36:37 -0000 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