Loading drivers/media/platform/msm/sde/rotator/sde_rotator_core.c +15 −0 Original line number Diff line number Diff line Loading @@ -1388,6 +1388,12 @@ static int sde_rotator_calc_perf(struct sde_rot_mgr *mgr, if (mgr->min_rot_clk > perf->clk_rate) perf->clk_rate = mgr->min_rot_clk; if (mgr->max_rot_clk && (perf->clk_rate > mgr->max_rot_clk)) { SDEROT_ERR("invalid clock:%ld exceeds max:%ld allowed\n", perf->clk_rate, mgr->max_rot_clk); return -EINVAL; } read_bw = sde_rotator_calc_buf_bw(in_fmt, config->input.width, config->input.height, max_fps); Loading Loading @@ -3130,6 +3136,15 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, mgr->ops_hw_init = sde_rotator_r3_init; mgr->min_rot_clk = ROT_MIN_ROT_CLK; /* * on platforms where the maxlinewidth is greater than * default we need to have a max clock rate check to * ensure we do not cross the max allowed clock for rotator */ if (IS_SDE_MAJOR_SAME(mdata->mdss_version, SDE_MDP_HW_REV_500)) mgr->max_rot_clk = ROT_R3_MAX_ROT_CLK; if (!IS_SDE_MAJOR_SAME(mdata->mdss_version, SDE_MDP_HW_REV_500) && !sde_rotator_get_clk(mgr, Loading drivers/media/platform/msm/sde/rotator/sde_rotator_core.h +2 −0 Original line number Diff line number Diff line Loading @@ -402,6 +402,7 @@ struct sde_rot_bus_data_type { * @fudge_factor: fudge factor for clock calculation * @overhead: software overhead for offline rotation in msec * @min_rot_clk: minimum rotator clock rate * @max_rot_clk: maximum allowed rotator clock rate * @sbuf_ctx: pointer to sbuf session context * @ops_xxx: function pointers of rotator HAL layer * @hw_data: private handle of rotator HAL layer Loading Loading @@ -448,6 +449,7 @@ struct sde_rot_mgr { struct sde_mult_factor fudge_factor; struct sde_mult_factor overhead; unsigned long min_rot_clk; unsigned long max_rot_clk; struct sde_rot_file_private *sbuf_ctx; Loading drivers/media/platform/msm/sde/rotator/sde_rotator_r3.h +4 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -15,6 +15,9 @@ #include "sde_rotator_core.h" /* Maximum allowed Rotator clock value */ #define ROT_R3_MAX_ROT_CLK 345000000 int sde_rotator_r3_init(struct sde_rot_mgr *mgr); #endif /* __SDE_ROTATOR_R3_H__ */ Loading
drivers/media/platform/msm/sde/rotator/sde_rotator_core.c +15 −0 Original line number Diff line number Diff line Loading @@ -1388,6 +1388,12 @@ static int sde_rotator_calc_perf(struct sde_rot_mgr *mgr, if (mgr->min_rot_clk > perf->clk_rate) perf->clk_rate = mgr->min_rot_clk; if (mgr->max_rot_clk && (perf->clk_rate > mgr->max_rot_clk)) { SDEROT_ERR("invalid clock:%ld exceeds max:%ld allowed\n", perf->clk_rate, mgr->max_rot_clk); return -EINVAL; } read_bw = sde_rotator_calc_buf_bw(in_fmt, config->input.width, config->input.height, max_fps); Loading Loading @@ -3130,6 +3136,15 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr, mgr->ops_hw_init = sde_rotator_r3_init; mgr->min_rot_clk = ROT_MIN_ROT_CLK; /* * on platforms where the maxlinewidth is greater than * default we need to have a max clock rate check to * ensure we do not cross the max allowed clock for rotator */ if (IS_SDE_MAJOR_SAME(mdata->mdss_version, SDE_MDP_HW_REV_500)) mgr->max_rot_clk = ROT_R3_MAX_ROT_CLK; if (!IS_SDE_MAJOR_SAME(mdata->mdss_version, SDE_MDP_HW_REV_500) && !sde_rotator_get_clk(mgr, Loading
drivers/media/platform/msm/sde/rotator/sde_rotator_core.h +2 −0 Original line number Diff line number Diff line Loading @@ -402,6 +402,7 @@ struct sde_rot_bus_data_type { * @fudge_factor: fudge factor for clock calculation * @overhead: software overhead for offline rotation in msec * @min_rot_clk: minimum rotator clock rate * @max_rot_clk: maximum allowed rotator clock rate * @sbuf_ctx: pointer to sbuf session context * @ops_xxx: function pointers of rotator HAL layer * @hw_data: private handle of rotator HAL layer Loading Loading @@ -448,6 +449,7 @@ struct sde_rot_mgr { struct sde_mult_factor fudge_factor; struct sde_mult_factor overhead; unsigned long min_rot_clk; unsigned long max_rot_clk; struct sde_rot_file_private *sbuf_ctx; Loading
drivers/media/platform/msm/sde/rotator/sde_rotator_r3.h +4 −1 Original line number Diff line number Diff line /* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -15,6 +15,9 @@ #include "sde_rotator_core.h" /* Maximum allowed Rotator clock value */ #define ROT_R3_MAX_ROT_CLK 345000000 int sde_rotator_r3_init(struct sde_rot_mgr *mgr); #endif /* __SDE_ROTATOR_R3_H__ */