How to deal with dma on the host to access DPU's memory?

I place DMA JOB operation on the host from Bluefield-2 DPU in order to reduce the load of DPU’s arm core. I follow DOCA DMA Development Document, and the steps are here:

  1. Locating DOCA device.
  2. Initializing needed DOCA core structures.
  3. Populating DOCA memory map with destination buffer.
  4. Receiving exported data from arm DPU (sender), which is needed to create the remote memory map.
  5. Creating memory map to the remote buffer.

But when I create memory map to the remote buffer (in DPU’s memory), the function doca_mmap_create_from_export failed. The error code is DOCA_ERROR_NOT_SUPPORTED .

export object json:
{
“addr”:187650922414160,
“len”:4096,
“lkey”:395842,
“vhca_id”:0,
“access_key”:“eShVkYp3s9vdy$B&E)O@MeQfTjWnZq4”,
“access_key_sz”:32
}

Now, I don’t know where the problem is. And I’m not sure if the DOCA supports DMA operation is on the HOST to access DPU’s memory?

1 Like