本文整理汇总了C++中pm_qos_remove_request函数的典型用法代码示例。如果您正苦于以下问题:C++ pm_qos_remove_request函数的具体用法?C++ pm_qos_remove_request怎么用?C++ pm_qos_remove_request使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pm_qos_remove_request函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: k3v2_release_freq_lock_work
/*****************************************************************************
Description : 1s frequency control release timer timeout, this function will be triggered. It will
release the minimal CPU and DDR frequency lock. This function run in the frequency
control work quenue.
Prototype : void k3v2_release_freq_lock_work(struct work_struct *work)
Input Param :
Output Param :
Return Value :
******************************************************************************/
static void k3v2_release_freq_lock_work(struct work_struct *work)
{
freq_lock_control_t *fl_control_ptr =
container_of(work, freq_lock_control_t, release_lock_work);
lfprintf("k3v2_release_freq_lock_work call enter.\n");
#ifdef DEBUG_WIFI_FREQ_LOCK
pre_release_jiffies = jiffies;
#endif
if(NULL == fl_control_ptr){
printk("k3v2_release_freq_lock_work NULL point error!\n");
return;
}
mutex_lock(&fl_control_ptr->lock_freq_mtx);
if(LR_SHOULD_DROP_MAGIC == fl_control_ptr->release_work_state ){
lfprintf("k3v2_release_freq_lock_work work has been drop, not do lock release, return here.\n");
fl_control_ptr->release_work_state = LR_DISABLE_MAGIC;
return;
}
if(FREQ_LOCK_ENABLE == fl_control_ptr->lock_mod){
#ifdef CONFIG_CPU_FREQ_GOV_K3HOTPLUG
/*lock freq timer timeout, do frequency lock release process here.*/
pm_qos_remove_request(&fl_control_ptr->cpu_qos_request);
if(fl_control_ptr->lock_level >= START_DDR_FREQ_LOCK_LEVEL){
pm_qos_remove_request(&fl_control_ptr->ddr_qos_request);
}
#endif
fl_control_ptr->release_work_state = LR_DISABLE_MAGIC;
fl_control_ptr->lock_mod = FREQ_LOCK_DISABLE;
}
mutex_unlock(&fl_control_ptr->lock_freq_mtx);
}
示例2: gpu_pm_qos_command
static int gpu_pm_qos_command(struct exynos_context *platform, gpu_pmqos_state state)
{
#ifdef CONFIG_BUS_DEVFREQ
switch (state) {
case GPU_CONTROL_PM_QOS_INIT:
pm_qos_add_request(&exynos5_g3d_mif_qos, PM_QOS_BUS_THROUGHPUT, 0);
pm_qos_add_request(&exynos5_g3d_int_qos, PM_QOS_DEVICE_THROUGHPUT, 0);
pm_qos_add_request(&exynos5_g3d_cpu_qos, PM_QOS_KFC_FREQ_MIN, 0);
break;
case GPU_CONTROL_PM_QOS_DEINIT:
pm_qos_remove_request(&exynos5_g3d_mif_qos);
pm_qos_remove_request(&exynos5_g3d_int_qos);
pm_qos_remove_request(&exynos5_g3d_cpu_qos);
break;
case GPU_CONTROL_PM_QOS_SET:
if (platform->step < 0)
return -1;
pm_qos_update_request(&exynos5_g3d_mif_qos, platform->table[platform->step].mem_freq);
pm_qos_update_request(&exynos5_g3d_int_qos, platform->table[platform->step].int_freq);
pm_qos_update_request(&exynos5_g3d_cpu_qos, platform->table[platform->step].cpu_freq);
break;
case GPU_CONTROL_PM_QOS_RESET:
pm_qos_update_request(&exynos5_g3d_mif_qos, 0);
pm_qos_update_request(&exynos5_g3d_int_qos, 0);
pm_qos_update_request(&exynos5_g3d_cpu_qos, 0);
default:
break;
}
#endif /* CONFIG_BUS_DEVFREQ */
return 0;
}
示例3: fimg2d_remove
static int fimg2d_remove(struct platform_device *pdev)
{
#ifdef CONFIG_ARM_EXYNOS_IKS_CPUFREQ
pm_qos_remove_request(&exynos5_g2d_cpu_qos);
pm_qos_remove_request(&exynos5_g2d_mif_qos);
#endif
misc_deregister(&fimg2d_dev);
#ifdef CONFIG_PM_RUNTIME
pm_runtime_disable(&pdev->dev);
#else
fimg2d_clk_off(ctrl);
#endif
fimg2d_clk_release(ctrl);
free_irq(ctrl->irq, NULL);
if (ctrl->mem) {
iounmap(ctrl->regs);
release_resource(ctrl->mem);
kfree(ctrl->mem);
}
#ifdef BLIT_WORKQUE
destroy_workqueue(ctrl->work_q);
#endif
mutex_destroy(&ctrl->drvlock);
kfree(ctrl);
return 0;
}
示例4: tegra_auto_hotplug_debug_init
static int __init tegra_auto_hotplug_debug_init(void)
{
if (!tegra3_cpu_lock)
return -ENOENT;
hp_debugfs_root = debugfs_create_dir("tegra_hotplug", NULL);
if (!hp_debugfs_root)
return -ENOMEM;
pm_qos_add_request(&min_cpu_req, PM_QOS_MIN_ONLINE_CPUS,
PM_QOS_DEFAULT_VALUE);
pm_qos_add_request(&max_cpu_req, PM_QOS_MAX_ONLINE_CPUS,
PM_QOS_DEFAULT_VALUE);
if (!debugfs_create_file(
"min_cpus", S_IRUGO, hp_debugfs_root, NULL, &min_cpus_fops))
goto err_out;
if (!debugfs_create_file(
"max_cpus", S_IRUGO, hp_debugfs_root, NULL, &max_cpus_fops))
goto err_out;
if (!debugfs_create_file(
"stats", S_IRUGO, hp_debugfs_root, NULL, &hp_stats_fops))
goto err_out;
return 0;
err_out:
debugfs_remove_recursive(hp_debugfs_root);
pm_qos_remove_request(&min_cpu_req);
pm_qos_remove_request(&max_cpu_req);
return -ENOMEM;
}
示例5: fimg2d_pm_qos_remove
void fimg2d_pm_qos_remove(struct fimg2d_control *ctrl)
{
#if defined(CONFIG_ARM_EXYNOS_IKS_CPUFREQ) || \
defined(CONFIG_ARM_EXYNOS_MP_CPUFREQ) || \
defined(CONFIG_FIMG2D_USE_BUS_DEVFREQ)
struct fimg2d_platdata *pdata;
#ifdef CONFIG_OF
pdata = ctrl->pdata;
#else
pdata = to_fimg2d_plat(ctrl->dev);
#endif
#endif
#if defined(CONFIG_ARM_EXYNOS_IKS_CPUFREQ) || \
defined(CONFIG_ARM_EXYNOS_MP_CPUFREQ)
if (pdata->cpu_min)
pm_qos_remove_request(&ctrl->exynos5_g2d_cpu_qos);
if (pdata->kfc_min)
pm_qos_remove_request(&ctrl->exynos5_g2d_kfc_qos);
#endif
#ifdef CONFIG_FIMG2D_USE_BUS_DEVFREQ
if (pdata->mif_min)
pm_qos_remove_request(&ctrl->exynos5_g2d_mif_qos);
if (pdata->int_min)
pm_qos_remove_request(&ctrl->exynos5_g2d_int_qos);
#endif
}
示例6: proactive_pm_qos_command
int proactive_pm_qos_command(struct exynos_context *platform, gpu_pmqos_state state)
{
DVFS_ASSERT(platform);
if (!platform->devfreq_status)
return 0;
switch (state) {
case GPU_CONTROL_PM_QOS_INIT:
pm_qos_add_request(&proactive_mif_min_qos, PM_QOS_BUS_THROUGHPUT, 0);
pm_qos_add_request(&proactive_apollo_min_qos, PM_QOS_CLUSTER0_FREQ_MIN, 0);
pm_qos_add_request(&proactive_atlas_min_qos, PM_QOS_CLUSTER1_FREQ_MIN, 0);
if (!platform->pmqos_int_disable)
pm_qos_add_request(&proactive_int_min_qos, PM_QOS_DEVICE_THROUGHPUT, 0);
break;
case GPU_CONTROL_PM_QOS_DEINIT:
pm_qos_remove_request(&proactive_mif_min_qos);
pm_qos_remove_request(&proactive_apollo_min_qos);
pm_qos_remove_request(&proactive_atlas_min_qos);
if (!platform->pmqos_int_disable)
pm_qos_remove_request(&proactive_int_min_qos);
break;
case GPU_CONTROL_PM_QOS_RESET:
pm_qos_update_request(&proactive_mif_min_qos, 0);
pm_qos_update_request(&proactive_apollo_min_qos, 0);
pm_qos_update_request(&proactive_atlas_min_qos, 0);
default:
break;
}
return 0;
}
示例7: tegra_auto_hotplug_exit
void tegra_auto_hotplug_exit(void)
{
destroy_workqueue(hotplug_wq);
#ifdef CONFIG_DEBUG_FS
debugfs_remove_recursive(hp_debugfs_root);
pm_qos_remove_request(&min_cpu_req);
pm_qos_remove_request(&max_cpu_req);
#endif
}
示例8: gpu_pm_qos_command
static int gpu_pm_qos_command(struct exynos_context *platform, gpu_pmqos_state state)
{
#ifdef CONFIG_BUS_DEVFREQ
switch (state) {
case GPU_CONTROL_PM_QOS_INIT:
pm_qos_add_request(&exynos5_g3d_mif_qos, PM_QOS_BUS_THROUGHPUT, 0);
pm_qos_add_request(&exynos5_g3d_int_qos, PM_QOS_DEVICE_THROUGHPUT, 0);
pm_qos_add_request(&exynos5_g3d_cpu_kfc_min_qos, PM_QOS_KFC_FREQ_MIN, 0);
pm_qos_add_request(&exynos5_g3d_cpu_egl_max_qos, PM_QOS_CPU_FREQ_MAX, PM_QOS_CPU_FREQ_MAX_DEFAULT_VALUE);
#if SLSI_INTEGRATION
#if defined(SET_MINLOCK)
pm_qos_add_request(&exynos5_g3d_cpu_egl_min_qos, PM_QOS_CPU_FREQ_MIN, 0);
platform->custom_cpu_max_lock = 0;
#endif
#endif
break;
case GPU_CONTROL_PM_QOS_DEINIT:
pm_qos_remove_request(&exynos5_g3d_mif_qos);
pm_qos_remove_request(&exynos5_g3d_int_qos);
pm_qos_remove_request(&exynos5_g3d_cpu_kfc_min_qos);
pm_qos_remove_request(&exynos5_g3d_cpu_egl_max_qos);
#if SLSI_INTEGRATION
#if defined(SET_MINLOCK)
pm_qos_remove_request(&exynos5_g3d_cpu_egl_min_qos);
#endif
#endif
break;
case GPU_CONTROL_PM_QOS_SET:
if (platform->step < 0)
return -1;
pm_qos_update_request(&exynos5_g3d_mif_qos, platform->table[platform->step].mem_freq);
pm_qos_update_request(&exynos5_g3d_int_qos, platform->table[platform->step].int_freq);
pm_qos_update_request(&exynos5_g3d_cpu_kfc_min_qos, platform->table[platform->step].cpu_freq);
#if SLSI_INTEGRATION
#if defined(SET_MINLOCK)
if (platform->custom_cpu_max_lock)
pm_qos_update_request(&exynos5_g3d_cpu_egl_max_qos, platform->custom_cpu_max_lock);
else
#endif
#endif
pm_qos_update_request(&exynos5_g3d_cpu_egl_max_qos, platform->table[platform->step].cpu_max_freq);
break;
case GPU_CONTROL_PM_QOS_RESET:
pm_qos_update_request(&exynos5_g3d_mif_qos, 0);
pm_qos_update_request(&exynos5_g3d_int_qos, 0);
pm_qos_update_request(&exynos5_g3d_cpu_kfc_min_qos, 0);
pm_qos_update_request(&exynos5_g3d_cpu_egl_max_qos, PM_QOS_CPU_FREQ_MAX_DEFAULT_VALUE);
default:
break;
}
#endif /* CONFIG_BUS_DEVFREQ */
return 0;
}
示例9: bluetooth_pm_sleep_stop
/**
* Stops the Sleep-Mode Protocol on the Host.
*/
static void bluetooth_pm_sleep_stop(void)
{
unsigned long irq_flags;
spin_lock_irqsave(&rw_lock, irq_flags);
if (!test_bit(BT_PROTO, &flags)) {
spin_unlock_irqrestore(&rw_lock, irq_flags);
return;
}
printk("%s\n", __func__);
del_timer(&tx_timer);
//BT_S : [CONBT-1475] LGC_BT_COMMON_IMP_KERNEL_UART_HCI_COMMAND_TIMEOUT
uart_off_jiffies = 0;
uart_on_jiffies = 0;
del_timer(&uart_control_timer);
//BT_E : [CONBT-1475] LGC_BT_COMMON_IMP_KERNEL_UART_HCI_COMMAND_TIMEOUT
clear_bit(BT_PROTO, &flags);
if (test_bit(BT_ASLEEP, &flags)) {
clear_bit(BT_ASLEEP, &flags);
}
#ifdef UART_CONTROL_MSM
else{
/*Deactivate UART*/
//hsuart_power(0); //block uart power off
}
#endif/*UART_CONTROL_MSM*/
atomic_inc(&open_count);
spin_unlock_irqrestore(&rw_lock, irq_flags);
#ifdef QOS_REQUEST_MSM
if(bsi->dma_qos_request == REQUESTED) {
pm_qos_remove_request(&bsi->dma_qos);
bsi->dma_qos_request = NOT_REQUESTED;
}
#endif /* QOS_REQUEST_MSM */
#ifdef QOS_REQUEST_TEGRA
if (bsi->resume_min_frequency)
pm_qos_remove_request(&bsi->resume_cpu_freq_req);
#endif/*QOS_REQUEST_TEGRA*/
if (disable_irq_wake(bsi->host_wake_irq))
printk("%s, Couldn't disable hostwake IRQ wakeup mode\n", __func__);
free_irq(bsi->host_wake_irq, NULL);
wake_lock_timeout(&bsi->wake_lock, HZ / 2);
}
示例10: cfboost_exit
static void __exit cfboost_exit(void)
{
/* stop input events */
input_unregister_handler(&cfb_input_handler);
/* cancel pending work requests */
cancel_work_sync(&boost);
cancel_delayed_work_sync(&unboost);
/* clean up */
destroy_workqueue(cfb_wq);
pm_qos_remove_request(&freq_req);
pm_qos_remove_request(&core_req);
}
示例11: kbase_platform_dvfs_term
void kbase_platform_dvfs_term(void)
{
if (mali_dvfs_wq)
destroy_workqueue(mali_dvfs_wq);
#if defined(CONFIG_ARM_EXYNOS5420_BUS_DEVFREQ)
pm_qos_remove_request(&exynos5_g3d_mif_qos);
pm_qos_remove_request(&exynos5_g3d_int_qos);
pm_qos_remove_request(&exynos5_g3d_cpu_qos);
#endif
mali_dvfs_wq = NULL;
}
示例12: sec_gpu_pwr_clk_deinit
/* gpu power clock deinit */
int sec_gpu_pwr_clk_deinit(void)
{
int ret = -1;
gpu_clks_put();
ret = gpu_regulator_disable();
if (ret)
PVR_DPF((PVR_DBG_ERROR, "gpu_regulator_disable error[%d]", ret));
#if defined(CONFIG_ARM_EXYNOS5410_BUS_DEVFREQ)
pm_qos_remove_request(&exynos5_g3d_cpu_qos);
pm_qos_remove_request(&exynos5_g3d_int_qos);
pm_qos_remove_request(&exynos5_g3d_mif_qos);
#endif
return ret;
}
示例13: fimg2d_pm_qos_remove
void fimg2d_pm_qos_remove(struct fimg2d_control *ctrl)
{
struct fimg2d_platdata *pdata = to_fimg2d_plat(ctrl->dev);
#ifdef CONFIG_ARM_EXYNOS_IKS_CPUFREQ
if (pdata->cpu_min)
pm_qos_remove_request(&ctrl->exynos5_g2d_cpu_qos);
#endif
#ifdef CONFIG_FIMG2D_USE_BUS_DEVFREQ
if (pdata->mif_min)
pm_qos_remove_request(&ctrl->exynos5_g2d_mif_qos);
if (pdata->int_min)
pm_qos_remove_request(&ctrl->exynos5_g2d_int_qos);
#endif
}
示例14: mv_otg_remove
int mv_otg_remove(struct platform_device *pdev)
{
struct mv_otg *mvotg = platform_get_drvdata(pdev);
device_init_wakeup(&pdev->dev, 0);
sysfs_remove_group(&mvotg->pdev->dev.kobj, &inputs_attr_group);
if (mvotg->qwork) {
flush_workqueue(mvotg->qwork);
destroy_workqueue(mvotg->qwork);
}
if (mvotg->pdata->extern_attr
& (MV_USB_HAS_VBUS_DETECTION | MV_USB_HAS_IDPIN_DETECTION))
pxa_usb_unregister_notifier(mvotg->pdata->id, &mvotg->notifier);
mv_otg_disable(mvotg);
clk_unprepare(mvotg->clk);
pm_qos_remove_request(&mvotg->qos_idle);
usb_remove_phy(&mvotg->phy);
return 0;
}
示例15: ath9k_deinit_device
void ath9k_deinit_device(struct ath_softc *sc)
{
struct ieee80211_hw *hw = sc->hw;
int i = 0;
ath9k_ps_wakeup(sc);
wiphy_rfkill_stop_polling(sc->hw->wiphy);
ath_deinit_leds(sc);
for (i = 0; i < sc->num_sec_wiphy; i++) {
struct ath_wiphy *aphy = sc->sec_wiphy[i];
if (aphy == NULL)
continue;
sc->sec_wiphy[i] = NULL;
ieee80211_unregister_hw(aphy->hw);
ieee80211_free_hw(aphy->hw);
}
ieee80211_unregister_hw(hw);
pm_qos_remove_request(&ath9k_pm_qos_req);
ath_rx_cleanup(sc);
ath_tx_cleanup(sc);
ath9k_deinit_softc(sc);
kfree(sc->sec_wiphy);
}