• Denis Bolotin's avatar
    qed: Fix the DORQ's attentions handling · 0d72c2ac
    Denis Bolotin authored
    Separate the overflow handling from the hardware interrupt status analysis.
    The interrupt status is a single register and is common for all PFs. The
    first PF reading the register is not necessarily the one who overflowed.
    All PFs must check their overflow status on every attention.
    In this change we clear the sticky indication in the attention handler to
    allow doorbells to be processed again as soon as possible, but running
    the doorbell recovery is scheduled for the periodic handler to reduce the
    time spent in the attention handler.
    Checking the need for DORQ flush was changed to "db_bar_no_edpm" because
    qed_edpm_enabled()'s result could change dynamically and might have
    prevented a needed flush.
    Signed-off-by: default avatarDenis Bolotin <dbolotin@marvell.com>
    Signed-off-by: default avatarMichal Kalderon <mkalderon@marvell.com>
    Signed-off-by: default avatarAriel Elior <aelior@marvell.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0d72c2ac
qed.h 23.2 KB