msm: vidc: Enhance bus scaling algorithm
Enhance current bus scaling algorithm to make use of run time
UBWC stats of compression ratios(CR) and complexity factor(CF).
CRs-Fixed: 2012520
Change-Id: I3d2f61ab7e49b8fa9f953e3fb381261fde34c42a
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 5edd3d5..769a94d 100644
--- a/drivers/media/platform/msm/vidc/msm_vidc_internal.h
+++ b/drivers/media/platform/msm/vidc/msm_vidc_internal.h
@@ -145,6 +145,13 @@
unsigned long freq;
};
+struct recon_buf {
+ struct list_head list;
+ u32 buffer_index;
+ u32 CR;
+ u32 CF;
+};
+
struct internal_buf {
struct list_head list;
enum hal_buffer buffer_type;
@@ -230,6 +237,8 @@
u32 operating_rate;
struct clock_profile_entry *entry;
u32 core_id;
+ u32 dpb_fourcc;
+ u32 opb_fourcc;
enum hal_work_mode work_mode;
bool low_latency_mode;
};
@@ -278,6 +287,7 @@
bool smmu_fault_handled;
unsigned long min_freq;
unsigned long curr_freq;
+ struct vidc_bus_vote_data *vote_data;
};
struct msm_vidc_inst {
@@ -296,6 +306,7 @@
struct msm_vidc_list persistbufs;
struct msm_vidc_list pending_getpropq;
struct msm_vidc_list outputbufs;
+ struct msm_vidc_list reconbufs;
struct msm_vidc_list registeredbufs;
struct buffer_requirements buff_req;
void *mem_client;