Lines Matching defs:qa_info

2343 tavor_queue_alloc(tavor_state_t *state, tavor_qalloc_info_t *qa_info,
2354 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*qa_info))
2366 dma_attr.dma_attr_align = qa_info->qa_bind_align;
2374 &qa_info->qa_dmahdl);
2392 alloc_mask = qa_info->qa_alloc_align - 1;
2393 if (qa_info->qa_bind_align == qa_info->qa_alloc_align) {
2394 realsize = qa_info->qa_size;
2396 realsize = qa_info->qa_size + alloc_mask;
2408 if (qa_info->qa_location == TAVOR_QUEUE_LOCATION_NORMAL) {
2418 status = ddi_dma_mem_alloc(qa_info->qa_dmahdl, realsize,
2420 (caddr_t *)&qa_info->qa_buf_real,
2421 (size_t *)&qa_info->qa_buf_realsz, &qa_info->qa_acchdl);
2423 ddi_dma_free_handle(&qa_info->qa_dmahdl);
2434 qa_info->qa_buf_aligned = qa_info->qa_buf_real;
2436 } else if (qa_info->qa_location == TAVOR_QUEUE_LOCATION_USERLAND) {
2441 qa_info->qa_buf_real = ddi_umem_alloc(realsize, flag,
2442 &qa_info->qa_umemcookie);
2443 if (qa_info->qa_buf_real == NULL) {
2444 ddi_dma_free_handle(&qa_info->qa_dmahdl);
2455 qa_info->qa_buf_aligned = qa_info->qa_buf_real;
2461 qa_info->qa_buf_real = (uint32_t *)vmem_xalloc(
2462 state->ts_ddrvmem, realsize, qa_info->qa_bind_align, 0, 0,
2464 if (qa_info->qa_buf_real == NULL) {
2465 ddi_dma_free_handle(&qa_info->qa_dmahdl);
2479 qa_info->qa_buf_aligned = (uint32_t *)(uintptr_t)(((uintptr_t)
2481 qa_info->qa_buf_real - state->ts_ddr.ddr_baseaddr));
2482 qa_info->qa_buf_realsz = realsize;
2483 qa_info->qa_acchdl = state->ts_reg_ddrhdl;
2491 if (qa_info->qa_bind_align != qa_info->qa_alloc_align) {
2492 qa_info->qa_buf_aligned = (uint32_t *)(uintptr_t)(((uintptr_t)
2493 qa_info->qa_buf_aligned + alloc_mask) & ~alloc_mask);
2506 tavor_queue_free(tavor_state_t *state, tavor_qalloc_info_t *qa_info)
2510 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*qa_info))
2517 if (qa_info->qa_location == TAVOR_QUEUE_LOCATION_NORMAL) {
2519 ddi_dma_mem_free(&qa_info->qa_acchdl);
2521 } else if (qa_info->qa_location == TAVOR_QUEUE_LOCATION_USERLAND) {
2523 ddi_umem_free(qa_info->qa_umemcookie);
2527 vmem_xfree(state->ts_ddrvmem, qa_info->qa_buf_real,
2528 qa_info->qa_buf_realsz);
2532 ddi_dma_free_handle(&qa_info->qa_dmahdl);