Commit 0339e4e3 authored by Matt Carlson's avatar Matt Carlson Committed by David S. Miller
Browse files

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: default avatarMatt Carlson <mcarlson@broadcom.com>
Reviewed-by: default avatarMichael Chan <mchan@broadcom.com>
Reviewed-by: default avatarBenjamin Li <benli@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6b10c165
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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)
+1 −0
Original line number Diff line number Diff line
@@ -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