]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- obsolete
authorJakub Bogusz <qboosh@pld-linux.org>
Thu, 20 Jan 2005 12:04:00 +0000 (12:04 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    linux-2.4.25-vlan-3c59x.patch -> 1.2

linux-2.4.25-vlan-3c59x.patch [deleted file]

diff --git a/linux-2.4.25-vlan-3c59x.patch b/linux-2.4.25-vlan-3c59x.patch
deleted file mode 100644 (file)
index 42721ad..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
---- linux.orig/drivers/net/3c59x.c     Sun Sep 30 21:26:06 2001
-+++ linux/drivers/net/3c59x.c  Wed Oct 24 21:52:10 2001
-@@ -308,6 +308,9 @@
-    code size of a per-interface flag is not worthwhile. */
- static char mii_preamble_required;
-+/* The Ethernet Type used for 802.1q tagged frames */
-+#define VLAN_ETHER_TYPE 0x8100
-+
- #define PFX DRV_NAME ": "
-@@ -651,7 +654,7 @@
-       Wn2_ResetOptions=12,
- };
- enum Window3 {                        /* Window 3: MAC/config bits. */
--      Wn3_Config=0, Wn3_MAC_Ctrl=6, Wn3_Options=8,
-+      Wn3_Config=0, Wn3_MaxPktSize=4, Wn3_MAC_Ctrl=6, Wn3_Options=8,
- };
- #define BFEXT(value, offset, bitcount)  \
-@@ -679,7 +682,8 @@
-       Media_LnkBeat = 0x0800,
- };
- enum Window7 {                                        /* Window 7: Bus Master control. */
--      Wn7_MasterAddr = 0, Wn7_MasterLen = 6, Wn7_MasterStatus = 12,
-+      Wn7_MasterAddr = 0, Wn7_VlanEtherType=4, Wn7_MasterLen = 6,
-+      Wn7_MasterStatus = 12,
- };
- /* Boomerang bus master control registers. */
- enum MasterCtrl {
-@@ -776,7 +780,8 @@
-               pm_state_valid:1,                               /* power_state[] has sane contents */
-               open:1,
-               medialock:1,
--              must_free_region:1;                             /* Flag: if zero, Cardbus owns the I/O region */
-+              must_free_region:1,                             /* Flag: if zero, Cardbus owns the I/O region */
-+              large_frames:1;                 /* accept large frames */
-       int drv_flags;
-       u16 status_enable;
-       u16 intr_enable;
-@@ -844,6 +849,9 @@
- static void vortex_tx_timeout(struct net_device *dev);
- static void acpi_set_WOL(struct net_device *dev);
- static struct ethtool_ops vortex_ethtool_ops;
-+#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
-+static void set_8021q_mode(struct net_device *dev, int enable);
-+#endif
\f
- /* This driver uses 'options' to pass the media type, full-duplex flag, etc. */
- /* Option count limit only -- unlimited interfaces are supported. */
-@@ -1030,6 +1038,7 @@
-       dev->base_addr = ioaddr;
-       dev->irq = irq;
-       dev->mtu = mtu;
-+      vp->large_frames = mtu > 1500;
-       vp->drv_flags = vci->drv_flags;
-       vp->has_nway = (vci->drv_flags & HAS_NWAY) ? 1 : 0;
-       vp->io_size = vci->io_size;
-@@ -1461,7 +1470,7 @@
-       /* Set the full-duplex bit. */
-       outw(   ((vp->info1 & 0x8000) || vp->full_duplex ? 0x20 : 0) |
--                      (dev->mtu > 1500 ? 0x40 : 0) |
-+                      (vp->large_frames ? 0x40 : 0) |
-                       ((vp->full_duplex && vp->flow_ctrl && vp->partner_flow_ctrl) ? 0x100 : 0),
-                       ioaddr + Wn3_MAC_Ctrl);
-@@ -1545,6 +1554,10 @@
-       }
-       /* Set receiver mode: presumably accept b-case and phys addr only. */
-       set_rx_mode(dev);
-+#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
-+      /* enable 802.1q tagged frames */
-+      set_8021q_mode(dev, 1);
-+#endif
-       outw(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */
- //    issue_and_wait(dev, SetTxStart|0x07ff);
-@@ -1680,7 +1693,7 @@
-                                               /* Set the full-duplex bit. */
-                                               EL3WINDOW(3);
-                                               outw(   (vp->full_duplex ? 0x20 : 0) |
--                                                              (dev->mtu > 1500 ? 0x40 : 0) |
-+                                                              (vp->large_frames ? 0x40 : 0) |
-                                                               ((vp->full_duplex && vp->flow_ctrl && vp->partner_flow_ctrl) ? 0x100 : 0),
-                                                               ioaddr + Wn3_MAC_Ctrl);
-                                               if (vortex_debug > 1)
-@@ -1900,6 +1913,10 @@
-                       issue_and_wait(dev, RxReset|0x07);
-                       /* Set the Rx filter to the current state. */
-                       set_rx_mode(dev);
-+#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
-+                      /* enable 802.1q VLAN tagged frames */
-+                      set_8021q_mode(dev, 1);
-+#endif
-                       outw(RxEnable, ioaddr + EL3_CMD); /* Re-enable the receiver. */
-                       outw(AckIntr | HostError, ioaddr + EL3_CMD);
-               }
-@@ -2497,6 +2514,11 @@
-       outw(RxDisable, ioaddr + EL3_CMD);
-       outw(TxDisable, ioaddr + EL3_CMD);
-+#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
-+      /* Disable receiving 802.1q tagged frames */
-+      set_8021q_mode(dev, 0);
-+#endif
-+
-       if (dev->if_port == XCVR_10base2)
-               /* Turn off thinnet power.  Green! */
-               outw(StopCoax, ioaddr + EL3_CMD);
-@@ -2760,6 +2782,50 @@
-       outw(new_mode, ioaddr + EL3_CMD);
- }
-+
-+#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)
-+/* Setup the card so that it can receive frames with an 802.1q VLAN tag.
-+   Note that this must be done after each RxReset due to some backwards
-+   compatibility logic in the Cyclone and Tornado ASICs */
-+static void set_8021q_mode(struct net_device *dev, int enable)
-+{
-+      struct vortex_private *vp = (struct vortex_private *)dev->priv;
-+      long ioaddr = dev->base_addr;
-+      int old_window = inw(ioaddr + EL3_CMD);
-+      int mac_ctrl;
-+      
-+      if (vp->drv_flags&IS_CYCLONE || vp->drv_flags&IS_TORNADO) {
-+              /* cyclone and tornado chipsets can recognize 802.1q
-+               * tagged frames and treat them correctly */
-+
-+              int max_pkt_size = dev->mtu+14; /* MTU+Ethernet header */
-+              if (enable)
-+                      max_pkt_size += 4;      /* 802.1Q VLAN tag */
-+
-+              EL3WINDOW(3);
-+              outw(max_pkt_size, ioaddr+Wn3_MaxPktSize);
-+
-+              /* set VlanEtherType to let the hardware checksumming
-+                 treat tagged frames correctly */
-+              EL3WINDOW(7);
-+              outw(VLAN_ETHER_TYPE, ioaddr+Wn7_VlanEtherType);
-+      } else {
-+              /* on older cards we have to enable large frames */
-+
-+              vp->large_frames = dev->mtu > 1500 || enable;
-+
-+              EL3WINDOW(3);
-+              mac_ctrl = inw(ioaddr+Wn3_MAC_Ctrl);
-+              if (vp->large_frames)
-+                      mac_ctrl |= 0x40;
-+              else
-+                      mac_ctrl &= ~0x40;
-+              outw(mac_ctrl, ioaddr+Wn3_MAC_Ctrl);
-+      }
-+
-+      EL3WINDOW(old_window);
-+}
-+#endif
- /* MII transceiver control section.
-    Read and write the MII registers using software-generated serial
This page took 0.072264 seconds and 4 git commands to generate.