msm: vidc: Simplify DCVS algorithm
Unify Encoder and Decoder DCVS by removing complex buffer
tracking logic. DCVS is based on simple logic now.
- More YUV buffers with Venus --> Venus is Late -->
Increase Venus clock.
- Less YUV buffers with Venus --> Venus is not late -->
Decrease Venus clock.
CRs-Fixed: 2012520
Change-Id: I47870747dd73e20e1be1fd156ed8ae89ca4b824a
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
diff --git a/drivers/media/platform/msm/vidc/msm_vidc_internal.h b/drivers/media/platform/msm/vidc/msm_vidc_internal.h
index 28612e3..8562e8f 100644
--- a/drivers/media/platform/msm/vidc/msm_vidc_internal.h
+++ b/drivers/media/platform/msm/vidc/msm_vidc_internal.h
@@ -206,23 +206,14 @@
};
struct dcvs_stats {
- int num_ftb[DCVS_FTB_WINDOW];
- bool transition_turbo;
- int ftb_index;
- int ftb_counter;
- bool prev_freq_lowered;
- bool prev_freq_increased;
- int threshold_disp_buf_high;
- int threshold_disp_buf_low;
+ int buffer_counter;
int load;
int load_low;
int load_high;
int min_threshold;
int max_threshold;
- int etb_counter;
- bool is_power_save_mode;
unsigned int extra_buffer_count;
- u32 supported_codecs;
+ enum hal_buffer buffer_type;
};
struct profile_data {