1. 20 11月, 2009 4 次提交
  2. 22 9月, 2009 1 次提交
    • D
      ioat3: fix uninitialized var warnings · cdef57db
      Dan Williams 提交于
      drivers/dma/ioat/dma_v3.c: In function 'ioat3_prep_memset_lock':
      drivers/dma/ioat/dma_v3.c:439: warning: 'fill' may be used uninitialized in this function
      drivers/dma/ioat/dma_v3.c:437: warning: 'desc' may be used uninitialized in this function
      drivers/dma/ioat/dma_v3.c: In function '__ioat3_prep_xor_lock':
      drivers/dma/ioat/dma_v3.c:489: warning: 'xor' may be used uninitialized in this function
      drivers/dma/ioat/dma_v3.c:486: warning: 'desc' may be used uninitialized in this function
      drivers/dma/ioat/dma_v3.c: In function '__ioat3_prep_pq_lock':
      drivers/dma/ioat/dma_v3.c:631: warning: 'pq' may be used uninitialized in this function
      drivers/dma/ioat/dma_v3.c:628: warning: 'desc' may be used uninitialized in this function
      
      gcc-4.0, unlike gcc-4.3, does not see that these variables are
      initialized before use.  Convert the descriptor loops to do-while make
      this initialization apparent.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      cdef57db
  3. 09 9月, 2009 9 次提交
    • D
      ioat3: segregate raid engines · e3232714
      Dan Williams 提交于
      The cleanup routine for the raid cases imposes extra checks for handling
      raid descriptors and extended descriptors.  If the channel does not
      support raid it can avoid this extra overhead by using the ioat2 cleanup
      path.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      e3232714
    • D
      ioat3: interrupt descriptor support · 58c8649e
      Dan Williams 提交于
      The async_tx api uses the DMA_INTERRUPT operation type to terminate a
      chain of issued operations with a callback routine.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      58c8649e
    • D
      ioat3: support xor via pq descriptors · ae786624
      Dan Williams 提交于
      If a platform advertises pq capabilities, but not xor, then use
      ioat3_prep_pqxor and ioat3_prep_pqxor_val to simulate xor support.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      ae786624
    • D
      ioat3: pq support · d69d235b
      Dan Williams 提交于
      ioat3.2 adds support for raid6 syndrome generation (xor sum of galois
      field multiplication products) using up to 8 sources.  It can also
      perform an pq-zero-sum operation to validate whether the syndrome for a
      given set of sources matches a previously computed syndrome.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      d69d235b
    • D
      ioat3: xor self test · 9de6fc71
      Dan Williams 提交于
      This adds a hardware specific self test to be called from ioat_probe.
      In the ioat3 case we will have tests for all the different raid
      operations, while ioat1 and ioat2 will continue to just test memcpy.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      9de6fc71
    • D
      ioat3: xor support · b094ad3b
      Dan Williams 提交于
      ioat3.2 adds xor offload support for up to 8 sources.  It can also
      perform an xor-zero-sum operation to validate whether all given sources
      sum to zero, without writing to a destination.  Xor descriptors differ
      from memcpy in that one operation may require multiple descriptors
      depending on the number of sources.  When the number of sources exceeds
      5 an extended descriptor is needed.  These descriptors need to be
      accounted for when updating the DMA_COUNT register.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      b094ad3b
    • D
      ioat3: enable dca for completion writes · e61dacae
      Dan Williams 提交于
      Tag completion writes for direct cache access to reduce the latency of
      checking for descriptor completions.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      e61dacae
    • D
      ioat: add 'ioat' sysfs attributes · 5669e31c
      Dan Williams 提交于
      Export driver attributes for diagnostic purposes:
      'ring_size': total number of descriptors available to the engine
      'ring_active': number of descriptors in-flight
      'capabilities': supported operation types for this channel
      'version': Intel(R) QuickData specfication revision
      
      This also allows some chattiness to be removed from the driver startup
      as this information is now available via sysfs.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      5669e31c
    • D
      ioat3: split ioat3 support to its own file, add memset · bf40a686
      Dan Williams 提交于
      Up until this point the driver for Intel(R) QuickData Technology
      engines, specification versions 2 and 3, were mostly identical save for
      a few quirks.  Version 3.2 hardware adds many new capabilities (like
      raid offload support) requiring some infrastructure that is not relevant
      for v2.  For better code organization of the new funcionality move v3
      and v3.2 support to its own file dma_v3.c, and export some routines from
      the base files (dma.c and dma_v2.c) that can be reused directly.
      
      The first new capability included in this code reorganization is support
      for v3.2 memset operations.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      bf40a686