On 25-Oct-23 7:01 PM, Sumit Garg wrote:
Hi Jeshwank,
On Wed, 25 Oct 2023 at 12:27, jeshwank <JESHWANTHKUMAR.NK@xxxxxxx> wrote:
From: Jeshwanth Kumar N K <JESHWANTHKUMAR.NK@xxxxxxx>
At present, the shared memory for TEE ring buffer, command buffer and
data buffer is allocated using get_free_pages(). The driver shares the
physical address of these buffers with PSP so that it can be mapped by
the Trusted OS.
In this patch series we have replaced get_free_pages() with
dma_alloc_coherent() to allocate shared memory to cleanup the existing
allocation method.
Thanks for putting this together but I can't find the reasoning behind
this change neither in this commit message and nor in the patch
descriptions. Care to explain why?
-Sumit
Hi Sumit,
We see that there is an advantage in using dma_alloc_coherent() over
get_free_pages(). The dma-ops associated with PSP PCIe device can be
overridden. This capability will be helpful when we enable
virtualization support. We plan to post a virtualization related patch
in future.
Regards,
Jeshwanth
Rijo Thomas (3):
crypto: ccp - Add function to allocate and free memory using DMA APIs
crypto: ccp - Use psp_tee_alloc_buffer() and psp_tee_free_buffer()
tee: amdtee: Use psp_tee_alloc_buffer() and psp_tee_free_buffer()
drivers/crypto/ccp/psp-dev.c | 3 +
drivers/crypto/ccp/tee-dev.c | 119 ++++++++++++++++++----------
drivers/crypto/ccp/tee-dev.h | 11 +--
drivers/tee/amdtee/amdtee_private.h | 18 ++---
drivers/tee/amdtee/call.c | 74 ++++++++---------
drivers/tee/amdtee/core.c | 72 ++++++++++-------
drivers/tee/amdtee/shm_pool.c | 21 ++---
include/linux/psp-tee.h | 47 +++++++++++
8 files changed, 221 insertions(+), 144 deletions(-)
--
2.25.1