[packages] aria2: update to 1.15.1
[openwrt/svn-archive/archive.git] / net / ethtool / patches / 110-ixp4xx.patch
1 --- ethtool-2.6.38/ethtool.c 2011-02-21 20:06:00.000000000 +0100
2 +++ ethtool-2.6.38/ethtool.c 2011-03-31 23:30:20.433874703 +0200
3 @@ -1680,6 +1680,7 @@
4 { "igb", igb_dump_regs },
5 { "ixgb", ixgb_dump_regs },
6 { "ixgbe", ixgbe_dump_regs },
7 + { "ixp4xx_mac", ixp4xx_dump_regs },
8 { "natsemi", natsemi_dump_regs },
9 { "e100", e100_dump_regs },
10 { "amd8111e", amd8111e_dump_regs },
11 --- ethtool-2.6.38/ethtool-util.h 2011-02-21 19:23:37.000000000 +0100
12 +++ ethtool-2.6.38/ethtool-util.h 2011-03-31 23:34:06.130541369 +0200
13 @@ -100,7 +100,10 @@
14 int sfc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
15
16 /* STMMAC embedded ethernet controller */
17 -int st_mac100_dump_regs(struct ethtool_drvinfo *info,
18 - struct ethtool_regs *regs);
19 +int st_mac100_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
20 int st_gmac_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
21 +
22 +/* Intel IXP4xx internal MAC */
23 +int ixp4xx_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
24 +
25 #endif
26 --- ethtool-2.6.38/ixp4xx.c 1970-01-01 01:00:00.000000000 +0100
27 +++ ethtool-2.6.38/ixp4xx.c 2011-03-31 23:30:37.267208035 +0200
28 @@ -0,0 +1,131 @@
29 +/*
30 + * Copyright (c) 2006 Christian Hohnstaed <chohnstaedt@innominate.com>
31 + * This file is released under the GPLv2
32 + */
33 +
34 +#include <stdio.h>
35 +#include "ethtool-util.h"
36 +
37 +#ifndef BIT
38 +#define BIT(x) (1<<x)
39 +#endif
40 +
41 +#define TX_CNTRL1_TX_EN BIT(0)
42 +#define TX_CNTRL1_DUPLEX BIT(1)
43 +#define TX_CNTRL1_RETRY BIT(2)
44 +#define TX_CNTRL1_PAD_EN BIT(3)
45 +#define TX_CNTRL1_FCS_EN BIT(4)
46 +#define TX_CNTRL1_2DEFER BIT(5)
47 +#define TX_CNTRL1_RMII BIT(6)
48 +
49 +/* TX Control Register 2 */
50 +#define TX_CNTRL2_RETRIES_MASK 0xf
51 +
52 +/* RX Control Register 1 */
53 +#define RX_CNTRL1_RX_EN BIT(0)
54 +#define RX_CNTRL1_PADSTRIP_EN BIT(1)
55 +#define RX_CNTRL1_CRC_EN BIT(2)
56 +#define RX_CNTRL1_PAUSE_EN BIT(3)
57 +#define RX_CNTRL1_LOOP_EN BIT(4)
58 +#define RX_CNTRL1_ADDR_FLTR_EN BIT(5)
59 +#define RX_CNTRL1_RX_RUNT_EN BIT(6)
60 +#define RX_CNTRL1_BCAST_DIS BIT(7)
61 +
62 +/* Core Control Register */
63 +#define CORE_RESET BIT(0)
64 +#define CORE_RX_FIFO_FLUSH BIT(1)
65 +#define CORE_TX_FIFO_FLUSH BIT(2)
66 +#define CORE_SEND_JAM BIT(3)
67 +#define CORE_MDC_EN BIT(4)
68 +
69 +#define MAC "%02x:%02x:%02x:%02x:%02x:%02x"
70 +#define MAC_DATA(d) (d)[0], (d)[1], (d)[2], (d)[3], (d)[4], (d)[5]
71 +
72 +int ixp4xx_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
73 +{
74 + u8 *data = regs->data;
75 +
76 + fprintf(stdout,
77 + "TXctrl: 0x%02x:0x%02x\n"
78 + " Enable: %s\n"
79 + " Duplex: %s\n"
80 + " Retry: %s (%d)\n"
81 + " Padding: %s\n"
82 + " Frame check: %s\n"
83 + " TX deferral: %s\n"
84 + " Connection: %s\n"
85 + "\n",
86 + data[0], data[1],
87 + data[0] & TX_CNTRL1_TX_EN ? "yes" : "no",
88 + data[0] & TX_CNTRL1_DUPLEX ? "half" : "full",
89 + data[0] & TX_CNTRL1_RETRY ? "enabled" : "disabled",
90 + data[1] & TX_CNTRL2_RETRIES_MASK,
91 + data[0] & TX_CNTRL1_PAD_EN ? "enabled" : "disabled",
92 + data[0] & TX_CNTRL1_FCS_EN ? "enabled" : "disabled",
93 + data[0] & TX_CNTRL1_2DEFER ? "two-part" : "one-part",
94 + data[0] & TX_CNTRL1_RMII ? "RMII" : "Full MII"
95 + );
96 +
97 + fprintf(stdout,
98 + "RXctrl: 0x%02x\n"
99 + " Enable: %s\n"
100 + " Pad strip: %s\n"
101 + " CRC check: %s\n"
102 + " Pause: %s\n"
103 + " Loop: %s\n"
104 + " Promiscous: %s\n"
105 + " Runt frames: %s\n"
106 + " Broadcast: %s\n"
107 + "\n",
108 + data[2],
109 + data[2] & RX_CNTRL1_RX_EN ? "yes" : "no",
110 + data[2] & RX_CNTRL1_PADSTRIP_EN ? "enabled" : "disabled",
111 + data[2] & RX_CNTRL1_CRC_EN ? "enabled" : "disabled",
112 + data[2] & RX_CNTRL1_PAUSE_EN ? "enabled" : "disabled",
113 + data[2] & RX_CNTRL1_LOOP_EN ? "enabled" : "disabled",
114 + data[2] & RX_CNTRL1_ADDR_FLTR_EN ? "disabled" : "enabled",
115 + data[2] & RX_CNTRL1_RX_RUNT_EN ? "forward" : "discard",
116 + data[2] & RX_CNTRL1_BCAST_DIS ? "disabled" : "enabled"
117 + );
118 + fprintf(stdout,
119 + "Core control: 0x%02x\n"
120 + " Core state: %s\n"
121 + " RX fifo: %s\n"
122 + " TX fifo: %s\n"
123 + " Send jam: %s\n"
124 + " MDC clock %s\n"
125 + "\n",
126 + data[32],
127 + data[32] & CORE_RESET ? "reset" : "normal operation",
128 + data[32] & CORE_RX_FIFO_FLUSH ? "flush" : "ok",
129 + data[32] & CORE_TX_FIFO_FLUSH ? "flush" : "ok",
130 + data[32] & CORE_SEND_JAM ? "yes" : "no",
131 + data[32] & CORE_MDC_EN ? "output" : "input"
132 + );
133 + fprintf(stdout,
134 + "MAC addresses: \n"
135 + " Multicast mask: " MAC "\n"
136 + " Multicast address: " MAC "\n"
137 + " Unicast address: " MAC "\n"
138 + "\n",
139 + MAC_DATA(data+13), MAC_DATA(data+19), MAC_DATA(data+26)
140 + );
141 + fprintf(stdout,
142 + "Random seed: 0x%02x\n"
143 + "Threshold empty: %3d\n"
144 + "Threshold full: %3d\n"
145 + "TX buffer size: %3d\n"
146 + "TX deferral: %3d\n"
147 + "RX deferral: %3d\n"
148 + "TX two deferral 1: %3d\n"
149 + "TX two deferral 2: %3d\n"
150 + "Slot time: %3d\n"
151 + "Internal clock: %3d\n"
152 + "\n",
153 + data[4], data[5], data[6], data[7], data[8], data[9],
154 + data[10], data[11], data[12], data[25]
155 + );
156 +
157 + return 0;
158 +}
159 +
160 --- ethtool-2.6.38/Makefile.am 2011-01-14 21:23:57.000000000 +0100
161 +++ ethtool-2.6.38/Makefile.am 2011-03-31 23:37:15.913874702 +0200
162 @@ -8,7 +8,7 @@
163 amd8111e.c de2104x.c e100.c e1000.c igb.c \
164 fec_8xx.c ibm_emac.c ixgb.c ixgbe.c natsemi.c \
165 pcnet32.c realtek.c tg3.c marvell.c vioc.c \
166 - smsc911x.c at76c50x-usb.c sfc.c stmmac.c
167 + smsc911x.c at76c50x-usb.c sfc.c stmmac.c ixp4xx.c
168
169 dist-hook:
170 cp $(top_srcdir)/ethtool.spec $(distdir)
171 --- ethtool-2.6.38/Makefile.in 2011-03-15 18:18:58.000000000 +0100
172 +++ ethtool-2.6.38/Makefile.in 2011-03-31 23:39:01.823874703 +0200
173 @@ -57,7 +57,7 @@
174 ixgbe.$(OBJEXT) natsemi.$(OBJEXT) pcnet32.$(OBJEXT) \
175 realtek.$(OBJEXT) tg3.$(OBJEXT) marvell.$(OBJEXT) \
176 vioc.$(OBJEXT) smsc911x.$(OBJEXT) at76c50x-usb.$(OBJEXT) \
177 - sfc.$(OBJEXT) stmmac.$(OBJEXT)
178 + sfc.$(OBJEXT) stmmac.$(OBJEXT) ixp4xx.$(OBJEXT)
179 ethtool_OBJECTS = $(am_ethtool_OBJECTS)
180 ethtool_LDADD = $(LDADD)
181 DEFAULT_INCLUDES = -I.@am__isrc@
182 @@ -201,7 +201,7 @@
183 amd8111e.c de2104x.c e100.c e1000.c igb.c \
184 fec_8xx.c ibm_emac.c ixgb.c ixgbe.c natsemi.c \
185 pcnet32.c realtek.c tg3.c marvell.c vioc.c \
186 - smsc911x.c at76c50x-usb.c sfc.c stmmac.c
187 + smsc911x.c at76c50x-usb.c sfc.c stmmac.c ixp4xx.c
188
189 all: ethtool-config.h
190 $(MAKE) $(AM_MAKEFLAGS) all-am
191 @@ -321,6 +321,7 @@
192 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/igb.Po@am__quote@
193 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ixgb.Po@am__quote@
194 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ixgbe.Po@am__quote@
195 +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ixp4xx.Po@am__quote@
196 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/marvell.Po@am__quote@
197 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/natsemi.Po@am__quote@
198 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcnet32.Po@am__quote@