|
@@ -149,122 +149,67 @@ module_param(tg3_debug, int, 0);
|
|
MODULE_PARM_DESC(tg3_debug, "Tigon3 bitmapped debugging message enable value");
|
|
MODULE_PARM_DESC(tg3_debug, "Tigon3 bitmapped debugging message enable value");
|
|
|
|
|
|
static struct pci_device_id tg3_pci_tbl[] = {
|
|
static struct pci_device_id tg3_pci_tbl[] = {
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5700,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5701,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702FE,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705_2,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M_2,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702X,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703X,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702A3,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703A3,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5782,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5788,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5789,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901_2,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S_2,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705F,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5720,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5721,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751F,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753F,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5786,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787M,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714S,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715S,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780S,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5781,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9DXX,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9MXX,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1000,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1001,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1003,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC9100,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_TIGON3,
|
|
|
|
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
|
|
|
|
- { 0, }
|
|
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5700)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5701)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702FE)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705_2)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705M_2)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702X)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703X)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702A3)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703A3)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5782)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5788)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5789)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901_2)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S_2)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5705F)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5720)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5721)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5750M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5751F)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5752M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5753F)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5754M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5755M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5786)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5787M)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5714S)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5715S)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5780S)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5781)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9DXX)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_SYSKONNECT, PCI_DEVICE_ID_SYSKONNECT_9MXX)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1000)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1001)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC1003)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_ALTIMA, PCI_DEVICE_ID_ALTIMA_AC9100)},
|
|
|
|
+ {PCI_DEVICE(PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_TIGON3)},
|
|
|
|
+ {}
|
|
};
|
|
};
|
|
|
|
|
|
MODULE_DEVICE_TABLE(pci, tg3_pci_tbl);
|
|
MODULE_DEVICE_TABLE(pci, tg3_pci_tbl);
|
|
|
|
|
|
-static struct {
|
|
|
|
|
|
+static const struct {
|
|
const char string[ETH_GSTRING_LEN];
|
|
const char string[ETH_GSTRING_LEN];
|
|
} ethtool_stats_keys[TG3_NUM_STATS] = {
|
|
} ethtool_stats_keys[TG3_NUM_STATS] = {
|
|
{ "rx_octets" },
|
|
{ "rx_octets" },
|
|
@@ -345,7 +290,7 @@ static struct {
|
|
{ "nic_tx_threshold_hit" }
|
|
{ "nic_tx_threshold_hit" }
|
|
};
|
|
};
|
|
|
|
|
|
-static struct {
|
|
|
|
|
|
+static const struct {
|
|
const char string[ETH_GSTRING_LEN];
|
|
const char string[ETH_GSTRING_LEN];
|
|
} ethtool_test_keys[TG3_NUM_TEST] = {
|
|
} ethtool_test_keys[TG3_NUM_TEST] = {
|
|
{ "nvram test (online) " },
|
|
{ "nvram test (online) " },
|
|
@@ -3851,11 +3796,11 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
|
skb->h.th->check = 0;
|
|
skb->h.th->check = 0;
|
|
|
|
|
|
}
|
|
}
|
|
- else if (skb->ip_summed == CHECKSUM_HW)
|
|
|
|
|
|
+ else if (skb->ip_summed == CHECKSUM_PARTIAL)
|
|
base_flags |= TXD_FLAG_TCPUDP_CSUM;
|
|
base_flags |= TXD_FLAG_TCPUDP_CSUM;
|
|
#else
|
|
#else
|
|
mss = 0;
|
|
mss = 0;
|
|
- if (skb->ip_summed == CHECKSUM_HW)
|
|
|
|
|
|
+ if (skb->ip_summed == CHECKSUM_PARTIAL)
|
|
base_flags |= TXD_FLAG_TCPUDP_CSUM;
|
|
base_flags |= TXD_FLAG_TCPUDP_CSUM;
|
|
#endif
|
|
#endif
|
|
#if TG3_VLAN_TAG_USED
|
|
#if TG3_VLAN_TAG_USED
|
|
@@ -3981,7 +3926,7 @@ static int tg3_start_xmit_dma_bug(struct sk_buff *skb, struct net_device *dev)
|
|
|
|
|
|
entry = tp->tx_prod;
|
|
entry = tp->tx_prod;
|
|
base_flags = 0;
|
|
base_flags = 0;
|
|
- if (skb->ip_summed == CHECKSUM_HW)
|
|
|
|
|
|
+ if (skb->ip_summed == CHECKSUM_PARTIAL)
|
|
base_flags |= TXD_FLAG_TCPUDP_CSUM;
|
|
base_flags |= TXD_FLAG_TCPUDP_CSUM;
|
|
#if TG3_TSO_SUPPORT != 0
|
|
#if TG3_TSO_SUPPORT != 0
|
|
mss = 0;
|
|
mss = 0;
|
|
@@ -4969,7 +4914,7 @@ static int tg3_halt(struct tg3 *tp, int kind, int silent)
|
|
#define TG3_FW_BSS_ADDR 0x08000a70
|
|
#define TG3_FW_BSS_ADDR 0x08000a70
|
|
#define TG3_FW_BSS_LEN 0x10
|
|
#define TG3_FW_BSS_LEN 0x10
|
|
|
|
|
|
-static u32 tg3FwText[(TG3_FW_TEXT_LEN / sizeof(u32)) + 1] = {
|
|
|
|
|
|
+static const u32 tg3FwText[(TG3_FW_TEXT_LEN / sizeof(u32)) + 1] = {
|
|
0x00000000, 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, 0x3c1d0800,
|
|
0x00000000, 0x10000003, 0x00000000, 0x0000000d, 0x0000000d, 0x3c1d0800,
|
|
0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100000, 0x0e000018, 0x00000000,
|
|
0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100000, 0x0e000018, 0x00000000,
|
|
0x0000000d, 0x3c1d0800, 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100034,
|
|
0x0000000d, 0x3c1d0800, 0x37bd3ffc, 0x03a0f021, 0x3c100800, 0x26100034,
|
|
@@ -5063,7 +5008,7 @@ static u32 tg3FwText[(TG3_FW_TEXT_LEN / sizeof(u32)) + 1] = {
|
|
0x27bd0008, 0x03e00008, 0x00000000, 0x00000000, 0x00000000
|
|
0x27bd0008, 0x03e00008, 0x00000000, 0x00000000, 0x00000000
|
|
};
|
|
};
|
|
|
|
|
|
-static u32 tg3FwRodata[(TG3_FW_RODATA_LEN / sizeof(u32)) + 1] = {
|
|
|
|
|
|
+static const u32 tg3FwRodata[(TG3_FW_RODATA_LEN / sizeof(u32)) + 1] = {
|
|
0x35373031, 0x726c7341, 0x00000000, 0x00000000, 0x53774576, 0x656e7430,
|
|
0x35373031, 0x726c7341, 0x00000000, 0x00000000, 0x53774576, 0x656e7430,
|
|
0x00000000, 0x726c7045, 0x76656e74, 0x31000000, 0x556e6b6e, 0x45766e74,
|
|
0x00000000, 0x726c7045, 0x76656e74, 0x31000000, 0x556e6b6e, 0x45766e74,
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x66617461, 0x6c457272,
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x66617461, 0x6c457272,
|
|
@@ -5128,13 +5073,13 @@ static int tg3_halt_cpu(struct tg3 *tp, u32 offset)
|
|
struct fw_info {
|
|
struct fw_info {
|
|
unsigned int text_base;
|
|
unsigned int text_base;
|
|
unsigned int text_len;
|
|
unsigned int text_len;
|
|
- u32 *text_data;
|
|
|
|
|
|
+ const u32 *text_data;
|
|
unsigned int rodata_base;
|
|
unsigned int rodata_base;
|
|
unsigned int rodata_len;
|
|
unsigned int rodata_len;
|
|
- u32 *rodata_data;
|
|
|
|
|
|
+ const u32 *rodata_data;
|
|
unsigned int data_base;
|
|
unsigned int data_base;
|
|
unsigned int data_len;
|
|
unsigned int data_len;
|
|
- u32 *data_data;
|
|
|
|
|
|
+ const u32 *data_data;
|
|
};
|
|
};
|
|
|
|
|
|
/* tp->lock is held. */
|
|
/* tp->lock is held. */
|
|
@@ -5266,7 +5211,7 @@ static int tg3_load_5701_a0_firmware_fix(struct tg3 *tp)
|
|
#define TG3_TSO_FW_BSS_ADDR 0x08001b80
|
|
#define TG3_TSO_FW_BSS_ADDR 0x08001b80
|
|
#define TG3_TSO_FW_BSS_LEN 0x894
|
|
#define TG3_TSO_FW_BSS_LEN 0x894
|
|
|
|
|
|
-static u32 tg3TsoFwText[(TG3_TSO_FW_TEXT_LEN / 4) + 1] = {
|
|
|
|
|
|
+static const u32 tg3TsoFwText[(TG3_TSO_FW_TEXT_LEN / 4) + 1] = {
|
|
0x0e000003, 0x00000000, 0x08001b24, 0x00000000, 0x10000003, 0x00000000,
|
|
0x0e000003, 0x00000000, 0x08001b24, 0x00000000, 0x10000003, 0x00000000,
|
|
0x0000000d, 0x0000000d, 0x3c1d0800, 0x37bd4000, 0x03a0f021, 0x3c100800,
|
|
0x0000000d, 0x0000000d, 0x3c1d0800, 0x37bd4000, 0x03a0f021, 0x3c100800,
|
|
0x26100000, 0x0e000010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe,
|
|
0x26100000, 0x0e000010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe,
|
|
@@ -5553,7 +5498,7 @@ static u32 tg3TsoFwText[(TG3_TSO_FW_TEXT_LEN / 4) + 1] = {
|
|
0xac470014, 0xac4a0018, 0x03e00008, 0xac4b001c, 0x00000000, 0x00000000,
|
|
0xac470014, 0xac4a0018, 0x03e00008, 0xac4b001c, 0x00000000, 0x00000000,
|
|
};
|
|
};
|
|
|
|
|
|
-static u32 tg3TsoFwRodata[] = {
|
|
|
|
|
|
+static const u32 tg3TsoFwRodata[] = {
|
|
0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000,
|
|
0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000,
|
|
0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x496e0000, 0x73746b6f,
|
|
0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x496e0000, 0x73746b6f,
|
|
0x66662a2a, 0x00000000, 0x53774576, 0x656e7430, 0x00000000, 0x00000000,
|
|
0x66662a2a, 0x00000000, 0x53774576, 0x656e7430, 0x00000000, 0x00000000,
|
|
@@ -5561,7 +5506,7 @@ static u32 tg3TsoFwRodata[] = {
|
|
0x00000000,
|
|
0x00000000,
|
|
};
|
|
};
|
|
|
|
|
|
-static u32 tg3TsoFwData[] = {
|
|
|
|
|
|
+static const u32 tg3TsoFwData[] = {
|
|
0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x362e3000, 0x00000000,
|
|
0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x362e3000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
|
0x00000000,
|
|
0x00000000,
|
|
@@ -5583,7 +5528,7 @@ static u32 tg3TsoFwData[] = {
|
|
#define TG3_TSO5_FW_BSS_ADDR 0x00010f50
|
|
#define TG3_TSO5_FW_BSS_ADDR 0x00010f50
|
|
#define TG3_TSO5_FW_BSS_LEN 0x88
|
|
#define TG3_TSO5_FW_BSS_LEN 0x88
|
|
|
|
|
|
-static u32 tg3Tso5FwText[(TG3_TSO5_FW_TEXT_LEN / 4) + 1] = {
|
|
|
|
|
|
+static const u32 tg3Tso5FwText[(TG3_TSO5_FW_TEXT_LEN / 4) + 1] = {
|
|
0x0c004003, 0x00000000, 0x00010f04, 0x00000000, 0x10000003, 0x00000000,
|
|
0x0c004003, 0x00000000, 0x00010f04, 0x00000000, 0x10000003, 0x00000000,
|
|
0x0000000d, 0x0000000d, 0x3c1d0001, 0x37bde000, 0x03a0f021, 0x3c100001,
|
|
0x0000000d, 0x0000000d, 0x3c1d0001, 0x37bde000, 0x03a0f021, 0x3c100001,
|
|
0x26100000, 0x0c004010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe,
|
|
0x26100000, 0x0c004010, 0x00000000, 0x0000000d, 0x27bdffe0, 0x3c04fefe,
|
|
@@ -5742,14 +5687,14 @@ static u32 tg3Tso5FwText[(TG3_TSO5_FW_TEXT_LEN / 4) + 1] = {
|
|
0x00000000, 0x00000000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000,
|
|
};
|
|
};
|
|
|
|
|
|
-static u32 tg3Tso5FwRodata[(TG3_TSO5_FW_RODATA_LEN / 4) + 1] = {
|
|
|
|
|
|
+static const u32 tg3Tso5FwRodata[(TG3_TSO5_FW_RODATA_LEN / 4) + 1] = {
|
|
0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000,
|
|
0x4d61696e, 0x43707542, 0x00000000, 0x4d61696e, 0x43707541, 0x00000000,
|
|
0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x00000000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x73746b6f, 0x66666c64, 0x00000000, 0x00000000,
|
|
0x73746b6f, 0x66666c64, 0x00000000, 0x00000000, 0x66617461, 0x6c457272,
|
|
0x73746b6f, 0x66666c64, 0x00000000, 0x00000000, 0x66617461, 0x6c457272,
|
|
0x00000000, 0x00000000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000,
|
|
};
|
|
};
|
|
|
|
|
|
-static u32 tg3Tso5FwData[(TG3_TSO5_FW_DATA_LEN / 4) + 1] = {
|
|
|
|
|
|
+static const u32 tg3Tso5FwData[(TG3_TSO5_FW_DATA_LEN / 4) + 1] = {
|
|
0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x322e3000, 0x00000000,
|
|
0x00000000, 0x73746b6f, 0x66666c64, 0x5f76312e, 0x322e3000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000,
|
|
0x00000000, 0x00000000, 0x00000000,
|
|
};
|
|
};
|