| 275 | } |
| 276 | |
| 277 | static int ena_com_init_comp_ctxt(struct ena_com_admin_queue *admin_queue) |
| 278 | { |
| 279 | struct ena_com_dev *ena_dev = admin_queue->ena_dev; |
| 280 | size_t size = admin_queue->q_depth * sizeof(struct ena_comp_ctx); |
| 281 | struct ena_comp_ctx *comp_ctx; |
| 282 | u16 i; |
| 283 | |
| 284 | admin_queue->comp_ctx = ENA_MEM_ALLOC(admin_queue->q_dmadev, size); |
| 285 | if (unlikely(!admin_queue->comp_ctx)) { |
| 286 | ena_trc_err(ena_dev, "Memory allocation failed\n"); |
| 287 | return ENA_COM_NO_MEM; |
| 288 | } |
| 289 | |
| 290 | for (i = 0; i < admin_queue->q_depth; i++) { |
| 291 | comp_ctx = get_comp_ctxt(admin_queue, i, false); |
| 292 | if (comp_ctx) |
| 293 | ENA_WAIT_EVENT_INIT(comp_ctx->wait_event); |
| 294 | } |
| 295 | |
| 296 | return 0; |
| 297 | } |
| 298 | |
| 299 | static struct ena_comp_ctx *ena_com_submit_admin_cmd(struct ena_com_admin_queue *admin_queue, |
| 300 | struct ena_admin_aq_entry *cmd, |
no test coverage detected