ixgbe & msi/x

Vijay Singh vijju.singh at gmail.com
Mon Jan 28 06:40:01 UTC 2013


I am investigating an issue where the ixgbe (82599) device is hung and
I think I have traced it to the driver not getting interrupts. I have
MSI/X enabled, with 2 rx/tx queues.

I am trying to understand this bit of code in the MSI/X setup:

        if (ixgbe_enable_msix)  {
                ixgbe_configure_ivars(adapter);
                /* Set up auto-mask */                <<== THIS BIT
                if (hw->mac.type == ixgbe_mac_82598EB)
                        IXGBE_WRITE_REG(hw, IXGBE_EIAM, IXGBE_EICS_RTX_QUEUE);
                else {
                        IXGBE_WRITE_REG(hw, IXGBE_EIAM_EX(0), 0xFFFFFFFF);
                        IXGBE_WRITE_REG(hw, IXGBE_EIAM_EX(1), 0xFFFFFFFF);
                }
        }

Does this mean that ixgbe_disable_queue() is not needed in the msi/x
interrupt handler - ixgbe_msix_que()?

-vijay


More information about the freebsd-net mailing list