Lines Matching defs:i40e

184 i40e_intr_set_itr(i40e_t *i40e, i40e_itr_index_t itr, uint_t val)
187 i40e_hw_t *hw = &i40e->i40e_hw_space;
197 i40e->i40e_intr_type != DDI_INTR_TYPE_MSIX) {
202 for (i = 1; i < i40e->i40e_intr_count; i++) {
214 i40e_intr_adminq_enable(i40e_t *i40e)
216 i40e_hw_t *hw = &i40e->i40e_hw_space;
227 i40e_intr_adminq_disable(i40e_t *i40e)
229 i40e_hw_t *hw = &i40e->i40e_hw_space;
237 i40e_intr_io_enable(i40e_t *i40e, int vector)
240 i40e_hw_t *hw = &i40e->i40e_hw_space;
249 i40e_intr_io_disable(i40e_t *i40e, int vector)
252 i40e_hw_t *hw = &i40e->i40e_hw_space;
264 i40e_intr_io_enable_all(i40e_t *i40e)
266 if (i40e->i40e_intr_type == DDI_INTR_TYPE_MSIX) {
269 for (i = 1; i < i40e->i40e_intr_count; i++) {
270 i40e_intr_io_enable(i40e, i);
274 i40e_hw_t *hw = &i40e->i40e_hw_space;
292 i40e_intr_io_disable_all(i40e_t *i40e)
294 if (i40e->i40e_intr_type == DDI_INTR_TYPE_MSIX) {
297 for (i = 1; i < i40e->i40e_intr_count; i++) {
298 i40e_intr_io_disable(i40e, i);
302 i40e_hw_t *hw = &i40e->i40e_hw_space;
322 i40e_intr_io_clear_cause(i40e_t *i40e)
325 i40e_hw_t *hw = &i40e->i40e_hw_space;
327 if (i40e->i40e_intr_type != DDI_INTR_TYPE_MSIX) {
334 for (i = 1; i < i40e->i40e_intr_count; i++) {
355 i40e_intr_chip_fini(i40e_t *i40e)
361 i40e_hw_t *hw = &i40e->i40e_hw_space;
367 if (i40e->i40e_intr_type == DDI_INTR_TYPE_MSIX) {
368 for (i = 1; i < i40e->i40e_intr_count; i++) {
378 i40e_intr_adminq_disable(i40e);
387 i40e_intr_init_queue_msix(i40e_t *i40e)
389 i40e_hw_t *hw = &i40e->i40e_hw_space;
427 i40e_intr_init_queue_shared(i40e_t *i40e)
429 i40e_hw_t *hw = &i40e->i40e_hw_space;
432 VERIFY(i40e->i40e_intr_type == DDI_INTR_TYPE_FIXED ||
433 i40e->i40e_intr_type == DDI_INTR_TYPE_MSI);
462 i40e_intr_rx_queue_enable(i40e_t *i40e, uint_t queue)
465 i40e_hw_t *hw = &i40e->i40e_hw_space;
467 ASSERT(MUTEX_HELD(&i40e->i40e_general_lock));
468 ASSERT(queue < i40e->i40e_num_trqpairs);
482 i40e_intr_rx_queue_disable(i40e_t *i40e, uint_t queue)
485 i40e_hw_t *hw = &i40e->i40e_hw_space;
487 ASSERT(MUTEX_HELD(&i40e->i40e_general_lock));
488 ASSERT(queue < i40e->i40e_num_trqpairs);
503 i40e_intr_chip_init(i40e_t *i40e)
505 i40e_hw_t *hw = &i40e->i40e_hw_space;
511 i40e_intr_io_disable_all(i40e);
539 i40e_intr_adminq_enable(i40e);
545 if (i40e->i40e_intr_type == DDI_INTR_TYPE_MSIX) {
546 i40e_intr_init_queue_msix(i40e);
548 i40e_intr_init_queue_shared(i40e);
555 i40e_intr_set_itr(i40e, I40E_ITR_INDEX_RX, i40e->i40e_rx_itr);
556 i40e_intr_set_itr(i40e, I40E_ITR_INDEX_TX, i40e->i40e_tx_itr);
557 i40e_intr_set_itr(i40e, I40E_ITR_INDEX_OTHER, i40e->i40e_other_itr);
561 i40e_intr_adminq_work(i40e_t *i40e)
563 struct i40e_hw *hw = &i40e->i40e_hw_space;
569 evt.msg_buf = i40e->i40e_aqbuf;
587 mutex_enter(&i40e->i40e_general_lock);
588 i40e_link_check(i40e);
589 mutex_exit(&i40e->i40e_general_lock);
602 i40e_intr_rx_work(i40e_t *i40e, int queue)
607 ASSERT(queue < i40e->i40e_num_trqpairs);
608 itrq = &i40e->i40e_trqpairs[queue];
615 mac_rx_ring(i40e->i40e_mac_hdl, itrq->itrq_macrxring, mp,
621 i40e_intr_tx_work(i40e_t *i40e, int queue)
625 itrq = &i40e->i40e_trqpairs[queue];
635 i40e_intr_other_work(i40e_t *i40e)
637 struct i40e_hw *hw = &i40e->i40e_hw_space;
641 if (i40e_check_acc_handle(i40e->i40e_osdep_space.ios_reg_handle) !=
643 ddi_fm_service_impact(i40e->i40e_dip, DDI_SERVICE_DEGRADED);
644 atomic_or_32(&i40e->i40e_state, I40E_ERROR);
649 i40e_intr_adminq_work(i40e);
659 i40e_intr_adminq_enable(i40e);
665 i40e_t *i40e = (i40e_t *)arg1;
674 i40e_intr_other_work(i40e);
688 if (i40e->i40e_intr_poll != B_TRUE)
689 i40e_intr_rx_work(i40e, 0);
690 i40e_intr_tx_work(i40e, 0);
691 i40e_intr_io_enable(i40e, 1);
697 i40e_intr_notx(i40e_t *i40e, boolean_t shared)
699 i40e_hw_t *hw = &i40e->i40e_hw_space;
704 mutex_enter(&i40e->i40e_general_lock);
705 if (i40e->i40e_state & I40E_SUSPENDED) {
706 mutex_exit(&i40e->i40e_general_lock);
709 mutex_exit(&i40e->i40e_general_lock);
713 if (i40e_check_acc_handle(i40e->i40e_osdep_space.ios_reg_handle) !=
715 ddi_fm_service_impact(i40e->i40e_dip, DDI_SERVICE_DEGRADED);
716 atomic_or_32(&i40e->i40e_state, I40E_ERROR);
727 i40e_intr_adminq_work(i40e);
730 i40e_intr_rx_work(i40e, 0);
733 i40e_intr_tx_work(i40e, 0);
736 i40e_intr_adminq_enable(i40e);
745 i40e_t *i40e = (i40e_t *)arg1;
747 return (i40e_intr_notx(i40e, B_FALSE));
754 i40e_t *i40e = (i40e_t *)arg1;
756 return (i40e_intr_notx(i40e, B_TRUE));