Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4040cd14 authored by Yuanyuan Liu's avatar Yuanyuan Liu Committed by Sameer Thalappil
Browse files

cnss: Add wrapper functions for pm_qos functionalities



Add wrapper functions for add/remove qos request APIs.
WLAN driver uses these APIs for its qos request.

CRs-Fixed: 605324
Change-Id: I8cce9f962b7fe7aa549fd3b9fe4ef9c1b34f635e
Signed-off-by: default avatarYuanyuan Liu <yuanliu@codeaurora.org>
parent a3e94a8c
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <linux/pm.h>
#include <linux/pm_wakeup.h>
#include <linux/sched.h>
#include <linux/pm_qos.h>
#include <mach/gpiomux.h>
#include <mach/msm_pcie.h>
#include <mach/subsystem_restart.h>
@@ -85,6 +86,7 @@ static struct cnss_data {
	struct pci_saved_state *saved_state;
	u16 revision_id;
	struct cnss_fw_files fw_files;
	struct pm_qos_request qos_request;
} *penv;

static int cnss_wlan_vreg_set(struct cnss_wlan_vreg_info *vreg_info, bool state)
@@ -907,6 +909,18 @@ static void __exit cnss_exit(void)
	platform_driver_unregister(&cnss_driver);
}

void cnss_request_pm_qos(u32 qos_val)
{
	pm_qos_add_request(&penv->qos_request, PM_QOS_CPU_DMA_LATENCY, qos_val);
}
EXPORT_SYMBOL(cnss_request_pm_qos);

void cnss_remove_pm_qos(void)
{
	pm_qos_remove_request(&penv->qos_request);
}
EXPORT_SYMBOL(cnss_remove_pm_qos);

module_init(cnss_initialize);
module_exit(cnss_exit);

+2 −0
Original line number Diff line number Diff line
@@ -57,5 +57,7 @@ extern void cnss_pm_wake_lock_release(struct wakeup_source *ws);
extern void cnss_pm_wake_lock_destroy(struct wakeup_source *ws);

extern int cnss_set_cpus_allowed_ptr(struct task_struct *task, ulong cpu);
extern void cnss_request_pm_qos(u32 qos_val);
extern void cnss_remove_pm_qos(void);

#endif /* _NET_CNSS_H_ */