1. 11 7月, 2012 1 次提交
    • B
      crypto: caam - Using alloc_coherent for caam job rings · 1af8ea86
      Bharat Bhushan 提交于
      The caam job rings (input/output job ring) are allocated using
      dma_map_single(). These job rings can be visualized as the ring
      buffers in which the jobs are en-queued/de-queued. The s/w enqueues
      the jobs in input job ring which h/w dequeues and after processing
      it copies the jobs in output job ring. Software then de-queues the
      job from output ring. Using dma_map/unmap_single() is not preferred
      way to allocate memory for this type of requirements because this
      adds un-necessary complexity.
      
      Example, if bounce buffer (SWIOTLB) will get used then to make any
      change visible in this memory to other processing unit requires
      dmap_unmap_single() or dma_sync_single_for_cpu/device(). The
      dma_unmap_single() can not be used as this will free the bounce
      buffer, this will require changing the job rings on running system
      and I seriously doubt that it will be not possible or very complex
      to implement. Also using dma_sync_single_for_cpu/device() will also
      add unnecessary complexity.
      
      The simple and preferred way is using dma_alloc_coherent() for these
      type of memory requirements.
      
      This resolves the Linux boot crash issue when "swiotlb=force" is set
      in bootargs on systems which have memory more than 4G.
      Signed-off-by: NBharat Bhushan <bharat.bhushan@freescale.com>
      Acked-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      1af8ea86
  2. 27 6月, 2012 6 次提交
  3. 03 5月, 2011 1 次提交
  4. 27 3月, 2011 1 次提交
    • K
      crypto: caam - Add support for the Freescale SEC4/CAAM · 8e8ec596
      Kim Phillips 提交于
      The SEC4 supercedes the SEC2.x/3.x as Freescale's
      Integrated Security Engine.  Its programming model is
      incompatible with all prior versions of the SEC (talitos).
      
      The SEC4 is also known as the Cryptographic Accelerator
      and Assurance Module (CAAM); this driver is named caam.
      
      This initial submission does not include support for Data Path
      mode operation - AEAD descriptors are submitted via the job
      ring interface, while the Queue Interface (QI) is enabled
      for use by others.  Only AEAD algorithms are implemented
      at this time, for use with IPsec.
      
      Many thanks to the Freescale STC team for their contributions
      to this driver.
      Signed-off-by: NSteve Cornelius <sec@pobox.com>
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      8e8ec596