tg3: Turn off multiple DMA reads for 5717
The 5717's DMA read engine has a bug when initiating multiple DMA reads across the PCIe bus. This patch disables the feature. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Reviewed-by: Benjamin Li <benli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
6b10c1653e
Коммит
0339e4e3ef
|
@ -7915,6 +7915,9 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
|
|||
RDMAC_MODE_FIFOURUN_ENAB | RDMAC_MODE_FIFOOREAD_ENAB |
|
||||
RDMAC_MODE_LNGREAD_ENAB);
|
||||
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717)
|
||||
rdmac_mode |= RDMAC_MODE_MULT_DMA_RD_DIS;
|
||||
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5784 ||
|
||||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785 ||
|
||||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57780)
|
||||
|
|
|
@ -1258,6 +1258,7 @@
|
|||
#define RDMAC_MODE_MBUF_SBD_CRPT_ENAB 0x00002000
|
||||
#define RDMAC_MODE_FIFO_SIZE_128 0x00020000
|
||||
#define RDMAC_MODE_FIFO_LONG_BURST 0x00030000
|
||||
#define RDMAC_MODE_MULT_DMA_RD_DIS 0x01000000
|
||||
#define RDMAC_MODE_IPV4_LSO_EN 0x08000000
|
||||
#define RDMAC_MODE_IPV6_LSO_EN 0x10000000
|
||||
#define RDMAC_STATUS 0x00004804
|
||||
|
|
Загрузка…
Ссылка в новой задаче