video driver: calculate power based on input queuing rate

Use client input buffer queuing rate for power
calculations for non-realtime sessions

Change-Id: I498422ba1ae9ae96b782a2096dc0cd0aa7b05798
Signed-off-by: Deepa Guthyappa Madivalara <quic_dmadival@quicinc.com>
This commit is contained in:
Deepa Guthyappa Madivalara
2022-02-24 12:31:27 -08:00
والد b2d8ec9191
کامیت dc38176276
13فایلهای تغییر یافته به همراه123 افزوده شده و 36 حذف شده

مشاهده پرونده

@@ -452,5 +452,7 @@ bool res_is_less_than_or_equal_to(u32 width, u32 height,
int msm_vidc_get_properties(struct msm_vidc_inst *inst);
int msm_vidc_create_input_metadata_buffer(struct msm_vidc_inst *inst, u32 buf_fd);
int msm_vidc_update_input_meta_buffer_index(struct msm_vidc_inst *inst, struct vb2_buffer *vb2);
int msm_vidc_update_input_rate(struct msm_vidc_inst *inst, u64 time_us);
int msm_vidc_get_input_rate(struct msm_vidc_inst *inst);
#endif // _MSM_VIDC_DRIVER_H_

مشاهده پرونده

@@ -142,6 +142,7 @@ struct msm_vidc_inst {
struct list_head response_works; /* list of struct response_work */
struct list_head enc_input_crs;
struct list_head dmabuf_tracker; /* list of struct msm_memory_dmabuf */
struct list_head input_timer_list; /* list of struct msm_vidc_input_timer */
struct list_head caps_list;
struct list_head children_list; /* struct msm_vidc_inst_cap_entry */
struct list_head firmware_list; /* struct msm_vidc_inst_cap_entry */

مشاهده پرونده

@@ -66,6 +66,7 @@
#define DCVS_WINDOW 16
#define ENC_FPS_WINDOW 3
#define DEC_FPS_WINDOW 10
#define INPUT_TIMER_LIST_SIZE 30
#define INPUT_MPLANE V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE
#define OUTPUT_MPLANE V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
@@ -368,6 +369,7 @@ enum msm_vidc_inst_capability_type {
POWER_SAVE_MBPS,
FRAME_RATE,
OPERATING_RATE,
INPUT_RATE,
SCALE_FACTOR,
MB_CYCLES_VSP,
MB_CYCLES_VPP,
@@ -893,6 +895,11 @@ struct msm_vidc_timestamps {
u64 rank;
};
struct msm_vidc_input_timer {
struct list_head list;
u64 time_us;
};
enum msm_vidc_allow {
MSM_VIDC_DISALLOW = 0,
MSM_VIDC_ALLOW,

مشاهده پرونده

@@ -26,6 +26,7 @@ enum msm_memory_pool_type {
MSM_MEM_POOL_TIMESTAMP,
MSM_MEM_POOL_DMABUF,
MSM_MEM_POOL_PACKET,
MSM_MEM_POOL_BUF_TIMER,
MSM_MEM_POOL_MAX,
};