linux_dsm_epyc7002/drivers/net/ethernet/intel/e1000e
Benjamin Poirier 116f4a640b e1000e: Avoid missed interrupts following ICR read
The 82574 specification update errata 12 states that interrupts may be
missed if ICR is read while INT_ASSERTED is not set. Avoid that problem by
setting all bits related to events that can trigger the Other interrupt in
IMS.

The Other interrupt is raised for such events regardless of whether or not
they are set in IMS. However, only when they are set is the INT_ASSERTED
bit also set in ICR.

By doing this, we ensure that INT_ASSERTED is always set when we read ICR
in e1000_msix_other() and steer clear of the errata. This also ensures that
ICR will automatically be cleared on read, therefore we no longer need to
clear bits explicitly.

Signed-off-by: Benjamin Poirier <bpoirier@suse.com>
Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-03-05 10:08:20 -08:00
..
80003es2lan.c e1000e: use BIT() macro for bit defines 2016-05-13 15:15:36 -07:00
80003es2lan.h e1000e: Bump the version to 3.2.5 2015-06-03 04:13:39 -07:00
82571.c e1000e: factor out systim sanitization 2016-08-16 10:46:19 -07:00
82571.h e1000e: Bump the version to 3.2.5 2015-06-03 04:13:39 -07:00
defines.h e1000e: Avoid missed interrupts following ICR read 2018-03-05 10:08:20 -08:00
e1000.h e1000e: apply burst mode settings only on default 2017-10-10 09:00:48 -07:00
ethtool.c e1000e: Don't return uninitialized stats 2017-06-06 01:05:13 -07:00
hw.h e1000e: Initial Support for IceLake 2017-08-08 17:54:21 -07:00
ich8lan.c e1000e: Fix e1000_check_for_copper_link_ich8lan return value. 2018-01-02 11:40:00 -08:00
ich8lan.h e1000e: fix the use of magic numbers for buffer overrun issue 2017-11-27 13:57:10 -08:00
mac.c e1000e: Separate signaling for link check/link up 2017-10-10 08:35:01 -07:00
mac.h e1000e: Bump the version to 3.2.5 2015-06-03 04:13:39 -07:00
Makefile e1000e: Cleanup - Update GPL header and Copyright 2014-03-07 21:55:27 -08:00
manage.c e1000e: Bump the version to 3.2.5 2015-06-03 04:13:39 -07:00
manage.h e1000e: Bump the version to 3.2.5 2015-06-03 04:13:39 -07:00
netdev.c e1000e: Avoid missed interrupts following ICR read 2018-03-05 10:08:20 -08:00
nvm.c e1000e: use BIT() macro for bit defines 2016-05-13 15:15:36 -07:00
nvm.h e1000e: Bump the version to 3.2.5 2015-06-03 04:13:39 -07:00
param.c e1000e: apply burst mode settings only on default 2017-10-10 09:00:48 -07:00
phy.c e1000e: Fix error path in link detection 2017-10-10 08:17:00 -07:00
phy.h e1000e: use BIT() macro for bit defines 2016-05-13 15:15:36 -07:00
ptp.c e1000e: Add Support for CannonLake 2017-04-30 05:18:30 -07:00
regs.h e1000e: Adds hardware supported cross timestamp on e1000e nic 2016-03-03 14:28:46 -08:00