• Arthur Jones's avatar
    IB/ipath: Shadow the gpio_mask register · 8f140b40
    Arthur Jones authored
    Once upon a time, GPIO interrupts were rare.  But then a chip bug in
    the waldo series forced the use of a GPIO interrupt to signal packet
    reception.  This greatly increased the frequency of GPIO interrupts
    which have the gpio_mask bits set on the waldo chips.  Other bits in
    the gpio_status register are used for I2C clock and data lines, these
    bits are usually on.  An "unlikely" annotation leftover from the old
    days was improperly applied to these bits, and an unnecessary chip
    mmio read was being accessed in the interrupt fast path on waldo.
    
    Remove the stagnant unlikely annotation in the interrupt handler and
    keep a shadow copy of the gpio_mask register to avoid the slow mmio
    read when testing for interruptable GPIO bits.
    Signed-off-by: default avatarArthur Jones <arthur.jones@qlogic.com>
    Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
    8f140b40
ipath_verbs.c 46.3 KB