diff options
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r-- | drivers/net/tg3.c | 199 |
1 files changed, 72 insertions, 127 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index eafabb253f08..fb7026153861 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -149,122 +149,67 @@ module_param(tg3_debug, int, 0); | |||
149 | MODULE_PARM_DESC(tg3_debug, "Tigon3 bitmapped debugging message enable value"); | 149 | MODULE_PARM_DESC(tg3_debug, "Tigon3 bitmapped debugging message enable value"); |
150 | 150 | ||
151 | static struct pci_device_id tg3_pci_tbl[] = { | 151 | static struct pci_device_id tg3_pci_tbl[] = { |
152 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5700, | 152 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5700)}, |
153 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 153 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5701)}, |
154 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5701, | 154 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702)}, |
155 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 155 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703)}, |
156 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702, | 156 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704)}, |
157 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 157 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702FE)}, |
158 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703, | 158 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705)}, |
159 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 159 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705_2)}, |
160 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704, | 160 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M)}, |
161 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 161 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M_2)}, |
162 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702FE, | 162 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702X)}, |
163 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 163 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703X)}, |
164 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705, | 164 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S)}, |
165 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 165 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702A3)}, |
166 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705_2, | 166 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703A3)}, |
167 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 167 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5782)}, |
168 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M, | 168 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5788)}, |
169 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 169 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5789)}, |
170 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M_2, | 170 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901)}, |
171 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 171 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901_2)}, |
172 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702X, | 172 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S_2)}, |
173 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 173 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705F)}, |
174 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703X, | 174 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5720)}, |
175 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 175 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5721)}, |
176 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S, | 176 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750)}, |
177 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 177 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751)}, |
178 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702A3, | 178 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750M)}, |
179 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 179 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751M)}, |
180 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703A3, | 180 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751F)}, |
181 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 181 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752)}, |
182 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5782, | 182 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752M)}, |
183 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 183 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753)}, |
184 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5788, | 184 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753M)}, |
185 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 185 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753F)}, |
186 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5789, | 186 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754)}, |
187 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 187 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754M)}, |
188 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901, | 188 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755)}, |
189 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 189 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755M)}, |
190 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901_2, | 190 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5786)}, |
191 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 191 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787)}, |
192 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S_2, | 192 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787M)}, |
193 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 193 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714)}, |
194 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705F, | 194 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714S)}, |
195 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 195 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715)}, |
196 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5720, | 196 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715S)}, |
197 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 197 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780)}, |
198 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5721, | 198 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780S)}, |
199 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 199 | {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5781)}, |
200 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750, | 200 | {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9DXX)}, |
201 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 201 | {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9MXX)}, |
202 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751, | 202 | {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1000)}, |
203 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 203 | {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1001)}, |
204 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750M, | 204 | {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1003)}, |
205 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 205 | {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC9100)}, |
206 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751M, | 206 | {PCI_DEVICE(PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_TIGON3)}, |
207 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | 207 | {} |
208 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751F, | ||
209 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
210 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752, | ||
211 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
212 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752M, | ||
213 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
214 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753, | ||
215 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
216 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753M, | ||
217 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
218 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753F, | ||
219 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
220 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754, | ||
221 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
222 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754M, | ||
223 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
224 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755, | ||
225 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
226 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755M, | ||
227 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
228 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5786, | ||
229 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
230 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787, | ||
231 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
232 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787M, | ||
233 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
234 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714, | ||
235 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
236 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714S, | ||
237 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
238 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715, | ||
239 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
240 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715S, | ||
241 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
242 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780, | ||
243 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
244 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780S, | ||
245 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
246 | { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5781, | ||
247 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
248 | { PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9DXX, | ||
249 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
250 | { PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9MXX, | ||
251 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
252 | { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1000, | ||
253 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
254 | { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1001, | ||
255 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
256 | { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1003, | ||
257 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
258 | { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC9100, | ||
259 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
260 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_TIGON3, | ||
261 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, | ||
262 | { 0, } | ||
263 | }; | 208 | }; |
264 | 209 | ||
265 | MODULE_DEVICE_TABLE(pci, tg3_pci_tbl); | 210 | MODULE_DEVICE_TABLE(pci, tg3_pci_tbl); |
266 | 211 | ||
267 | static struct { | 212 | static const struct { |
268 | const char string[ETH_GSTRING_LEN]; | 213 | const char string[ETH_GSTRING_LEN]; |
269 | } ethtool_stats_keys[TG3_NUM_STATS] = { | 214 | } ethtool_stats_keys[TG3_NUM_STATS] = { |
270 | { "rx_octets" }, | 215 | { "rx_octets" }, |
@@ -345,7 +290,7 @@ static struct { | |||
345 | { "nic_tx_threshold_hit" } | 290 | { "nic_tx_threshold_hit" } |
346 | }; | 291 | }; |
347 | 292 | ||
348 | static struct { | 293 | static const struct { |
349 | const char string[ETH_GSTRING_LEN]; | 294 | const char string[ETH_GSTRING_LEN]; |
350 | } ethtool_test_keys[TG3_NUM_TEST] = { | 295 | } ethtool_test_keys[TG3_NUM_TEST] = { |
351 | { "nvram test (online) " }, | 296 | { "nvram test (online) " }, |
@@ -3851,11 +3796,11 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
3851 | skb->h.th->check = 0; | 3796 | skb->h.th->check = 0; |
3852 | 3797 | ||
3853 | } | 3798 | } |
3854 | else if (skb->ip_summed == CHECKSUM_HW) | 3799 | else if (skb->ip_summed == CHECKSUM_PARTIAL) |
3855 | base_flags |= TXD_FLAG_TCPUDP_CSUM; | 3800 | base_flags |= TXD_FLAG_TCPUDP_CSUM; |
3856 | #else | 3801 | #else |
3857 | mss = 0; | 3802 | mss = 0; |
3858 | if (skb->ip_summed == CHECKSUM_HW) | 3803 | if (skb->ip_summed == CHECKSUM_PARTIAL) |
3859 | base_flags |= TXD_FLAG_TCPUDP_CSUM; | 3804 | base_flags |= TXD_FLAG_TCPUDP_CSUM; |
3860 | #endif | 3805 | #endif |
3861 | #if TG3_VLAN_TAG_USED | 3806 | #if TG3_VLAN_TAG_USED |
@@ -3981,7 +3926,7 @@ static int tg3_start_xmit_dma_bug(struct sk_buff *skb, struct net_device *dev) | |||
3981 | 3926 | ||
3982 | entry = tp->tx_prod; | 3927 | entry = tp->tx_prod; |
3983 | base_flags = 0; | 3928 | base_flags = 0; |
3984 | if (skb->ip_summed == CHECKSUM_HW) | 3929 | if (skb->ip_summed == CHECKSUM_PARTIAL) |
3985 | base_flags |= TXD_FLAG_TCPUDP_CSUM; | 3930 | base_flags |= TXD_FLAG_TCPUDP_CSUM; |
3986 | #if TG3_TSO_SUPPORT != 0 | 3931 | #if TG3_TSO_SUPPORT != 0 |
3987 | mss = 0; | 3932 | mss = 0; |
@@ -4969,7 +4914,7 @@ static int tg3_halt(struct tg3 *tp, int kind, int silent) | |||
4969 | #define TG3_FW_BSS_ADDR 0x08000a70 | 4914 | #define TG3_FW_BSS_ADDR 0x08000a70 |
4970 | #define TG3_FW_BSS_LEN 0x10 | 4915 | #define TG3_FW_BSS_LEN 0x10 |
4971 | 4916 | ||
4972 | static u32 tg3FwText[(TG3_FW_TEXT_LEN / sizeof(u32)) + 1] = { | 4917 | static const u32 tg3FwText[(TG3_FW_TEXT_LEN / sizeof(u32)) + 1] = { |
4973 | 0x00000000, 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, 0x3c1d0800, | 4918 | 0x00000000, 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, 0x3c1d0800, |
4974 | 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100000, 0x0e000018, 0x00000000, | 4919 | 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100000, 0x0e000018, 0x00000000, |
4975 | 0x0000000d, 0x3c1d0800, 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100034, | 4920 | 0x0000000d, 0x3c1d0800, 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100034, |
@@ -5063,7 +5008,7 @@ static u32 tg3FwText[(TG3_FW_TEXT_LEN / sizeof(u32)) + 1] = { | |||
5063 | 0x27bd0008, 0x03e00008, 0x00000000, 0x00000000, 0x00000000 | 5008 | 0x27bd0008, 0x03e00008, 0x00000000, 0x00000000, 0x00000000 |
5064 | }; | 5009 | }; |
5065 | 5010 | ||
5066 | static u32 tg3FwRodata[(TG3_FW_RODATA_LEN / sizeof(u32)) + 1] = { | 5011 | static const u32 tg3FwRodata[(TG3_FW_RODATA_LEN / sizeof(u32)) + 1] = { |
5067 | 0x35373031, 0x726c7341, 0x00000000, 0x00000000, 0x53774576, 0x656e7430, | 5012 | 0x35373031, 0x726c7341, 0x00000000, 0x00000000, 0x53774576, 0x656e7430, |
5068 | 0x00000000, 0x726c7045, 0x76656e74, 0x31000000, 0x556e6b6e, 0x45766e74, | 5013 | 0x00000000, 0x726c7045, 0x76656e74, 0x31000000, 0x556e6b6e, 0x45766e74, |
5069 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x66617461, 0x6c457272, | 5014 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x66617461, 0x6c457272, |
@@ -5128,13 +5073,13 @@ static int tg3_halt_cpu(struct tg3 *tp, u32 offset) | |||
5128 | struct fw_info { | 5073 | struct fw_info { |
5129 | unsigned int text_base; | 5074 | unsigned int text_base; |
5130 | unsigned int text_len; | 5075 | unsigned int text_len; |
5131 | u32 *text_data; | 5076 | const u32 *text_data; |
5132 | unsigned int rodata_base; | 5077 | unsigned int rodata_base; |
5133 | unsigned int rodata_len; | 5078 | unsigned int rodata_len; |
5134 | u32 *rodata_data; | 5079 | const u32 *rodata_data; |
5135 | unsigned int data_base; | 5080 | unsigned int data_base; |
5136 | unsigned int data_len; | 5081 | unsigned int data_len; |
5137 | u32 *data_data; | 5082 | const u32 *data_data; |
5138 | }; | 5083 | }; |
5139 | 5084 | ||
5140 | /* tp->lock is held. */ | 5085 | /* tp->lock is held. */ |
@@ -5266,7 +5211,7 @@ static int tg3_load_5701_a0_firmware_fix(struct tg3 *tp) | |||
5266 | #define TG3_TSO_FW_BSS_ADDR 0x08001b80 | 5211 | #define TG3_TSO_FW_BSS_ADDR 0x08001b80 |
5267 | #define TG3_TSO_FW_BSS_LEN 0x894 | 5212 | #define TG3_TSO_FW_BSS_LEN 0x894 |
5268 | 5213 | ||
5269 | static u32 tg3TsoFwText[(TG3_TSO_FW_TEXT_LEN / 4) + 1] = { | 5214 | static const u32 tg3TsoFwText[(TG3_TSO_FW_TEXT_LEN / 4) + 1] = { |
5270 | 0x0e000003, 0x00000000, 0x08001b24, 0x00000000, 0x10000003, 0x00000000, | 5215 | 0x0e000003, 0x00000000, 0x08001b24, 0x00000000, 0x10000003, 0x00000000, |
5271 | 0x0000000d, 0x0000000d, 0x3c1d0800, 0x37bd4000, 0x03a0f021, 0x3c100800, | 5216 | 0x0000000d, 0x0000000d, 0x3c1d0800, 0x37bd4000, 0x03a0f021, 0x3c100800, |
5272 | 0x26100000, 0x0e000010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe, | 5217 | 0x26100000, 0x0e000010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe, |
@@ -5553,7 +5498,7 @@ static u32 tg3TsoFwText[(TG3_TSO_FW_TEXT_LEN / 4) + 1] = { | |||
5553 | 0xac470014, 0xac4a0018, 0x03e00008, 0xac4b001c, 0x00000000, 0x00000000, | 5498 | 0xac470014, 0xac4a0018, 0x03e00008, 0xac4b001c, 0x00000000, 0x00000000, |
5554 | }; | 5499 | }; |
5555 | 5500 | ||
5556 | static u32 tg3TsoFwRodata[] = { | 5501 | static const u32 tg3TsoFwRodata[] = { |
5557 | 0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000, | 5502 | 0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000, |
5558 | 0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x496e0000, 0x73746b6f, | 5503 | 0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x496e0000, 0x73746b6f, |
5559 | 0x66662a2a, 0x00000000, 0x53774576, 0x656e7430, 0x00000000, 0x00000000, | 5504 | 0x66662a2a, 0x00000000, 0x53774576, 0x656e7430, 0x00000000, 0x00000000, |
@@ -5561,7 +5506,7 @@ static u32 tg3TsoFwRodata[] = { | |||
5561 | 0x00000000, | 5506 | 0x00000000, |
5562 | }; | 5507 | }; |
5563 | 5508 | ||
5564 | static u32 tg3TsoFwData[] = { | 5509 | static const u32 tg3TsoFwData[] = { |
5565 | 0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x362e3000, 0x00000000, | 5510 | 0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x362e3000, 0x00000000, |
5566 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 5511 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
5567 | 0x00000000, | 5512 | 0x00000000, |
@@ -5583,7 +5528,7 @@ static u32 tg3TsoFwData[] = { | |||
5583 | #define TG3_TSO5_FW_BSS_ADDR 0x00010f50 | 5528 | #define TG3_TSO5_FW_BSS_ADDR 0x00010f50 |
5584 | #define TG3_TSO5_FW_BSS_LEN 0x88 | 5529 | #define TG3_TSO5_FW_BSS_LEN 0x88 |
5585 | 5530 | ||
5586 | static u32 tg3Tso5FwText[(TG3_TSO5_FW_TEXT_LEN / 4) + 1] = { | 5531 | static const u32 tg3Tso5FwText[(TG3_TSO5_FW_TEXT_LEN / 4) + 1] = { |
5587 | 0x0c004003, 0x00000000, 0x00010f04, 0x00000000, 0x10000003, 0x00000000, | 5532 | 0x0c004003, 0x00000000, 0x00010f04, 0x00000000, 0x10000003, 0x00000000, |
5588 | 0x0000000d, 0x0000000d, 0x3c1d0001, 0x37bde000, 0x03a0f021, 0x3c100001, | 5533 | 0x0000000d, 0x0000000d, 0x3c1d0001, 0x37bde000, 0x03a0f021, 0x3c100001, |
5589 | 0x26100000, 0x0c004010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe, | 5534 | 0x26100000, 0x0c004010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe, |
@@ -5742,14 +5687,14 @@ static u32 tg3Tso5FwText[(TG3_TSO5_FW_TEXT_LEN / 4) + 1] = { | |||
5742 | 0x00000000, 0x00000000, 0x00000000, | 5687 | 0x00000000, 0x00000000, 0x00000000, |
5743 | }; | 5688 | }; |
5744 | 5689 | ||
5745 | static u32 tg3Tso5FwRodata[(TG3_TSO5_FW_RODATA_LEN / 4) + 1] = { | 5690 | static const u32 tg3Tso5FwRodata[(TG3_TSO5_FW_RODATA_LEN / 4) + 1] = { |
5746 | 0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000, | 5691 | 0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000, |
5747 | 0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x00000000, 0x00000000, | 5692 | 0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x00000000, 0x00000000, |
5748 | 0x73746b6f, 0x66666c64, 0x00000000, 0x00000000, 0x66617461, 0x6c457272, | 5693 | 0x73746b6f, 0x66666c64, 0x00000000, 0x00000000, 0x66617461, 0x6c457272, |
5749 | 0x00000000, 0x00000000, 0x00000000, | 5694 | 0x00000000, 0x00000000, 0x00000000, |
5750 | }; | 5695 | }; |
5751 | 5696 | ||
5752 | static u32 tg3Tso5FwData[(TG3_TSO5_FW_DATA_LEN / 4) + 1] = { | 5697 | static const u32 tg3Tso5FwData[(TG3_TSO5_FW_DATA_LEN / 4) + 1] = { |
5753 | 0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x322e3000, 0x00000000, | 5698 | 0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x322e3000, 0x00000000, |
5754 | 0x00000000, 0x00000000, 0x00000000, | 5699 | 0x00000000, 0x00000000, 0x00000000, |
5755 | }; | 5700 | }; |