]> www.infradead.org Git - users/jedix/linux-maple.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)
committerSomasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Thu, 24 Aug 2017 17:56:32 +0000 (10:56 -0700)
commit8fe4810d18d687116a0b5f5d8a359a398bb8973c
treecc3eb4c8cd3478f73cc76cdf2c323ed086e5e21a
parentaa3d9aa68bdc0ded435a8fe3a9ce441140a60a2b
crypto: ccp - Assign DMA commands to the channel's CCP

Orabug: 26644685

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.

Cc: <stable@vger.kernel.org> # 4.9.x-
Signed-off-by: Gary R Hook <gary.hook@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 7c468447f40645fbf2a033dfdaa92b1957130d50)
Signed-off-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
drivers/crypto/ccp/ccp-dev.c
drivers/crypto/ccp/ccp-dmaengine.c
include/linux/ccp.h