Lines Matching refs:pool
748 static int ibmvfc_valid_event(struct ibmvfc_event_pool *pool, in ibmvfc_valid_event() argument
751 int index = evt - pool->events; in ibmvfc_valid_event()
752 if (index < 0 || index >= pool->size) /* outside of bounds */ in ibmvfc_valid_event()
754 if (evt != pool->events + index) /* unaligned */ in ibmvfc_valid_event()
767 struct ibmvfc_event_pool *pool = &vhost->pool; in ibmvfc_free_event() local
769 BUG_ON(!ibmvfc_valid_event(pool, evt)); in ibmvfc_free_event()
1207 struct ibmvfc_event_pool *pool = &vhost->pool; in ibmvfc_init_event_pool() local
1210 pool->size = max_requests + IBMVFC_NUM_INTERNAL_REQ; in ibmvfc_init_event_pool()
1211 pool->events = kcalloc(pool->size, sizeof(*pool->events), GFP_KERNEL); in ibmvfc_init_event_pool()
1212 if (!pool->events) in ibmvfc_init_event_pool()
1215 pool->iu_storage = dma_alloc_coherent(vhost->dev, in ibmvfc_init_event_pool()
1216 pool->size * sizeof(*pool->iu_storage), in ibmvfc_init_event_pool()
1217 &pool->iu_token, 0); in ibmvfc_init_event_pool()
1219 if (!pool->iu_storage) { in ibmvfc_init_event_pool()
1220 kfree(pool->events); in ibmvfc_init_event_pool()
1224 for (i = 0; i < pool->size; ++i) { in ibmvfc_init_event_pool()
1225 struct ibmvfc_event *evt = &pool->events[i]; in ibmvfc_init_event_pool()
1228 evt->crq.ioba = cpu_to_be64(pool->iu_token + (sizeof(*evt->xfer_iu) * i)); in ibmvfc_init_event_pool()
1229 evt->xfer_iu = pool->iu_storage + i; in ibmvfc_init_event_pool()
1247 struct ibmvfc_event_pool *pool = &vhost->pool; in ibmvfc_free_event_pool() local
1250 for (i = 0; i < pool->size; ++i) { in ibmvfc_free_event_pool()
1251 list_del(&pool->events[i].queue); in ibmvfc_free_event_pool()
1252 BUG_ON(atomic_read(&pool->events[i].free) != 1); in ibmvfc_free_event_pool()
1253 if (pool->events[i].ext_list) in ibmvfc_free_event_pool()
1255 pool->events[i].ext_list, in ibmvfc_free_event_pool()
1256 pool->events[i].ext_list_token); in ibmvfc_free_event_pool()
1259 kfree(pool->events); in ibmvfc_free_event_pool()
1261 pool->size * sizeof(*pool->iu_storage), in ibmvfc_free_event_pool()
1262 pool->iu_storage, pool->iu_token); in ibmvfc_free_event_pool()
2778 if (unlikely(!ibmvfc_valid_event(&vhost->pool, evt))) { in ibmvfc_handle_crq()