From: Linus Torvalds Date: Wed, 4 Aug 2010 18:47:58 +0000 (-0700) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7;p=openwrt%2Fstaging%2Fblogic.git Merge git://git./linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1443 commits) phy/marvell: add 88ec048 support igb: Program MDICNFG register prior to PHY init e1000e: correct MAC-PHY interconnect register offset for 82579 hso: Add new product ID can: Add driver for esd CAN-USB/2 device l2tp: fix export of header file for userspace can-raw: Fix skb_orphan_try handling Revert "net: remove zap_completion_queue" net: cleanup inclusion phy/marvell: add 88e1121 interface mode support u32: negative offset fix net: Fix a typo from "dev" to "ndev" igb: Use irq_synchronize per vector when using MSI-X ixgbevf: fix null pointer dereference due to filter being set for VLAN 0 e1000e: Fix irq_synchronize in MSI-X case e1000e: register pm_qos request on hardware activation ip_fragment: fix subtracting PPPOE_SES_HLEN from mtu twice net: Add getsockopt support for TCP thin-streams cxgb4: update driver version cxgb4: add new PCI IDs ... Manually fix up conflicts in: - drivers/net/e1000e/netdev.c: due to pm_qos registration infrastructure changes - drivers/net/phy/marvell.c: conflict between adding 88ec048 support and cleaning up the IDs - drivers/net/wireless/ipw2x00/ipw2100.c: trivial ipw2100_pm_qos_req conflict (registration change vs marking it static) --- 6ba74014c1ab0e37af7de6f64b4eccbbae3cb9e7 diff --cc drivers/net/e1000e/netdev.c index 9f13b660b801,9e9164a9d489..36d31a416320 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c @@@ -3495,6 -3525,12 +3525,12 @@@ static int e1000_open(struct net_devic E1000_MNG_DHCP_COOKIE_STATUS_VLAN)) e1000_update_mng_vlan(adapter); + /* DMA latency requirement to workaround early-receive/jumbo issue */ + if (adapter->flags & FLAG_HAS_ERT) - adapter->netdev->pm_qos_req = - pm_qos_add_request(PM_QOS_CPU_DMA_LATENCY, - PM_QOS_DEFAULT_VALUE); ++ pm_qos_add_request(&adapter->netdev->pm_qos_req, ++ PM_QOS_CPU_DMA_LATENCY, ++ PM_QOS_DEFAULT_VALUE); + /* * before we allocate an interrupt, we must be ready to handle it. * Setting DEBUG_SHIRQ in the kernel makes it fire an interrupt @@@ -3599,6 -3635,11 +3635,9 @@@ static int e1000_close(struct net_devic if (adapter->flags & FLAG_HAS_AMT) e1000_release_hw_control(adapter); - if (adapter->flags & FLAG_HAS_ERT) { - pm_qos_remove_request(adapter->netdev->pm_qos_req); - adapter->netdev->pm_qos_req = NULL; - } ++ if (adapter->flags & FLAG_HAS_ERT) ++ pm_qos_remove_request(&adapter->netdev->pm_qos_req); + pm_runtime_put_sync(&pdev->dev); return 0; diff --cc drivers/net/phy/marvell.c index 5a1bd5db2a93,721a090a01bc..0101f2bdf400 --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@@ -594,9 -649,22 +651,22 @@@ static struct phy_driver marvell_driver .did_interrupt = &m88e1121_did_interrupt, .driver = { .owner = THIS_MODULE }, }, + { - .phy_id = 0x01410e90, - .phy_id_mask = 0xfffffff0, ++ .phy_id = MARVELL_PHY_ID_88EC048, ++ .phy_id_mask = MARVELL_PHY_ID_MASK, + .name = "Marvell 88EC048", + .features = PHY_GBIT_FEATURES, + .flags = PHY_HAS_INTERRUPT, + .config_aneg = &m88ec048_config_aneg, + .read_status = &marvell_read_status, + .ack_interrupt = &marvell_ack_interrupt, + .config_intr = &marvell_config_intr, + .did_interrupt = &m88e1121_did_interrupt, + .driver = { .owner = THIS_MODULE }, + }, { - .phy_id = 0x01410cd0, - .phy_id_mask = 0xfffffff0, + .phy_id = MARVELL_PHY_ID_88E1145, + .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E1145", .features = PHY_GBIT_FEATURES, .flags = PHY_HAS_INTERRUPT, diff --cc drivers/net/wireless/ipw2x00/ipw2100.c index 7f0d98b885bc,5bbff4c5a489..c24c5efeae1f --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c @@@ -174,7 -174,7 +174,7 @@@ that only one external action is invoke #define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2100 Network Driver" #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" - struct pm_qos_request_list ipw2100_pm_qos_req; -static struct pm_qos_request_list *ipw2100_pm_qos_req; ++static struct pm_qos_request_list ipw2100_pm_qos_req; /* Debugging stuff */ #ifdef CONFIG_IPW2100_DEBUG diff --cc include/linux/marvell_phy.h index 2ed4fb8bbd51,000000000000..d0f08018335d mode 100644,000000..100644 --- a/include/linux/marvell_phy.h +++ b/include/linux/marvell_phy.h @@@ -1,20 -1,0 +1,21 @@@ +#ifndef _MARVELL_PHY_H +#define _MARVELL_PHY_H + +/* Mask used for ID comparisons */ +#define MARVELL_PHY_ID_MASK 0xfffffff0 + +/* Known PHY IDs */ +#define MARVELL_PHY_ID_88E1101 0x01410c60 +#define MARVELL_PHY_ID_88E1112 0x01410c90 +#define MARVELL_PHY_ID_88E1111 0x01410cc0 +#define MARVELL_PHY_ID_88E1118 0x01410e10 +#define MARVELL_PHY_ID_88E1121R 0x01410cb0 +#define MARVELL_PHY_ID_88E1145 0x01410cd0 +#define MARVELL_PHY_ID_88E1240 0x01410e30 ++#define MARVELL_PHY_ID_88EC048 0x01410e90 + +/* struct phy_device dev_flags definitions */ +#define MARVELL_PHY_M1145_FLAGS_RESISTANCE 0x00000001 +#define MARVELL_PHY_M1118_DNS323_LEDS 0x00000002 + +#endif /* _MARVELL_PHY_H */