NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
doca_dpa_dev_comch_msgq.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES, ALL RIGHTS RESERVED.
3  *
4  * This software product is a proprietary product of NVIDIA CORPORATION &
5  * AFFILIATES (the "Company") and all right, title, and interest in and to the
6  * software product, including all associated intellectual property rights, are
7  * and shall remain exclusively with the Company.
8  *
9  * This software product is governed by the End User License Agreement
10  * provided with the software product.
11  *
12  */
13 
23 #ifndef DOCA_DPA_DEV_COMCH_MSGQ_H_
24 #define DOCA_DPA_DEV_COMCH_MSGQ_H_
25 
26 #include <doca_dpa_dev.h>
27 #include <doca_dpa_dev_buf.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
38 
43 
48 
53 
62 
75 
88  uint32_t *imm_length);
89 
101 
110  uint64_t num_comp);
111 
119  doca_dpa_dev_comch_consumer_completion_t consumer_comp_handle);
120 
132 
144  uint32_t consumer_id,
145  const uint8_t *imm,
146  uint32_t imm_length,
147  uint32_t flags);
148 
165  uint32_t consumer_id,
166  doca_dpa_dev_mmap_t dst_mmap,
167  uint64_t dst_addr,
168  doca_dpa_dev_mmap_t src_mmap,
169  uint64_t src_addr,
170  size_t length,
171  const uint8_t *imm,
172  uint32_t imm_length,
173  uint32_t flags);
174 
175 #ifdef __cplusplus
176 }
177 #endif
178 
181 #endif /* DOCA_DPA_DEV_COMCH_MSGQ_H_ */
struct dpa_thread_arg __dpa_global__
uint64_t doca_dpa_dev_comch_consumer_completion_t
DPA handle for DPA consumer completion context.
uint64_t doca_dpa_dev_comch_consumer_t
DPA handle for DPA consumer.
uint64_t doca_dpa_dev_comch_producer_t
DPA handle for DPA producer.
#define DOCA_EXPERIMENTAL
To set a Symbol (or specifically a function) as experimental.
Definition: doca_compat.h:103
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.
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.
__dpa_global__ typedef uint64_t doca_dpa_dev_comch_consumer_t
DPA Comch consumer handle type definition.
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.
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.
__dpa_global__ typedef uint64_t doca_dpa_dev_comch_consumer_completion_element_t
DPA Comch consumer completion element handle type definition.
__dpa_global__ typedef uint64_t doca_dpa_dev_comch_consumer_completion_t
DPA Comch consumer completion handle type definition.
__dpa_global__ typedef uint64_t doca_dpa_dev_comch_producer_t
DPA Comch producer handle type definition.
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.
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.
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.
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.
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.
uint32_t doca_dpa_dev_mmap_t
Handle on the DPA for a doca_mmap instance.
Definition: doca_mmap.h:74
uint32_t src_addr
Definition: packets.h:8
uint32_t dst_addr
Definition: packets.h:9