NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
DOCA DPA Device - Comch MsgQ
Collaboration diagram for DOCA DPA Device - Comch MsgQ:

Functions

DOCA_EXPERIMENTAL void doca_dpa_dev_comch_consumer_ack (doca_dpa_dev_comch_consumer_t consumer, uint32_t num_msg)
 Post multiple receive operations that receive immediate data only. More...
 
DOCA_EXPERIMENTAL int doca_dpa_dev_comch_consumer_get_completion (doca_dpa_dev_comch_consumer_completion_t consumer_comp_handle, doca_dpa_dev_comch_consumer_completion_element_t *comp_element)
 Get Comch consumer completion element. More...
 
DOCA_EXPERIMENTAL const uint8_t * doca_dpa_dev_comch_consumer_get_completion_imm (doca_dpa_dev_comch_consumer_completion_element_t comp_element, uint32_t *imm_length)
 Get Comch consumer completion immediate data. More...
 
DOCA_EXPERIMENTAL uint32_t doca_dpa_dev_comch_consumer_get_completion_producer_id (doca_dpa_dev_comch_consumer_completion_element_t comp_element)
 Get Comch consumer completion producer ID. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_comch_consumer_completion_ack (doca_dpa_dev_comch_consumer_completion_t consumer_comp_handle, uint64_t num_comp)
 Acknowledge that the completions have been read on the Comch consumer completion context. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_comch_consumer_completion_request_notification (doca_dpa_dev_comch_consumer_completion_t consumer_comp_handle)
 Request notification on the Comch consumer completion context. More...
 
DOCA_EXPERIMENTAL int doca_dpa_dev_comch_producer_is_consumer_empty (doca_dpa_dev_comch_producer_t producer, uint32_t consumer_id)
 Check if consumer has posted any receive requests. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_comch_producer_post_send_imm_only (doca_dpa_dev_comch_producer_t producer, uint32_t consumer_id, const uint8_t *imm, uint32_t imm_length, uint32_t flags)
 Post a producer send immediate data only operation. More...
 
DOCA_EXPERIMENTAL void doca_dpa_dev_comch_producer_dma_copy (doca_dpa_dev_comch_producer_t producer, uint32_t consumer_id, doca_dpa_dev_mmap_t dst_mmap, uint64_t dst_addr, doca_dpa_dev_mmap_t src_mmap, uint64_t src_addr, size_t length, const uint8_t *imm, uint32_t imm_length, uint32_t flags)
 Post a DMA copy operation, and send immediate data after completion. More...
 

Variables

__dpa_global__ typedef uint64_t doca_dpa_dev_comch_consumer_t
 DPA Comch consumer handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_comch_consumer_completion_t
 DPA Comch consumer completion handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_comch_consumer_completion_element_t
 DPA Comch consumer completion element handle type definition. More...
 
__dpa_global__ typedef uint64_t doca_dpa_dev_comch_producer_t
 DPA Comch producer handle type definition. More...
 

Detailed Description

DOCA DPA Device - Comch MsgQ

Function Documentation

◆ doca_dpa_dev_comch_consumer_ack()

DOCA_EXPERIMENTAL void doca_dpa_dev_comch_consumer_ack ( doca_dpa_dev_comch_consumer_t  consumer,
uint32_t  num_msg 
)

Post multiple receive operations that receive immediate data only.

Parameters
[in]consumer- Comch consumer DPA handle
[in]num_msg- number of immediate messages to receive

◆ doca_dpa_dev_comch_consumer_completion_ack()

DOCA_EXPERIMENTAL void doca_dpa_dev_comch_consumer_completion_ack ( doca_dpa_dev_comch_consumer_completion_t  consumer_comp_handle,
uint64_t  num_comp 
)

Acknowledge that the completions have been read on the Comch consumer completion context.

Parameters
[in]consumer_comp_handle- DPA Comch consumer completion handle
[in]num_comp- Number of completion elements which have been read

◆ doca_dpa_dev_comch_consumer_completion_request_notification()

DOCA_EXPERIMENTAL void doca_dpa_dev_comch_consumer_completion_request_notification ( doca_dpa_dev_comch_consumer_completion_t  consumer_comp_handle)

Request notification on the Comch consumer completion context.

Parameters
[in]consumer_comp_handle- DPA Comch consumer completion handle

◆ doca_dpa_dev_comch_consumer_get_completion()

