Loading Documentation/devicetree/bindings/media/video/msm-vidc.txt +3 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,8 @@ Optional properties: idle message when it is in idle state. - qcom,enable-minimum-voting = A bool to limit the bandwidth vote to the lowest vector over an active session. - qcom,enable-thermal-mitigation = A bool to enable thermal mitigation when thermal run away occurs. Example: Loading Loading @@ -134,6 +136,7 @@ Example: qcom,sw-power-collapse; qcom,early-fw-load; qcom,enable-idle-indicator; qcom,enable-thermal-mitigation; qcom,msm-bus-clients { qcom,msm-bus-client@0 { qcom,msm-bus,name = "venc-ddr"; Loading drivers/media/platform/msm/vidc/msm_vidc_common.c +10 −0 Original line number Diff line number Diff line Loading @@ -2120,6 +2120,16 @@ static bool is_thermal_permissible(struct msm_vidc_core *core) unsigned long freq = 0; bool is_turbo = false; if (!core->resources.thermal_mitigable) return true; if (msm_vidc_thermal_mitigation_disabled) { dprintk(VIDC_DBG, "Thermal mitigation not enabled. debugfs %d\n", msm_vidc_thermal_mitigation_disabled); return true; } tl = msm_comm_vidc_thermal_level(vidc_driver->thermal_level); freq = msm_comm_get_clock_rate(core); Loading drivers/media/platform/msm/vidc/msm_vidc_debug.c +7 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ int msm_vidc_vpe_csc_601_to_709 = 0x0; int msm_vidc_dcvs_mode = 0x1; int msm_vidc_sys_idle_indicator = 0x0; u32 msm_vidc_firmware_unload_delay = 15000; int msm_vidc_thermal_mitigation_disabled = 0x0; struct debug_buffer { char ptr[MAX_DBG_BUF_SIZE]; Loading Loading @@ -197,6 +198,12 @@ struct dentry *msm_vidc_debugfs_init_drv(void) "debugfs_create_file: firmware_unload_delay fail\n"); goto failed_create_dir; } if (!debugfs_create_u32("disable_thermal_mitigation", S_IRUGO | S_IWUSR, dir, &msm_vidc_thermal_mitigation_disabled)) { dprintk(VIDC_ERR, "debugfs_create_file: disable_thermal_mitigation fail\n"); goto failed_create_dir; } return dir; failed_create_dir: Loading drivers/media/platform/msm/vidc/msm_vidc_debug.h +1 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ extern int msm_vidc_vpe_csc_601_to_709; extern int msm_vidc_dcvs_mode; extern int msm_vidc_sys_idle_indicator; extern u32 msm_vidc_firmware_unload_delay; extern int msm_vidc_thermal_mitigation_disabled; #define VIDC_MSG_PRIO2STRING(__level) ({ \ char *__str; \ Loading drivers/media/platform/msm/vidc/msm_vidc_res_parse.c +4 −0 Original line number Diff line number Diff line Loading @@ -622,6 +622,10 @@ int read_platform_resources_from_dt( res->minimum_vote = of_property_read_bool(pdev->dev.of_node, "qcom,enable-minimum-voting"); res->thermal_mitigable = of_property_read_bool(pdev->dev.of_node, "qcom,enable-thermal-mitigation"); rc = msm_vidc_load_freq_table(res); if (rc) { dprintk(VIDC_ERR, "Failed to load freq table: %d\n", rc); Loading Loading
Documentation/devicetree/bindings/media/video/msm-vidc.txt +3 −0 Original line number Diff line number Diff line Loading @@ -106,6 +106,8 @@ Optional properties: idle message when it is in idle state. - qcom,enable-minimum-voting = A bool to limit the bandwidth vote to the lowest vector over an active session. - qcom,enable-thermal-mitigation = A bool to enable thermal mitigation when thermal run away occurs. Example: Loading Loading @@ -134,6 +136,7 @@ Example: qcom,sw-power-collapse; qcom,early-fw-load; qcom,enable-idle-indicator; qcom,enable-thermal-mitigation; qcom,msm-bus-clients { qcom,msm-bus-client@0 { qcom,msm-bus,name = "venc-ddr"; Loading
drivers/media/platform/msm/vidc/msm_vidc_common.c +10 −0 Original line number Diff line number Diff line Loading @@ -2120,6 +2120,16 @@ static bool is_thermal_permissible(struct msm_vidc_core *core) unsigned long freq = 0; bool is_turbo = false; if (!core->resources.thermal_mitigable) return true; if (msm_vidc_thermal_mitigation_disabled) { dprintk(VIDC_DBG, "Thermal mitigation not enabled. debugfs %d\n", msm_vidc_thermal_mitigation_disabled); return true; } tl = msm_comm_vidc_thermal_level(vidc_driver->thermal_level); freq = msm_comm_get_clock_rate(core); Loading
drivers/media/platform/msm/vidc/msm_vidc_debug.c +7 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ int msm_vidc_vpe_csc_601_to_709 = 0x0; int msm_vidc_dcvs_mode = 0x1; int msm_vidc_sys_idle_indicator = 0x0; u32 msm_vidc_firmware_unload_delay = 15000; int msm_vidc_thermal_mitigation_disabled = 0x0; struct debug_buffer { char ptr[MAX_DBG_BUF_SIZE]; Loading Loading @@ -197,6 +198,12 @@ struct dentry *msm_vidc_debugfs_init_drv(void) "debugfs_create_file: firmware_unload_delay fail\n"); goto failed_create_dir; } if (!debugfs_create_u32("disable_thermal_mitigation", S_IRUGO | S_IWUSR, dir, &msm_vidc_thermal_mitigation_disabled)) { dprintk(VIDC_ERR, "debugfs_create_file: disable_thermal_mitigation fail\n"); goto failed_create_dir; } return dir; failed_create_dir: Loading
drivers/media/platform/msm/vidc/msm_vidc_debug.h +1 −0 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ extern int msm_vidc_vpe_csc_601_to_709; extern int msm_vidc_dcvs_mode; extern int msm_vidc_sys_idle_indicator; extern u32 msm_vidc_firmware_unload_delay; extern int msm_vidc_thermal_mitigation_disabled; #define VIDC_MSG_PRIO2STRING(__level) ({ \ char *__str; \ Loading
drivers/media/platform/msm/vidc/msm_vidc_res_parse.c +4 −0 Original line number Diff line number Diff line Loading @@ -622,6 +622,10 @@ int read_platform_resources_from_dt( res->minimum_vote = of_property_read_bool(pdev->dev.of_node, "qcom,enable-minimum-voting"); res->thermal_mitigable = of_property_read_bool(pdev->dev.of_node, "qcom,enable-thermal-mitigation"); rc = msm_vidc_load_freq_table(res); if (rc) { dprintk(VIDC_ERR, "Failed to load freq table: %d\n", rc); Loading