Lines Matching full:cmdq

114 	struct bnxt_qplib_cmdq_ctx *cmdq;  in bnxt_re_is_fw_stalled()  local
118 cmdq = &rcfw->cmdq; in bnxt_re_is_fw_stalled()
120 if (time_after(jiffies, cmdq->last_seen + in bnxt_re_is_fw_stalled()
123 "%s: FW STALL Detected. cmdq[%#x]=%#x waited (%d > %d) msec active %d ", in bnxt_re_is_fw_stalled()
125 jiffies_to_msecs(jiffies - cmdq->last_seen), in bnxt_re_is_fw_stalled()
147 struct bnxt_qplib_cmdq_ctx *cmdq; in __wait_for_resp() local
151 cmdq = &rcfw->cmdq; in __wait_for_resp()
155 if (test_bit(ERR_DEVICE_DETACHED, &cmdq->flags)) in __wait_for_resp()
157 if (test_bit(FIRMWARE_STALL_DETECTED, &cmdq->flags)) in __wait_for_resp()
160 wait_event_timeout(cmdq->waitq, in __wait_for_resp()
162 test_bit(ERR_DEVICE_DETACHED, &cmdq->flags), in __wait_for_resp()
194 struct bnxt_qplib_cmdq_ctx *cmdq = &rcfw->cmdq; in __block_for_resp() local
202 if (test_bit(ERR_DEVICE_DETACHED, &cmdq->flags)) in __block_for_resp()
204 if (test_bit(FIRMWARE_STALL_DETECTED, &cmdq->flags)) in __block_for_resp()
238 struct bnxt_qplib_cmdq_ctx *cmdq = &rcfw->cmdq; in __send_message_no_waiter() local
239 struct bnxt_qplib_hwq *hwq = &cmdq->hwq; in __send_message_no_waiter()
247 cookie = cmdq->seq_num & RCFW_MAX_COOKIE_VALUE; in __send_message_no_waiter()
263 /* Locate the next cmdq slot */ in __send_message_no_waiter()
266 /* Copy a segment of the req cmd to the cmdq */ in __send_message_no_waiter()
273 cmdq->seq_num++; in __send_message_no_waiter()
277 /* ring CMDQ DB */ in __send_message_no_waiter()
279 writel(cmdq_prod, cmdq->cmdq_mbox.prod); in __send_message_no_waiter()
280 writel(RCFW_CMDQ_TRIG_VAL, cmdq->cmdq_mbox.db); in __send_message_no_waiter()
287 struct bnxt_qplib_cmdq_ctx *cmdq; in __send_message() local
296 cmdq = &rcfw->cmdq; in __send_message()
297 hwq = &cmdq->hwq; in __send_message()
300 /* Cmdq are in 16-byte units, each request can consume 1 or more in __send_message()
306 cookie = cmdq->seq_num & RCFW_MAX_COOKIE_VALUE; in __send_message()
311 "CMDQ is full req/free %d/%d!", in __send_message()
343 /* Locate the next cmdq slot */ in __send_message()
346 /* Copy a segment of the req cmd to the cmdq */ in __send_message()
353 cmdq->seq_num++; in __send_message()
356 if (test_bit(FIRMWARE_FIRST_FLAG, &cmdq->flags)) { in __send_message()
363 clear_bit(FIRMWARE_FIRST_FLAG, &cmdq->flags); in __send_message()
365 /* ring CMDQ DB */ in __send_message()
367 writel(cmdq_prod, cmdq->cmdq_mbox.prod); in __send_message()
368 writel(RCFW_CMDQ_TRIG_VAL, cmdq->cmdq_mbox.db); in __send_message()
389 struct bnxt_qplib_cmdq_ctx *cmdq = &rcfw->cmdq; in __poll_for_resp() local
398 if (test_bit(ERR_DEVICE_DETACHED, &cmdq->flags)) in __poll_for_resp()
400 if (test_bit(FIRMWARE_STALL_DETECTED, &cmdq->flags)) in __poll_for_resp()
421 struct bnxt_qplib_cmdq_ctx *cmdq; in __send_message_basic_sanity() local
423 cmdq = &rcfw->cmdq; in __send_message_basic_sanity()
426 if (test_bit(ERR_DEVICE_DETACHED, &rcfw->cmdq.flags)) in __send_message_basic_sanity()
429 if (test_bit(FIRMWARE_STALL_DETECTED, &cmdq->flags)) in __send_message_basic_sanity()
432 if (test_bit(FIRMWARE_INITIALIZED_FLAG, &cmdq->flags) && in __send_message_basic_sanity()
438 if (!test_bit(FIRMWARE_INITIALIZED_FLAG, &cmdq->flags) && in __send_message_basic_sanity()
514 spin_lock_bh(&rcfw->cmdq.hwq.lock); in __bnxt_qplib_rcfw_send_message()
518 set_bit(FIRMWARE_STALL_DETECTED, &rcfw->cmdq.flags); in __bnxt_qplib_rcfw_send_message()
519 spin_unlock_bh(&rcfw->cmdq.hwq.lock); in __bnxt_qplib_rcfw_send_message()
525 dev_err(&rcfw->pdev->dev, "cmdq[%#x]=%#x status %#x\n", in __bnxt_qplib_rcfw_send_message()
623 struct bnxt_qplib_hwq *hwq = &rcfw->cmdq.hwq; in bnxt_qplib_process_qp_event()
657 * cmdq->lock needs to be acquired to synchronie in bnxt_qplib_process_qp_event()
671 &rcfw->cmdq.flags), in bnxt_qplib_process_qp_event()
751 rcfw->cmdq.last_seen = jiffies; in bnxt_qplib_service_creq()
787 wake_up_nr(&rcfw->cmdq.waitq, num_wakeup); in bnxt_qplib_service_creq()
825 clear_bit(FIRMWARE_INITIALIZED_FLAG, &rcfw->cmdq.flags); in bnxt_qplib_deinit_rcfw()
912 set_bit(FIRMWARE_INITIALIZED_FLAG, &rcfw->cmdq.flags); in bnxt_qplib_init_rcfw()
919 bnxt_qplib_free_hwq(rcfw->res, &rcfw->cmdq.hwq); in bnxt_qplib_free_rcfw_channel()
930 struct bnxt_qplib_cmdq_ctx *cmdq; in bnxt_qplib_alloc_rcfw_channel() local
934 cmdq = &rcfw->cmdq; in bnxt_qplib_alloc_rcfw_channel()
959 if (bnxt_qplib_alloc_init_hwq(&cmdq->hwq, &hwq_attr)) { in bnxt_qplib_alloc_rcfw_channel()
961 "HW channel CMDQ allocation failed\n"); in bnxt_qplib_alloc_rcfw_channel()
965 rcfw->crsqe_tbl = kcalloc(cmdq->hwq.max_elements, in bnxt_qplib_alloc_rcfw_channel()
1007 struct bnxt_qplib_cmdq_ctx *cmdq; in bnxt_qplib_disable_rcfw_channel() local
1010 cmdq = &rcfw->cmdq; in bnxt_qplib_disable_rcfw_channel()
1014 iounmap(cmdq->cmdq_mbox.reg.bar_reg); in bnxt_qplib_disable_rcfw_channel()
1017 cmdq->cmdq_mbox.reg.bar_reg = NULL; in bnxt_qplib_disable_rcfw_channel()
1069 mbox = &rcfw->cmdq.cmdq_mbox; in bnxt_qplib_map_cmdq_mbox()
1076 "QPLIB: CMDQ BAR region %d resc start is 0!\n", in bnxt_qplib_map_cmdq_mbox()
1086 "QPLIB: CMDQ BAR region %d mapping failed\n", in bnxt_qplib_map_cmdq_mbox()
1132 struct bnxt_qplib_cmdq_ctx *cmdq; in bnxt_qplib_start_rcfw() local
1137 cmdq = &rcfw->cmdq; in bnxt_qplib_start_rcfw()
1139 mbox = &cmdq->cmdq_mbox; in bnxt_qplib_start_rcfw()
1141 init.cmdq_pbl = cpu_to_le64(cmdq->hwq.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_start_rcfw()
1146 ((cmdq->hwq.level << in bnxt_qplib_start_rcfw()
1159 struct bnxt_qplib_cmdq_ctx *cmdq; in bnxt_qplib_enable_rcfw_channel() local
1163 cmdq = &rcfw->cmdq; in bnxt_qplib_enable_rcfw_channel()
1168 cmdq->seq_num = 0; in bnxt_qplib_enable_rcfw_channel()
1169 set_bit(FIRMWARE_FIRST_FLAG, &cmdq->flags); in bnxt_qplib_enable_rcfw_channel()
1170 init_waitqueue_head(&cmdq->waitq); in bnxt_qplib_enable_rcfw_channel()