aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/pch_gbe
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-05-11 14:26:15 -0400
committerDavid S. Miller <davem@davemloft.net>2011-05-11 14:26:58 -0400
commit3c709f8fb43e07a0403bba4a8ca7ba00ab874994 (patch)
tree9efc1e2bf6930851f0224f525b6cde0f5297fa61 /drivers/net/pch_gbe
parent0074820978004cc484b132d7a9ce0df414660d9d (diff)
parent9bbc052d5e63512b0ce4e201ea97e12fba9fda82 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-3.6
Conflicts: drivers/net/benet/be_main.c
Diffstat (limited to 'drivers/net/pch_gbe')
-rw-r--r--drivers/net/pch_gbe/pch_gbe_main.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/drivers/net/pch_gbe/pch_gbe_main.c b/drivers/net/pch_gbe/pch_gbe_main.c
index f3e4b0adae93..c2476fd96573 100644
--- a/drivers/net/pch_gbe/pch_gbe_main.c
+++ b/drivers/net/pch_gbe/pch_gbe_main.c
@@ -34,6 +34,10 @@ const char pch_driver_version[] = DRV_VERSION;
34#define PCH_GBE_COPYBREAK_DEFAULT 256 34#define PCH_GBE_COPYBREAK_DEFAULT 256
35#define PCH_GBE_PCI_BAR 1 35#define PCH_GBE_PCI_BAR 1
36 36
37/* Macros for ML7223 */
38#define PCI_VENDOR_ID_ROHM 0x10db
39#define PCI_DEVICE_ID_ROHM_ML7223_GBE 0x8013
40
37#define PCH_GBE_TX_WEIGHT 64 41#define PCH_GBE_TX_WEIGHT 64
38#define PCH_GBE_RX_WEIGHT 64 42#define PCH_GBE_RX_WEIGHT 64
39#define PCH_GBE_RX_BUFFER_WRITE 16 43#define PCH_GBE_RX_BUFFER_WRITE 16
@@ -43,8 +47,7 @@ const char pch_driver_version[] = DRV_VERSION;
43 47
44#define PCH_GBE_MAC_RGMII_CTRL_SETTING ( \ 48#define PCH_GBE_MAC_RGMII_CTRL_SETTING ( \
45 PCH_GBE_CHIP_TYPE_INTERNAL | \ 49 PCH_GBE_CHIP_TYPE_INTERNAL | \
46 PCH_GBE_RGMII_MODE_RGMII | \ 50 PCH_GBE_RGMII_MODE_RGMII \
47 PCH_GBE_CRS_SEL \
48 ) 51 )
49 52
50/* Ethertype field values */ 53/* Ethertype field values */
@@ -1495,12 +1498,11 @@ pch_gbe_clean_rx(struct pch_gbe_adapter *adapter,
1495 /* Write meta date of skb */ 1498 /* Write meta date of skb */
1496 skb_put(skb, length); 1499 skb_put(skb, length);
1497 skb->protocol = eth_type_trans(skb, netdev); 1500 skb->protocol = eth_type_trans(skb, netdev);
1498 if ((tcp_ip_status & PCH_GBE_RXD_ACC_STAT_TCPIPOK) == 1501 if (tcp_ip_status & PCH_GBE_RXD_ACC_STAT_TCPIPOK)
1499 PCH_GBE_RXD_ACC_STAT_TCPIPOK) {
1500 skb->ip_summed = CHECKSUM_UNNECESSARY;
1501 } else {
1502 skb->ip_summed = CHECKSUM_NONE; 1502 skb->ip_summed = CHECKSUM_NONE;
1503 } 1503 else
1504 skb->ip_summed = CHECKSUM_UNNECESSARY;
1505
1504 napi_gro_receive(&adapter->napi, skb); 1506 napi_gro_receive(&adapter->napi, skb);
1505 (*work_done)++; 1507 (*work_done)++;
1506 pr_debug("Receive skb->ip_summed: %d length: %d\n", 1508 pr_debug("Receive skb->ip_summed: %d length: %d\n",
@@ -2442,6 +2444,13 @@ static DEFINE_PCI_DEVICE_TABLE(pch_gbe_pcidev_id) = {
2442 .class = (PCI_CLASS_NETWORK_ETHERNET << 8), 2444 .class = (PCI_CLASS_NETWORK_ETHERNET << 8),
2443 .class_mask = (0xFFFF00) 2445 .class_mask = (0xFFFF00)
2444 }, 2446 },
2447 {.vendor = PCI_VENDOR_ID_ROHM,
2448 .device = PCI_DEVICE_ID_ROHM_ML7223_GBE,
2449 .subvendor = PCI_ANY_ID,
2450 .subdevice = PCI_ANY_ID,
2451 .class = (PCI_CLASS_NETWORK_ETHERNET << 8),
2452 .class_mask = (0xFFFF00)
2453 },
2445 /* required last entry */ 2454 /* required last entry */
2446 {0} 2455 {0}
2447}; 2456};