Symbol: p_spq
sys/dev/qlnx/qlnxe/ecore.h
689
struct ecore_spq *p_spq;
sys/dev/qlnx/qlnxe/ecore_dev.c
2510
n_eqes = ecore_chain_get_capacity(&p_hwfn->p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
1003
OSAL_SPIN_LOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
1004
OSAL_LIST_REMOVE_ENTRY(&p_ent->list, &p_spq->completion_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
1005
ecore_chain_return_produced(&p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
1011
OSAL_SPIN_UNLOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
1021
struct ecore_spq *p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
1030
p_spq = p_hwfn->p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
1031
if (!p_spq) {
sys/dev/qlnx/qlnxe/ecore_spq.c
1035
OSAL_SPIN_LOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
1038
&p_spq->completion_pending,
sys/dev/qlnx/qlnxe/ecore_spq.c
1043
&p_spq->completion_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
1050
SPQ_COMP_BMAP_SET_BIT(p_spq, echo);
sys/dev/qlnx/qlnxe/ecore_spq.c
1051
while (SPQ_COMP_BMAP_TEST_BIT(p_spq,
sys/dev/qlnx/qlnxe/ecore_spq.c
1052
p_spq->comp_bitmap_idx)) {
sys/dev/qlnx/qlnxe/ecore_spq.c
1053
SPQ_COMP_BMAP_CLEAR_BIT(p_spq,
sys/dev/qlnx/qlnxe/ecore_spq.c
1054
p_spq->comp_bitmap_idx);
sys/dev/qlnx/qlnxe/ecore_spq.c
1055
p_spq->comp_bitmap_idx++;
sys/dev/qlnx/qlnxe/ecore_spq.c
1056
ecore_chain_return_produced(&p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
1059
p_spq->comp_count++;
sys/dev/qlnx/qlnxe/ecore_spq.c
1076
OSAL_SPIN_UNLOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
1096
(found->queue == &p_spq->unlimited_pending))
sys/dev/qlnx/qlnxe/ecore_spq.c
266
struct ecore_spq *p_spq)
sys/dev/qlnx/qlnxe/ecore_spq.c
273
cxt_info.iid = p_spq->cid;
sys/dev/qlnx/qlnxe/ecore_spq.c
279
p_spq->cid);
sys/dev/qlnx/qlnxe/ecore_spq.c
308
DMA_LO_LE(p_spq->chain.p_phys_addr);
sys/dev/qlnx/qlnxe/ecore_spq.c
310
DMA_HI_LE(p_spq->chain.p_phys_addr);
sys/dev/qlnx/qlnxe/ecore_spq.c
317
struct ecore_spq *p_spq,
sys/dev/qlnx/qlnxe/ecore_spq.c
320
struct ecore_chain *p_chain = &p_hwfn->p_spq->chain;
sys/dev/qlnx/qlnxe/ecore_spq.c
321
struct core_db_data *p_db_data = &p_spq->db_data;
sys/dev/qlnx/qlnxe/ecore_spq.c
340
DOORBELL(p_hwfn, p_spq->db_addr_offset, *(u32 *)p_db_data);
sys/dev/qlnx/qlnxe/ecore_spq.c
347
p_spq->db_addr_offset, p_spq->cid, p_db_data->params,
sys/dev/qlnx/qlnxe/ecore_spq.c
363
if (!p_hwfn->p_spq || (p_eqe->protocol_id >= MAX_PROTOCOL_TYPE)) {
sys/dev/qlnx/qlnxe/ecore_spq.c
367
cb = p_hwfn->p_spq->async_comp_cb[p_eqe->protocol_id];
sys/dev/qlnx/qlnxe/ecore_spq.c
384
if (!p_hwfn->p_spq || (protocol_id >= MAX_PROTOCOL_TYPE)) {
sys/dev/qlnx/qlnxe/ecore_spq.c
388
p_hwfn->p_spq->async_comp_cb[protocol_id] = cb;
sys/dev/qlnx/qlnxe/ecore_spq.c
396
if (!p_hwfn->p_spq || (protocol_id >= MAX_PROTOCOL_TYPE)) {
sys/dev/qlnx/qlnxe/ecore_spq.c
400
p_hwfn->p_spq->async_comp_cb[protocol_id] = OSAL_NULL;
sys/dev/qlnx/qlnxe/ecore_spq.c
481
OSAL_SPIN_LOCK(&p_hwfn->p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
483
OSAL_SPIN_UNLOCK(&p_hwfn->p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
577
struct ecore_spq *p_spq = p_hwfn->p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
585
OSAL_LIST_INIT(&p_spq->pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
586
OSAL_LIST_INIT(&p_spq->completion_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
587
OSAL_LIST_INIT(&p_spq->free_pool);
sys/dev/qlnx/qlnxe/ecore_spq.c
588
OSAL_LIST_INIT(&p_spq->unlimited_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
589
OSAL_SPIN_LOCK_INIT(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
592
p_phys = p_spq->p_phys + OFFSETOF(struct ecore_spq_entry, ramrod);
sys/dev/qlnx/qlnxe/ecore_spq.c
593
p_virt = p_spq->p_virt;
sys/dev/qlnx/qlnxe/ecore_spq.c
595
capacity = ecore_chain_get_capacity(&p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
599
OSAL_LIST_PUSH_TAIL(&p_virt->list, &p_spq->free_pool);
sys/dev/qlnx/qlnxe/ecore_spq.c
606
p_spq->normal_count = 0;
sys/dev/qlnx/qlnxe/ecore_spq.c
607
p_spq->comp_count = 0;
sys/dev/qlnx/qlnxe/ecore_spq.c
608
p_spq->comp_sent_count = 0;
sys/dev/qlnx/qlnxe/ecore_spq.c
609
p_spq->unlimited_pending_count = 0;
sys/dev/qlnx/qlnxe/ecore_spq.c
611
OSAL_MEM_ZERO(p_spq->p_comp_bitmap,
sys/dev/qlnx/qlnxe/ecore_spq.c
613
p_spq->comp_bitmap_idx = 0;
sys/dev/qlnx/qlnxe/ecore_spq.c
616
ecore_cxt_acquire_cid(p_hwfn, PROTOCOLID_CORE, &p_spq->cid);
sys/dev/qlnx/qlnxe/ecore_spq.c
617
ecore_spq_hw_initialize(p_hwfn, p_spq);
sys/dev/qlnx/qlnxe/ecore_spq.c
620
ecore_chain_reset(&p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
623
p_spq->db_addr_offset = DB_ADDR(p_spq->cid, DQ_DEMS_LEGACY);
sys/dev/qlnx/qlnxe/ecore_spq.c
624
p_db_data = &p_spq->db_data;
sys/dev/qlnx/qlnxe/ecore_spq.c
633
db_addr = (void *)((u8 *)p_hwfn->doorbells + p_spq->db_addr_offset);
sys/dev/qlnx/qlnxe/ecore_spq.c
634
rc = ecore_db_recovery_add(p_hwfn->p_dev, db_addr, &p_spq->db_data,
sys/dev/qlnx/qlnxe/ecore_spq.c
644
struct ecore_spq *p_spq = OSAL_NULL;
sys/dev/qlnx/qlnxe/ecore_spq.c
649
p_spq =
sys/dev/qlnx/qlnxe/ecore_spq.c
651
if (!p_spq) {
sys/dev/qlnx/qlnxe/ecore_spq.c
663
&p_spq->chain, OSAL_NULL)) {
sys/dev/qlnx/qlnxe/ecore_spq.c
669
capacity = ecore_chain_get_capacity(&p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
677
p_spq->p_virt = p_virt;
sys/dev/qlnx/qlnxe/ecore_spq.c
678
p_spq->p_phys = p_phys;
sys/dev/qlnx/qlnxe/ecore_spq.c
681
if (OSAL_SPIN_LOCK_ALLOC(p_hwfn, &p_spq->lock))
sys/dev/qlnx/qlnxe/ecore_spq.c
685
p_hwfn->p_spq = p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
689
ecore_chain_free(p_hwfn->p_dev, &p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
690
OSAL_FREE(p_hwfn->p_dev, p_spq);
sys/dev/qlnx/qlnxe/ecore_spq.c
696
struct ecore_spq *p_spq = p_hwfn->p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
700
if (!p_spq)
sys/dev/qlnx/qlnxe/ecore_spq.c
704
db_addr = (void *)((u8 *)p_hwfn->doorbells + p_spq->db_addr_offset);
sys/dev/qlnx/qlnxe/ecore_spq.c
705
ecore_db_recovery_del(p_hwfn->p_dev, db_addr, &p_spq->db_data);
sys/dev/qlnx/qlnxe/ecore_spq.c
707
if (p_spq->p_virt) {
sys/dev/qlnx/qlnxe/ecore_spq.c
708
capacity = ecore_chain_get_capacity(&p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
710
p_spq->p_virt,
sys/dev/qlnx/qlnxe/ecore_spq.c
711
p_spq->p_phys,
sys/dev/qlnx/qlnxe/ecore_spq.c
716
ecore_chain_free(p_hwfn->p_dev, &p_spq->chain);
sys/dev/qlnx/qlnxe/ecore_spq.c
718
OSAL_SPIN_LOCK_DEALLOC(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
721
OSAL_FREE(p_hwfn->p_dev, p_spq);
sys/dev/qlnx/qlnxe/ecore_spq.c
722
p_hwfn->p_spq = OSAL_NULL;
sys/dev/qlnx/qlnxe/ecore_spq.c
728
struct ecore_spq *p_spq = p_hwfn->p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
732
OSAL_SPIN_LOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
734
if (OSAL_LIST_IS_EMPTY(&p_spq->free_pool)) {
sys/dev/qlnx/qlnxe/ecore_spq.c
741
p_ent->queue = &p_spq->unlimited_pending;
sys/dev/qlnx/qlnxe/ecore_spq.c
743
p_ent = OSAL_LIST_FIRST_ENTRY(&p_spq->free_pool,
sys/dev/qlnx/qlnxe/ecore_spq.c
746
OSAL_LIST_REMOVE_ENTRY(&p_ent->list, &p_spq->free_pool);
sys/dev/qlnx/qlnxe/ecore_spq.c
747
p_ent->queue = &p_spq->pending;
sys/dev/qlnx/qlnxe/ecore_spq.c
753
OSAL_SPIN_UNLOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
761
OSAL_LIST_PUSH_TAIL(&p_ent->list, &p_hwfn->p_spq->free_pool);
sys/dev/qlnx/qlnxe/ecore_spq.c
767
OSAL_SPIN_LOCK(&p_hwfn->p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
769
OSAL_SPIN_UNLOCK(&p_hwfn->p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
790
struct ecore_spq *p_spq = p_hwfn->p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
792
if (p_ent->queue == &p_spq->unlimited_pending) {
sys/dev/qlnx/qlnxe/ecore_spq.c
793
if (OSAL_LIST_IS_EMPTY(&p_spq->free_pool)) {
sys/dev/qlnx/qlnxe/ecore_spq.c
795
&p_spq->unlimited_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
796
p_spq->unlimited_pending_count++;
sys/dev/qlnx/qlnxe/ecore_spq.c
803
p_en2 = OSAL_LIST_FIRST_ENTRY(&p_spq->free_pool,
sys/dev/qlnx/qlnxe/ecore_spq.c
806
OSAL_LIST_REMOVE_ENTRY(&p_en2->list, &p_spq->free_pool);
sys/dev/qlnx/qlnxe/ecore_spq.c
827
OSAL_LIST_PUSH_TAIL(&p_ent->list, &p_spq->pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
828
p_spq->normal_count++;
sys/dev/qlnx/qlnxe/ecore_spq.c
831
OSAL_LIST_PUSH_HEAD(&p_ent->list, &p_spq->pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
832
p_spq->high_count++;
sys/dev/qlnx/qlnxe/ecore_spq.c
847
if (!p_hwfn->p_spq) {
sys/dev/qlnx/qlnxe/ecore_spq.c
850
return p_hwfn->p_spq->cid;
sys/dev/qlnx/qlnxe/ecore_spq.c
861
struct ecore_spq *p_spq = p_hwfn->p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
868
while (ecore_chain_get_elem_left(&p_spq->chain) > keep_reserve &&
sys/dev/qlnx/qlnxe/ecore_spq.c
877
OSAL_LIST_PUSH_TAIL(&p_ent->list, &p_spq->completion_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
878
p_spq->comp_sent_count++;
sys/dev/qlnx/qlnxe/ecore_spq.c
880
rc = ecore_spq_hw_post(p_hwfn, p_spq, p_ent);
sys/dev/qlnx/qlnxe/ecore_spq.c
883
&p_spq->completion_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
895
struct ecore_spq *p_spq = p_hwfn->p_spq;
sys/dev/qlnx/qlnxe/ecore_spq.c
898
while (!OSAL_LIST_IS_EMPTY(&p_spq->free_pool))
sys/dev/qlnx/qlnxe/ecore_spq.c
900
if (OSAL_LIST_IS_EMPTY(&p_spq->unlimited_pending))
sys/dev/qlnx/qlnxe/ecore_spq.c
903
p_ent = OSAL_LIST_FIRST_ENTRY(&p_spq->unlimited_pending,
sys/dev/qlnx/qlnxe/ecore_spq.c
912
OSAL_LIST_REMOVE_ENTRY(&p_ent->list, &p_spq->unlimited_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
917
return ecore_spq_post_list(p_hwfn, &p_spq->pending,
sys/dev/qlnx/qlnxe/ecore_spq.c
926
struct ecore_spq *p_spq = p_hwfn ? p_hwfn->p_spq : OSAL_NULL;
sys/dev/qlnx/qlnxe/ecore_spq.c
947
OSAL_SPIN_LOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
971
OSAL_SPIN_UNLOCK(&p_spq->lock);
sys/dev/qlnx/qlnxe/ecore_spq.c
980
p_ent->queue == &p_spq->unlimited_pending);
sys/dev/qlnx/qlnxe/ecore_spq.c
982
if (p_ent->queue == &p_spq->unlimited_pending) {
sys/dev/qlnx/qlnxe/ecore_spq.h
195
OSAL_SET_BIT(((idx) % SPQ_RING_SIZE), (p_spq)->p_comp_bitmap); \
sys/dev/qlnx/qlnxe/ecore_spq.h
199
OSAL_CLEAR_BIT(((idx) % SPQ_RING_SIZE), (p_spq)->p_comp_bitmap); \
sys/dev/qlnx/qlnxe/ecore_spq.h
202
(OSAL_TEST_BIT(((idx) % SPQ_RING_SIZE), (p_spq)->p_comp_bitmap))