]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
remove review-2.6.23-4/skge-ram-buffer-fix.patch as it was deemed broken.
authorGreg Kroah-Hartman <gregkh@suse.de>
Thu, 15 Nov 2007 17:59:16 +0000 (09:59 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 15 Nov 2007 17:59:16 +0000 (09:59 -0800)
review-2.6.23-4/series
review-2.6.23-4/skge-ram-buffer-fix.patch [deleted file]

index 3904a8bbb2b332a3fda0d7bf45080ad1294c7200..2bf8275b28915fd4d5c1964cb65dec6598fa0c1e 100644 (file)
@@ -6,7 +6,6 @@ forcedeth-msi-bugfix.patch
 forcedeth-add-mcp77-device-ids.patch
 tg3-fix-performance-regression-on-5705.patch
 fix-l2tp-oopses.patch
-skge-ram-buffer-fix.patch
 skge-xm-phy-poll.patch
 sky2-status-race.patch
 sky2-ethdump.patch
diff --git a/review-2.6.23-4/skge-ram-buffer-fix.patch b/review-2.6.23-4/skge-ram-buffer-fix.patch
deleted file mode 100644 (file)
index ab2554b..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-From stable-bounces@linux.kernel.org Tue Nov  6 14:18:31 2007
-From: Stephen Hemminger <shemminger@linux-foundation.org>
-Date: Tue, 06 Nov 2007 14:12:29 -0800
-Subject: [stable] [PATCH 1/6] skge: fix ram buffer size calculation
-To: stable@kernel.org
-Message-ID: <20071106221308.286029028@linux-foundation.org>
-Content-Disposition: inline; filename=skge-ram-buffer-fix.patch
-
-From: Stephen Hemminger <shemminger@linux-foundation.org>
-
-patch 7fb7ac241162dc51ec0f7644d4a97b2855213c32 in mainline.
-
-This fixes problems with transmit hangs on older fiber based SysKonnect boards.
-
-Adjust ram buffer sizing calculation to make it correct on all boards
-and make it like the code in sky2 driver.
-
-Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-Signed-off-by: Jeff Garzik <jeff@garzik.org>
-
----
- drivers/net/skge.c |   51 ++++++++++++++++++++++++---------------------------
- 1 file changed, 24 insertions(+), 27 deletions(-)
-
---- a/drivers/net/skge.c
-+++ b/drivers/net/skge.c
-@@ -2400,32 +2400,31 @@ static int skge_ioctl(struct net_device 
-       return err;
- }
--static void skge_ramset(struct skge_hw *hw, u16 q, u32 start, size_t len)
-+/* Assign Ram Buffer allocation to queue */
-+static void skge_ramset(struct skge_hw *hw, u16 q, u32 start, u32 space)
- {
-       u32 end;
--      start /= 8;
--      len /= 8;
--      end = start + len - 1;
-+      /* convert from K bytes to qwords used for hw register */
-+      start *= 1024/8;
-+      space *= 1024/8;
-+      end = start + space - 1;
-       skge_write8(hw, RB_ADDR(q, RB_CTRL), RB_RST_CLR);
-       skge_write32(hw, RB_ADDR(q, RB_START), start);
-+      skge_write32(hw, RB_ADDR(q, RB_END), end);
-       skge_write32(hw, RB_ADDR(q, RB_WP), start);
-       skge_write32(hw, RB_ADDR(q, RB_RP), start);
--      skge_write32(hw, RB_ADDR(q, RB_END), end);
-       if (q == Q_R1 || q == Q_R2) {
-+              u32 tp = space - space/4;
-+
-               /* Set thresholds on receive queue's */
--              skge_write32(hw, RB_ADDR(q, RB_RX_UTPP),
--                           start + (2*len)/3);
--              skge_write32(hw, RB_ADDR(q, RB_RX_LTPP),
--                           start + (len/3));
--      } else {
--              /* Enable store & forward on Tx queue's because
--               * Tx FIFO is only 4K on Genesis and 1K on Yukon
--               */
-+              skge_write32(hw, RB_ADDR(q, RB_RX_UTPP), tp);
-+              skge_write32(hw, RB_ADDR(q, RB_RX_LTPP), space/4);
-+      } else if (hw->chip_id != CHIP_ID_GENESIS)
-+              /* Genesis Tx Fifo is too small for normal store/forward */
-               skge_write8(hw, RB_ADDR(q, RB_CTRL), RB_ENA_STFWD);
--      }
-       skge_write8(hw, RB_ADDR(q, RB_CTRL), RB_ENA_OP_MD);
- }
-@@ -2453,7 +2452,7 @@ static int skge_up(struct net_device *de
-       struct skge_port *skge = netdev_priv(dev);
-       struct skge_hw *hw = skge->hw;
-       int port = skge->port;
--      u32 chunk, ram_addr;
-+      u32 ramaddr, ramsize, rxspace;
-       size_t rx_size, tx_size;
-       int err;
-@@ -2508,14 +2507,15 @@ static int skge_up(struct net_device *de
-       spin_unlock_bh(&hw->phy_lock);
-       /* Configure RAMbuffers */
--      chunk = hw->ram_size / ((hw->ports + 1)*2);
--      ram_addr = hw->ram_offset + 2 * chunk * port;
-+      ramsize = (hw->ram_size - hw->ram_offset) / hw->ports;
-+      ramaddr = hw->ram_offset + port * ramsize;
-+      rxspace = 8 + (2*(ramsize - 16))/3;
--      skge_ramset(hw, rxqaddr[port], ram_addr, chunk);
--      skge_qset(skge, rxqaddr[port], skge->rx_ring.to_clean);
-+      skge_ramset(hw, rxqaddr[port], ramaddr, rxspace);
-+      skge_ramset(hw, txqaddr[port], ramaddr + rxspace, ramsize - rxspace);
-+      skge_qset(skge, rxqaddr[port], skge->rx_ring.to_clean);
-       BUG_ON(skge->tx_ring.to_use != skge->tx_ring.to_clean);
--      skge_ramset(hw, txqaddr[port], ram_addr+chunk, chunk);
-       skge_qset(skge, txqaddr[port], skge->tx_ring.to_use);
-       /* Start receiver BMU */
-@@ -3450,15 +3450,12 @@ static int skge_reset(struct skge_hw *hw
-       if (hw->chip_id == CHIP_ID_GENESIS) {
-               if (t8 == 3) {
-                       /* special case: 4 x 64k x 36, offset = 0x80000 */
--                      hw->ram_size = 0x100000;
--                      hw->ram_offset = 0x80000;
-+                      hw->ram_size = 1024;
-+                      hw->ram_offset = 512;
-               } else
-                       hw->ram_size = t8 * 512;
--      }
--      else if (t8 == 0)
--              hw->ram_size = 0x20000;
--      else
--              hw->ram_size = t8 * 4096;
-+      } else /* Yukon */
-+              hw->ram_size = t8 ? t8 * 4 : 128;
-       hw->intr_mask = IS_HW_ERR;