mirror of https://gitee.com/openkylin/linux.git
igb: Disable the BMC-to-OS Watchdog Enable bit for DMAC.
Under certain scenarios, it's possible that bursty manageability traffic over the BMC-to-OS path may overrun the internal manageability receive buffer causing dropped manageability packets. Clearing this bit prevents this situation by interrupting coalescing to allow manageability traffic through. Signed-off-by: Matthew Vick <matthew.vick@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
a3060858c2
commit
0c02dd983f
|
@ -301,6 +301,8 @@
|
|||
* transactions */
|
||||
#define E1000_DMACR_DMAC_LX_SHIFT 28
|
||||
#define E1000_DMACR_DMAC_EN 0x80000000 /* Enable DMA Coalescing */
|
||||
/* DMA Coalescing BMC-to-OS Watchdog Enable */
|
||||
#define E1000_DMACR_DC_BMC2OSW_EN 0x00008000
|
||||
|
||||
#define E1000_DMCTXTH_DMCTTHR_MASK 0x00000FFF /* DMA Coalescing Transmit
|
||||
* Threshold */
|
||||
|
|
|
@ -7147,6 +7147,9 @@ static void igb_init_dmac(struct igb_adapter *adapter, u32 pba)
|
|||
|
||||
/* watchdog timer= +-1000 usec in 32usec intervals */
|
||||
reg |= (1000 >> 5);
|
||||
|
||||
/* Disable BMC-to-OS Watchdog Enable */
|
||||
reg &= ~E1000_DMACR_DC_BMC2OSW_EN;
|
||||
wr32(E1000_DMACR, reg);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue