Skip to content

Commit e2c6544

Browse files
tgrafdavem330
authored andcommitted
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 <[email protected]> Acked-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent cf89013 commit e2c6544

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

drivers/net/ethernet/intel/e1000e/e1000.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ struct e1000_adapter {
343343
struct timecounter tc;
344344
struct ptp_clock *ptp_clock;
345345
struct ptp_clock_info ptp_clock_info;
346+
struct pm_qos_request pm_qos_req;
346347

347348
u16 eee_advert;
348349
};

drivers/net/ethernet/intel/e1000e/netdev.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3297,9 +3297,9 @@ static void e1000_configure_rx(struct e1000_adapter *adapter)
32973297
ew32(RXDCTL(0), rxdctl | 0x3);
32983298
}
32993299

3300-
pm_qos_update_request(&adapter->netdev->pm_qos_req, lat);
3300+
pm_qos_update_request(&adapter->pm_qos_req, lat);
33013301
} else {
3302-
pm_qos_update_request(&adapter->netdev->pm_qos_req,
3302+
pm_qos_update_request(&adapter->pm_qos_req,
33033303
PM_QOS_DEFAULT_VALUE);
33043304
}
33053305

@@ -4403,7 +4403,7 @@ static int e1000_open(struct net_device *netdev)
44034403
e1000_update_mng_vlan(adapter);
44044404

44054405
/* 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,
44074407
PM_QOS_DEFAULT_VALUE);
44084408

44094409
/* before we allocate an interrupt, we must be ready to handle it.
@@ -4514,7 +4514,7 @@ static int e1000_close(struct net_device *netdev)
45144514
!test_bit(__E1000_TESTING, &adapter->state))
45154515
e1000e_release_hw_control(adapter);
45164516

4517-
pm_qos_remove_request(&adapter->netdev->pm_qos_req);
4517+
pm_qos_remove_request(&adapter->pm_qos_req);
45184518

45194519
pm_runtime_put_sync(&pdev->dev);
45204520

include/linux/netdevice.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1751,7 +1751,6 @@ struct net_device {
17511751
#endif
17521752
struct phy_device *phydev;
17531753
struct lock_class_key *qdisc_tx_busylock;
1754-
struct pm_qos_request pm_qos_req;
17551754
};
17561755
#define to_net_dev(d) container_of(d, struct net_device, dev)
17571756

0 commit comments

Comments
 (0)