diff options
author | Thomas Graf <tgraf@suug.ch> | 2015-04-10 09:52:37 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-13 13:15:14 -0400 |
commit | e2c6544829f8df396a0a233c86d5ee78f405ffef (patch) | |
tree | 5a774d8f2ac52fe39fa735f6c969f9ef1826ea69 | |
parent | cf890138087a6da2f56a642acb80476370b04332 (diff) |
e1000e: Move pm_qos_req to e1000e adapter
e1000e is the only driver requiring pm_qos_req, instead of causing
every device to waste up to 240 bytes. Allocate it for the specific
driver.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/e1000.h | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 8 | ||||
-rw-r--r-- | include/linux/netdevice.h | 1 |
3 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h index a69f09e37b58..5d9ceb17b4cb 100644 --- a/drivers/net/ethernet/intel/e1000e/e1000.h +++ b/drivers/net/ethernet/intel/e1000e/e1000.h | |||
@@ -343,6 +343,7 @@ struct e1000_adapter { | |||
343 | struct timecounter tc; | 343 | struct timecounter tc; |
344 | struct ptp_clock *ptp_clock; | 344 | struct ptp_clock *ptp_clock; |
345 | struct ptp_clock_info ptp_clock_info; | 345 | struct ptp_clock_info ptp_clock_info; |
346 | struct pm_qos_request pm_qos_req; | ||
346 | 347 | ||
347 | u16 eee_advert; | 348 | u16 eee_advert; |
348 | }; | 349 | }; |
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 74ec185a697f..c509a5c900f5 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -3297,9 +3297,9 @@ static void e1000_configure_rx(struct e1000_adapter *adapter) | |||
3297 | ew32(RXDCTL(0), rxdctl | 0x3); | 3297 | ew32(RXDCTL(0), rxdctl | 0x3); |
3298 | } | 3298 | } |
3299 | 3299 | ||
3300 | pm_qos_update_request(&adapter->netdev->pm_qos_req, lat); | 3300 | pm_qos_update_request(&adapter->pm_qos_req, lat); |
3301 | } else { | 3301 | } else { |
3302 | pm_qos_update_request(&adapter->netdev->pm_qos_req, | 3302 | pm_qos_update_request(&adapter->pm_qos_req, |
3303 | PM_QOS_DEFAULT_VALUE); | 3303 | PM_QOS_DEFAULT_VALUE); |
3304 | } | 3304 | } |
3305 | 3305 | ||
@@ -4403,7 +4403,7 @@ static int e1000_open(struct net_device *netdev) | |||
4403 | e1000_update_mng_vlan(adapter); | 4403 | e1000_update_mng_vlan(adapter); |
4404 | 4404 | ||
4405 | /* DMA latency requirement to workaround jumbo issue */ | 4405 | /* DMA latency requirement to workaround jumbo issue */ |
4406 | pm_qos_add_request(&adapter->netdev->pm_qos_req, PM_QOS_CPU_DMA_LATENCY, | 4406 | pm_qos_add_request(&adapter->pm_qos_req, PM_QOS_CPU_DMA_LATENCY, |
4407 | PM_QOS_DEFAULT_VALUE); | 4407 | PM_QOS_DEFAULT_VALUE); |
4408 | 4408 | ||
4409 | /* before we allocate an interrupt, we must be ready to handle it. | 4409 | /* before we allocate an interrupt, we must be ready to handle it. |
@@ -4514,7 +4514,7 @@ static int e1000_close(struct net_device *netdev) | |||
4514 | !test_bit(__E1000_TESTING, &adapter->state)) | 4514 | !test_bit(__E1000_TESTING, &adapter->state)) |
4515 | e1000e_release_hw_control(adapter); | 4515 | e1000e_release_hw_control(adapter); |
4516 | 4516 | ||
4517 | pm_qos_remove_request(&adapter->netdev->pm_qos_req); | 4517 | pm_qos_remove_request(&adapter->pm_qos_req); |
4518 | 4518 | ||
4519 | pm_runtime_put_sync(&pdev->dev); | 4519 | pm_runtime_put_sync(&pdev->dev); |
4520 | 4520 | ||
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 13acb3d8ecdd..733d24f16cf8 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -1751,7 +1751,6 @@ struct net_device { | |||
1751 | #endif | 1751 | #endif |
1752 | struct phy_device *phydev; | 1752 | struct phy_device *phydev; |
1753 | struct lock_class_key *qdisc_tx_busylock; | 1753 | struct lock_class_key *qdisc_tx_busylock; |
1754 | struct pm_qos_request pm_qos_req; | ||
1755 | }; | 1754 | }; |
1756 | #define to_net_dev(d) container_of(d, struct net_device, dev) | 1755 | #define to_net_dev(d) container_of(d, struct net_device, dev) |
1757 | 1756 | ||