tg3: Improve 5785 PCIe performance
authorMatt Carlson <mcarlson@broadcom.com>
Mon, 2 Nov 2009 14:26:03 +0000 (14:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Nov 2009 07:39:03 +0000 (23:39 -0800)
This patch improves 5785 performance by allowing the write DMA engine to
request larger DMA burst sizes than it otherwise would.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c
drivers/net/tg3.h

index 54dbe988f5f1dcd585bbb5351047a2c6280a98e8..a43ef2b3a530745dc2722930e7dcb02d823e0e92 100644 (file)
@@ -7633,6 +7633,9 @@ static int tg3_reset_hw(struct tg3 *tp, int reset_phy)
        if (tp->tg3_flags3 & TG3_FLG3_5755_PLUS)
                val |= WDMAC_MODE_STATUS_TAG_FIX;
 
+       if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785)
+               val |= WDMAC_MODE_BURST_ALL_DATA;
+
        tw32_f(WDMAC_MODE, val);
        udelay(40);
 
index 530c36b23e80ce31804ed3b8e0961a9f2694fb60..68431da5aad33abef6f65e747e6284dfdeab2525 100644 (file)
 #define  WDMAC_MODE_FIFOURUN_ENAB       0x00000080
 #define  WDMAC_MODE_FIFOOREAD_ENAB      0x00000100
 #define  WDMAC_MODE_LNGREAD_ENAB        0x00000200
-#define  WDMAC_MODE_RX_ACCEL            0x00000400
+#define  WDMAC_MODE_RX_ACCEL            0x00000400
 #define  WDMAC_MODE_STATUS_TAG_FIX      0x20000000
+#define  WDMAC_MODE_BURST_ALL_DATA      0xc0000000
 #define WDMAC_STATUS                   0x00004c04
 #define  WDMAC_STATUS_TGTABORT          0x00000004
 #define  WDMAC_STATUS_MSTABORT          0x00000008