]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit
crypto: ccp - Assign DMA commands to the channel's CCP
authorGary R Hook <ghook@amd.com>
Fri, 10 Mar 2017 18:28:18 +0000 (12:28 -0600)
committerTim Gardner <tim.gardner@canonical.com>
Thu, 30 Mar 2017 12:35:45 +0000 (06:35 -0600)
commit4cdfea0037856fb6872e1e6b5bf7de3770ad1827
tree197adcbe82d3e364d40873dbde8ddf5d7617cc74
parentdbeccda3b344d3ee5f1431188867a9d7208a2509
crypto: ccp - Assign DMA commands to the channel's CCP

BugLink: http://bugs.launchpad.net/bugs/1677589
commit 7c468447f40645fbf2a033dfdaa92b1957130d50 upstream.

The CCP driver generally uses a round-robin approach when
assigning operations to available CCPs. For the DMA engine,
however, the DMA mappings of the SGs are associated with a
specific CCP. When an IOMMU is enabled, the IOMMU is
programmed based on this specific device.

If the DMA operations are not performed by that specific
CCP then addressing errors and I/O page faults will occur.

Update the CCP driver to allow a specific CCP device to be
requested for an operation and use this in the DMA engine
support.

Signed-off-by: Gary R Hook <gary.hook@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
drivers/crypto/ccp/ccp-dev.c
drivers/crypto/ccp/ccp-dmaengine.c
include/linux/ccp.h