mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
media: rockchip: isp: no set clk if assigned-clock-rates in dts
Change-Id: I354adf062d05bbe62525370efd8ad43dce3347b4 Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -978,6 +978,8 @@ static int __maybe_unused rkisp_runtime_resume(struct device *dev)
|
||||
rkisp_update_sensor_info(isp_dev) >= 0)
|
||||
_set_pipeline_default_fmt(isp_dev, false);
|
||||
|
||||
if (isp_dev->hw_dev->is_assigned_clk)
|
||||
rkisp_clk_dbg = true;
|
||||
isp_dev->cap_dev.wait_line = rkisp_wait_line;
|
||||
isp_dev->cap_dev.wrap_line = rkisp_wrap_line;
|
||||
isp_dev->is_rdbk_auto = rkisp_rdbk_auto;
|
||||
|
||||
@@ -786,10 +786,12 @@ static int enable_sys_clk(struct rkisp_hw_dev *dev)
|
||||
}
|
||||
}
|
||||
|
||||
rate = dev->clk_rate_tbl[0].clk_rate * 1000000UL;
|
||||
rkisp_set_clk_rate(dev->clks[0], rate);
|
||||
if (dev->is_unite)
|
||||
rkisp_set_clk_rate(dev->clks[5], rate);
|
||||
if (!dev->is_assigned_clk) {
|
||||
rate = dev->clk_rate_tbl[0].clk_rate * 1000000UL;
|
||||
rkisp_set_clk_rate(dev->clks[0], rate);
|
||||
if (dev->is_unite)
|
||||
rkisp_set_clk_rate(dev->clks[5], rate);
|
||||
}
|
||||
rkisp_soft_reset(dev, false);
|
||||
isp_config_clk(dev, true);
|
||||
return 0;
|
||||
@@ -848,6 +850,7 @@ static int rkisp_hw_probe(struct platform_device *pdev)
|
||||
struct resource *res;
|
||||
int i, ret;
|
||||
bool is_mem_reserved = true;
|
||||
u32 clk_rate = 0;
|
||||
|
||||
match = of_match_node(rkisp_hw_of_match, node);
|
||||
if (IS_ERR(match))
|
||||
@@ -941,6 +944,11 @@ static int rkisp_hw_probe(struct platform_device *pdev)
|
||||
hw_dev->clk_rate_tbl = match_data->clk_rate_tbl;
|
||||
hw_dev->num_clk_rate_tbl = match_data->num_clk_rate_tbl;
|
||||
|
||||
hw_dev->is_assigned_clk = false;
|
||||
ret = of_property_read_u32(node, "assigned-clock-rates", &clk_rate);
|
||||
if (!ret && clk_rate)
|
||||
hw_dev->is_assigned_clk = true;
|
||||
|
||||
hw_dev->reset = devm_reset_control_array_get(dev, false, false);
|
||||
if (IS_ERR(hw_dev->reset)) {
|
||||
dev_dbg(dev, "failed to get reset\n");
|
||||
|
||||
@@ -104,6 +104,7 @@ struct rkisp_hw_dev {
|
||||
bool is_runing;
|
||||
bool is_frm_buf;
|
||||
bool is_dvfs;
|
||||
bool is_assigned_clk;
|
||||
};
|
||||
|
||||
int rkisp_register_irq(struct rkisp_hw_dev *dev);
|
||||
|
||||
Reference in New Issue
Block a user