DOCA_EXPERIMENTAL int doca_dpa_dev_comch_consumer_get_completion ( doca_dpa_dev_comch_consumer_completion_t  consumer_comp_handle,
doca_dpa_dev_comch_consumer_completion_element_t comp_element 
)

Get Comch consumer completion element.

Parameters
[in]consumer_comp_handle- DPA Comch consumer completion handle
[out]comp_element- DPA Comch consumer completion element
Returns
This function returns 1 if there is completion element to return. Otherwise returns 0

◆ doca_dpa_dev_comch_consumer_get_completion_imm()

DOCA_EXPERIMENTAL const uint8_t* doca_dpa_dev_comch_consumer_get_completion_imm ( doca_dpa_dev_comch_consumer_completion_element_t  comp_element,
uint32_t *  imm_length 
)

Get Comch consumer completion immediate data.

Parameters
[in]comp_element- DPA Comch consumer completion element
[out]imm_length- The length of the immediate data in bytes
Returns
This function returns pointer to immediate data that producer sent

◆ doca_dpa_dev_comch_consumer_get_completion_producer_id()

DOCA_EXPERIMENTAL uint32_t doca_dpa_dev_comch_consumer_get_completion_producer_id ( doca_dpa_dev_comch_consumer_completion_element_t  comp_element)

Get Comch consumer completion producer ID.

Parameters
[in]comp_element- DPA Comch consumer completion element
Returns
This function returns producer ID of producer that sent the data

◆ doca_dpa_dev_comch_producer_dma_copy()

DOCA_EXPERIMENTAL void doca_dpa_dev_comch_producer_dma_copy ( doca_dpa_dev_comch_producer_t  producer,
uint32_t  consumer_id,
doca_dpa_dev_mmap_t  dst_mmap,
uint64_t  dst_addr,
doca_dpa_dev_mmap_t  src_mmap,
uint64_t  src_addr,
size_t  length,
const uint8_t *  imm,
uint32_t  imm_length,
uint32_t  flags 
)

Post a DMA copy operation, and send immediate data after completion.

Parameters
[in]producer- Comch producer DPA handle
[in]consumer_id- The ID of the consumer to send to
[in]dst_mmap- The DOCA mmap DPA handle of the destination buffer
[in]dst_addr- address of destination buffer
[in]src_mmap- The DOCA mmap DPA handle of the source buffer
[in]src_addr- address of source buffer
[in]length- length of the copy operation
[in]imm- The immediate data to send
[in]imm_length- The length of the immediate data in bytes
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

◆ doca_dpa_dev_comch_producer_is_consumer_empty()

DOCA_EXPERIMENTAL int doca_dpa_dev_comch_producer_is_consumer_empty ( doca_dpa_dev_comch_producer_t  producer,
uint32_t  consumer_id 
)

Check if consumer has posted any receive requests.

Parameters
[in]producer- DPA Comch producer handle
[in]consumer_id- The ID of the consumer to check
Returns
This function returns 1 if consumer does not have any receive requests. Otherwise returns 0

◆ doca_dpa_dev_comch_producer_post_send_imm_only()

DOCA_EXPERIMENTAL void doca_dpa_dev_comch_producer_post_send_imm_only ( doca_dpa_dev_comch_producer_t  producer,
uint32_t  consumer_id,
const uint8_t *  imm,
uint32_t  imm_length,
uint32_t  flags 
)

Post a producer send immediate data only operation.

Parameters
[in]producer- Comch producer DPA handle
[in]consumer_id- The ID of the consumer to send to
[in]imm- The immediate data to send
[in]imm_length- The length of the immediate data in bytes
[in]flags- bitwise or of enum doca_dpa_dev_submit_flag (see enum doca_dpa_dev_submit_flag for more details)

Variable Documentation

◆ doca_dpa_dev_comch_consumer_completion_element_t

__dpa_global__ typedef uint64_t doca_dpa_dev_comch_consumer_completion_element_t

DPA Comch consumer completion element handle type definition.

Definition at line 47 of file doca_dpa_dev_comch_msgq.h.

◆ doca_dpa_dev_comch_consumer_completion_t

DPA Comch consumer completion handle type definition.

Definition at line 42 of file doca_dpa_dev_comch_msgq.h.

◆ doca_dpa_dev_comch_consumer_t

DPA Comch consumer handle type definition.

Definition at line 37 of file doca_dpa_dev_comch_msgq.h.

◆ doca_dpa_dev_comch_producer_t

DPA Comch producer handle type definition.

Definition at line 52 of file doca_dpa_dev_comch_msgq.h.