video: driver: debugfs update for clockrate,bandwidth setting
/d/msm_vidc/core_clock_voting will modify only clock rate and not ddr and llc bandwidth. example usage: adb shell "echo 444000000 > /d/msm_vidc/core_clock_voting". introduction of /d/msm_vidc/ddr_bw and /d/msm_vidc/llcc_bw which will modify ddr and llc bandwidth respectively. example usage: adb shell "echo 5000000 > /d/msm_vidc/ddr_bw_kbps". adb shell "echo 7000000 > /d/msm_vidc/llc_bw_kbps". Change-Id: If4aca728cae212630928dda69a38310d8268b5e1 Signed-off-by: Darshana Patil <darshana@codeaurora.org>
This commit is contained in:
@@ -34,6 +34,8 @@ extern unsigned int msm_vidc_debug;
|
|||||||
extern bool msm_vidc_lossless_encode;
|
extern bool msm_vidc_lossless_encode;
|
||||||
extern bool msm_vidc_syscache_disable;
|
extern bool msm_vidc_syscache_disable;
|
||||||
extern int msm_vidc_clock_voting;
|
extern int msm_vidc_clock_voting;
|
||||||
|
extern int msm_vidc_ddr_bw;
|
||||||
|
extern int msm_vidc_llc_bw;
|
||||||
extern bool msm_vidc_fw_dump;
|
extern bool msm_vidc_fw_dump;
|
||||||
extern unsigned int msm_vidc_enable_bugon;
|
extern unsigned int msm_vidc_enable_bugon;
|
||||||
|
|
||||||
|
@@ -85,6 +85,8 @@ bool msm_vidc_syscache_disable = !true;
|
|||||||
EXPORT_SYMBOL(msm_vidc_syscache_disable);
|
EXPORT_SYMBOL(msm_vidc_syscache_disable);
|
||||||
|
|
||||||
int msm_vidc_clock_voting = !1;
|
int msm_vidc_clock_voting = !1;
|
||||||
|
int msm_vidc_ddr_bw = !1;
|
||||||
|
int msm_vidc_llc_bw = !1;
|
||||||
|
|
||||||
bool msm_vidc_fw_dump = !true;
|
bool msm_vidc_fw_dump = !true;
|
||||||
EXPORT_SYMBOL(msm_vidc_fw_dump);
|
EXPORT_SYMBOL(msm_vidc_fw_dump);
|
||||||
@@ -301,6 +303,10 @@ struct dentry* msm_vidc_debugfs_init_drv()
|
|||||||
|
|
||||||
debugfs_create_u32("core_clock_voting", 0644, dir,
|
debugfs_create_u32("core_clock_voting", 0644, dir,
|
||||||
&msm_vidc_clock_voting);
|
&msm_vidc_clock_voting);
|
||||||
|
debugfs_create_u32("ddr_bw_kbps", 0644, dir,
|
||||||
|
&msm_vidc_ddr_bw);
|
||||||
|
debugfs_create_u32("llc_bw_kbps", 0644, dir,
|
||||||
|
&msm_vidc_llc_bw);
|
||||||
debugfs_create_bool("disable_video_syscache", 0644, dir,
|
debugfs_create_bool("disable_video_syscache", 0644, dir,
|
||||||
&msm_vidc_syscache_disable);
|
&msm_vidc_syscache_disable);
|
||||||
debugfs_create_bool("lossless_encoding", 0644, dir,
|
debugfs_create_bool("lossless_encoding", 0644, dir,
|
||||||
|
@@ -167,6 +167,16 @@ static int msm_vidc_set_buses(struct msm_vidc_inst* inst)
|
|||||||
}
|
}
|
||||||
mutex_unlock(&core->lock);
|
mutex_unlock(&core->lock);
|
||||||
|
|
||||||
|
if (msm_vidc_ddr_bw) {
|
||||||
|
d_vpr_l("msm_vidc_ddr_bw %d\n", msm_vidc_ddr_bw);
|
||||||
|
total_bw_ddr = msm_vidc_ddr_bw;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msm_vidc_llc_bw) {
|
||||||
|
d_vpr_l("msm_vidc_llc_bw %d\n", msm_vidc_llc_bw);
|
||||||
|
total_bw_llcc = msm_vidc_llc_bw;
|
||||||
|
}
|
||||||
|
|
||||||
rc = venus_hfi_scale_buses(inst, total_bw_ddr, total_bw_llcc);
|
rc = venus_hfi_scale_buses(inst, total_bw_ddr, total_bw_llcc);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
@@ -197,8 +207,6 @@ int msm_vidc_scale_buses(struct msm_vidc_inst *inst)
|
|||||||
vote_data->power_mode = VIDC_POWER_NORMAL;
|
vote_data->power_mode = VIDC_POWER_NORMAL;
|
||||||
if (inst->power.buffer_counter < DCVS_WINDOW || is_image_session(inst))
|
if (inst->power.buffer_counter < DCVS_WINDOW || is_image_session(inst))
|
||||||
vote_data->power_mode = VIDC_POWER_TURBO;
|
vote_data->power_mode = VIDC_POWER_TURBO;
|
||||||
if (msm_vidc_clock_voting)
|
|
||||||
vote_data->power_mode = VIDC_POWER_TURBO;
|
|
||||||
|
|
||||||
if (vote_data->power_mode == VIDC_POWER_TURBO)
|
if (vote_data->power_mode == VIDC_POWER_TURBO)
|
||||||
goto set_buses;
|
goto set_buses;
|
||||||
|
Reference in New Issue
Block a user