lineage_kernel_xcoverpro/drivers/vision/vipx/vipx-pm.h

47 lines
1.2 KiB
C
Raw Normal View History

2023-06-18 22:53:49 +00:00
/*
* Samsung Exynos SoC series VIPx driver
*
* Copyright (c) 2018 Samsung Electronics Co., Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __VIPX_PM_H__
#define __VIPX_PM_H__
#include <linux/pm_qos.h>
struct vipx_system;
struct vipx_pm {
struct vipx_system *system;
struct mutex lock;
bool dvfs;
unsigned int active_count;
#if defined(CONFIG_PM_DEVFREQ)
struct pm_qos_request cam_qos_req;
int qos_count;
unsigned int *qos_table;
int default_qos;
int resume_qos;
int current_qos;
#endif
};
int vipx_pm_qos_active(struct vipx_pm *pm);
int vipx_pm_qos_set_default(struct vipx_pm *pm, int default_qos);
int vipx_pm_qos_update(struct vipx_pm *pm, int request_qos);
void vipx_pm_qos_suspend(struct vipx_pm *pm);
void vipx_pm_qos_resume(struct vipx_pm *pm);
void vipx_pm_request_busy(struct vipx_pm *pm);
void vipx_pm_request_idle(struct vipx_pm *pm);
int vipx_pm_open(struct vipx_pm *pm);
void vipx_pm_close(struct vipx_pm *pm);
int vipx_pm_probe(struct vipx_system *sys);
void vipx_pm_remove(struct vipx_pm *pm);
#endif