diff options
author | Mark Gross <mgross@linux.intel.com> | 2010-05-05 19:59:26 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2010-05-10 17:08:19 -0400 |
commit | ed77134bfccf5e75b6cbadab268e559dbe6a4ebb (patch) | |
tree | dae087a617ab3d9af8673d1905dbca3bcd57e89e /drivers/net/wireless/ipw2x00 | |
parent | 0fef8b1e83c4ab08cf1304dbebcfd749caf4f187 (diff) |
PM QOS update
This patch changes the string based list management to a handle base
implementation to help with the hot path use of pm-qos, it also renames
much of the API to use "request" as opposed to "requirement" that was
used in the initial implementation. I did this because request more
accurately represents what it actually does.
Also, I added a string based ABI for users wanting to use a string
interface. So if the user writes 0xDDDDDDDD formatted hex it will be
accepted by the interface. (someone asked me for it and I don't think
it hurts anything.)
This patch updates some documentation input I got from Randy.
Signed-off-by: markgross <mgross@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/net/wireless/ipw2x00')
-rw-r--r-- | drivers/net/wireless/ipw2x00/ipw2100.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c index 9b72c45a7748..2b05fe5e994c 100644 --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c | |||
@@ -174,6 +174,8 @@ that only one external action is invoked at a time. | |||
174 | #define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2100 Network Driver" | 174 | #define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2100 Network Driver" |
175 | #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" | 175 | #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" |
176 | 176 | ||
177 | struct pm_qos_request_list *ipw2100_pm_qos_req; | ||
178 | |||
177 | /* Debugging stuff */ | 179 | /* Debugging stuff */ |
178 | #ifdef CONFIG_IPW2100_DEBUG | 180 | #ifdef CONFIG_IPW2100_DEBUG |
179 | #define IPW2100_RX_DEBUG /* Reception debugging */ | 181 | #define IPW2100_RX_DEBUG /* Reception debugging */ |
@@ -1739,7 +1741,7 @@ static int ipw2100_up(struct ipw2100_priv *priv, int deferred) | |||
1739 | /* the ipw2100 hardware really doesn't want power management delays | 1741 | /* the ipw2100 hardware really doesn't want power management delays |
1740 | * longer than 175usec | 1742 | * longer than 175usec |
1741 | */ | 1743 | */ |
1742 | pm_qos_update_requirement(PM_QOS_CPU_DMA_LATENCY, "ipw2100", 175); | 1744 | pm_qos_update_request(ipw2100_pm_qos_req, 175); |
1743 | 1745 | ||
1744 | /* If the interrupt is enabled, turn it off... */ | 1746 | /* If the interrupt is enabled, turn it off... */ |
1745 | spin_lock_irqsave(&priv->low_lock, flags); | 1747 | spin_lock_irqsave(&priv->low_lock, flags); |
@@ -1887,8 +1889,7 @@ static void ipw2100_down(struct ipw2100_priv *priv) | |||
1887 | ipw2100_disable_interrupts(priv); | 1889 | ipw2100_disable_interrupts(priv); |
1888 | spin_unlock_irqrestore(&priv->low_lock, flags); | 1890 | spin_unlock_irqrestore(&priv->low_lock, flags); |
1889 | 1891 | ||
1890 | pm_qos_update_requirement(PM_QOS_CPU_DMA_LATENCY, "ipw2100", | 1892 | pm_qos_update_request(ipw2100_pm_qos_req, PM_QOS_DEFAULT_VALUE); |
1891 | PM_QOS_DEFAULT_VALUE); | ||
1892 | 1893 | ||
1893 | /* We have to signal any supplicant if we are disassociating */ | 1894 | /* We have to signal any supplicant if we are disassociating */ |
1894 | if (associated) | 1895 | if (associated) |
@@ -6669,7 +6670,7 @@ static int __init ipw2100_init(void) | |||
6669 | if (ret) | 6670 | if (ret) |
6670 | goto out; | 6671 | goto out; |
6671 | 6672 | ||
6672 | pm_qos_add_requirement(PM_QOS_CPU_DMA_LATENCY, "ipw2100", | 6673 | ipw2100_pm_qos_req = pm_qos_add_request(PM_QOS_CPU_DMA_LATENCY, |
6673 | PM_QOS_DEFAULT_VALUE); | 6674 | PM_QOS_DEFAULT_VALUE); |
6674 | #ifdef CONFIG_IPW2100_DEBUG | 6675 | #ifdef CONFIG_IPW2100_DEBUG |
6675 | ipw2100_debug_level = debug; | 6676 | ipw2100_debug_level = debug; |
@@ -6692,7 +6693,7 @@ static void __exit ipw2100_exit(void) | |||
6692 | &driver_attr_debug_level); | 6693 | &driver_attr_debug_level); |
6693 | #endif | 6694 | #endif |
6694 | pci_unregister_driver(&ipw2100_pci_driver); | 6695 | pci_unregister_driver(&ipw2100_pci_driver); |
6695 | pm_qos_remove_requirement(PM_QOS_CPU_DMA_LATENCY, "ipw2100"); | 6696 | pm_qos_remove_request(ipw2100_pm_qos_req); |
6696 | } | 6697 | } |
6697 | 6698 | ||
6698 | module_init(ipw2100_init); | 6699 | module_init(ipw2100_init); |