Home
last modified time | relevance | path

Searched refs:ib_q (Results 1 – 6 of 6) sorted by relevance

/freebsd/sys/dev/smartpqi/
H A Dsmartpqi_cmd.c34 pqisrc_submit_cmnd(pqisrc_softstate_t *softs, ib_queue_t *ib_q, void *req) in pqisrc_submit_cmnd() argument
45 ASSERT(iu_len <= ib_q->elem_size); in pqisrc_submit_cmnd()
47 PQI_LOCK(&ib_q->lock); in pqisrc_submit_cmnd()
50 if ((ib_q->pi_local + 1) % ib_q->num_elem == *(ib_q->ci_virt_addr)) { in pqisrc_submit_cmnd()
52 PQI_UNLOCK(&ib_q->lock); in pqisrc_submit_cmnd()
57 offset = ib_q->pi_local * ib_q->elem_size; in pqisrc_submit_cmnd()
58 slot = ib_q->array_virt_addr + offset; in pqisrc_submit_cmnd()
67 ib_q->pi_local = (ib_q->pi_local + 1) % ib_q->num_elem; in pqisrc_submit_cmnd()
69 ib_q->pi_local, hdr->iu_length); in pqisrc_submit_cmnd()
71 *(ib_q->ci_virt_addr)); in pqisrc_submit_cmnd()
[all …]
H A Dsmartpqi_queue.c40 ib_queue_t *ib_q = &softs->admin_ib_queue; in pqisrc_submit_admin_req() local
62 ret = pqisrc_submit_cmnd(softs, ib_q, req); in pqisrc_submit_admin_req()
149 pqisrc_allocate_and_init_inbound_q(pqisrc_softstate_t *softs, ib_queue_t *ib_q, char *tag) in pqisrc_allocate_and_init_inbound_q() argument
151 struct dma_mem *dma_mem = &ib_q->alloc_dma; in pqisrc_allocate_and_init_inbound_q()
158 ib_array_size = ib_q->num_elem * ib_q->elem_size; in pqisrc_allocate_and_init_inbound_q()
168 ret = os_dma_mem_alloc(softs, &ib_q->alloc_dma); in pqisrc_allocate_and_init_inbound_q()
185 ib_q->array_virt_addr = virt_addr; in pqisrc_allocate_and_init_inbound_q()
186 ib_q->array_dma_addr = dma_addr; in pqisrc_allocate_and_init_inbound_q()
187 ib_q->pi_local = 0; in pqisrc_allocate_and_init_inbound_q()
195 ib_q->ci_virt_addr = (uint32_t*)virt_addr; in pqisrc_allocate_and_init_inbound_q()
[all …]
H A Dsmartpqi_request.c989 ib_queue_t *ib_q = NULL; in pqisrc_build_send_io() local
1028 ib_q = (ib_q_array + qindex); in pqisrc_build_send_io()
1029 PQI_LOCK(&ib_q->lock); in pqisrc_build_send_io()
1030 num_elem_available = pqisrc_contiguous_free_elem(ib_q->pi_local, in pqisrc_build_send_io()
1031 *(ib_q->ci_virt_addr), ib_q->num_elem); in pqisrc_build_send_io()
1040 PQI_UNLOCK(&ib_q->lock); in pqisrc_build_send_io()
1059 ib_iu = ib_q->array_virt_addr + (ib_q->pi_local * ib_q->elem_size); in pqisrc_build_send_io()
1072 rcb->req_q = ib_q; in pqisrc_build_send_io()
1078 ib_q->pi_local = (ib_q->pi_local + num_elem_alloted) % ib_q->num_elem; in pqisrc_build_send_io()
1080 DBG_IO("ib_q->pi_local : %x\n", ib_q->pi_local); in pqisrc_build_send_io()
[all …]
H A Dsmartpqi_event.c67 ib_queue_t *ib_q = &softs->op_raid_ib_q[0]; in pqisrc_acknowledge_event() local
81 ret = pqisrc_submit_cmnd(softs, ib_q, &request); in pqisrc_acknowledge_event()
94 COND_WAIT(((ib_q->pi_local) == *(ib_q->ci_virt_addr)), tmo); in pqisrc_acknowledge_event()
H A Dsmartpqi_ioctl.c244 ib_queue_t *ib_q = &softs->op_raid_ib_q[PQI_DEFAULT_IB_QUEUE]; in pqisrc_passthru_ioctl() local
347 ret = pqisrc_submit_cmnd(softs, ib_q, &request); in pqisrc_passthru_ioctl()
H A Dsmartpqi_discovery.c416 ib_queue_t *ib_q = &softs->op_raid_ib_q[PQI_DEFAULT_IB_QUEUE]; in pqisrc_build_send_raid_request() local
448 ret = pqisrc_submit_cmnd(softs, ib_q, request); in pqisrc_build_send_raid_request()