Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
drivers/infiniband/hw/mana/wr.c shadow_queue_producer_entry() -> shadow_queue_get_element()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | queue | 4096-ptr_max |
| PARAM_VALUE | 0 | queue->length | 1-u32max |
| DATA_SOURCE | 0 | queue | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
drivers/infiniband/hw/mana/cq.c shadow_queue_get_next_to_complete() -> shadow_queue_get_element()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | queue | 4096-ptr_max |
| DATA_SOURCE | 0 | queue | $0 |
| PARAM_COMPARE | 0 | queue->next_to_complete_idx | != $0->prod_idx |
| PARAM_COMPARE | 1 | unmasked_index | != $0->prod_idx |
| PARAM_COMPARE | 1 | unmasked_index | != $0->prod_idx |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &cq->cq_lock | ||
| LOCK2 | flags | ||
| TYPE_LOCK | (struct mana_ib_cq)->cq_lock |
drivers/infiniband/hw/mana/cq.c shadow_queue_get_next_to_consume() -> shadow_queue_get_element()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | queue | 4096-ptr_max |
| DATA_SOURCE | 0 | queue | $0 |
| PARAM_COMPARE | 0 | queue->cons_idx | != $0->next_to_complete_idx |
| PARAM_COMPARE | 1 | unmasked_index | != $0->next_to_complete_idx |
| PARAM_COMPARE | 1 | unmasked_index | != $0->next_to_complete_idx |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &cq->cq_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct mana_ib_cq)->cq_lock |