Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Aug 2009 14:39:08 +0000 (UTC)
From:      Rafal Jaworowski <raj@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/usb usb_busdma.c
Message-ID:  <200908191439.n7JEdTv2058299@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
raj         2009-08-19 14:39:08 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/usb          usb_busdma.c 
  Log:
  SVN rev 196380 on 2009-08-19 14:39:08Z by raj
  
  Fix USB cache sync operations for platforms with non-coherent DMA.
  
  - usb_pc_cpu_invalidate() is called between [consecutive] reads from a device,
    so a sequence of BUS_DMASYNC_POSTREAD and _PREREAD should be used. Note we
    cannot use or'ed shorthand ( _POSTREAD | _PREREAD) for BUS_DMASYNC flags, as
    the low level bus dma sync operation is implementation dependent and we
    cannot assume the required order of operations to be guaranteed.
  
  - usb_pc_cpu_flush() is called before writing to a device, so
    BUS_DMASYNC_PREWRITE should be used.
  
  Submitted by:   Grzegorz Bernacki
  Reviewed by:    HPS, arm@, usb@ ML
  Tested by:      HPS, Mike Tancsa
  Approved by:    re (kib)
  Obtained from:  Semihalf
  
  Revision  Changes    Path
  1.14      +3 -4      src/sys/dev/usb/usb_busdma.c



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