mirror of https://gitee.com/openkylin/linux.git
[media] s5p-mfc: Remove special clock usage in driver
MFC uses two clocks - MFC gate clock and special clock which is named as "sclk_mfc" in exynos4 and "aclk_333" in exynos5 SoC. The driver was doing just a clk_prepare on this special clock without a clk_enable call. As this sclk is the parent of gate clock, it gets prepared and enabled along with the gate clock. So there is no need for the driver to use this sclk. This patch removes the sclk usage from driver. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
644469aefb
commit
fc906b6d18
|
@ -1362,7 +1362,6 @@ static struct s5p_mfc_variant mfc_drvdata_v5 = {
|
|||
.port_num = MFC_NUM_PORTS,
|
||||
.buf_size = &buf_size_v5,
|
||||
.buf_align = &mfc_buf_align_v5,
|
||||
.mclk_name = "sclk_mfc",
|
||||
.fw_name = "s5p-mfc.fw",
|
||||
};
|
||||
|
||||
|
@ -1389,7 +1388,6 @@ static struct s5p_mfc_variant mfc_drvdata_v6 = {
|
|||
.port_num = MFC_NUM_PORTS_V6,
|
||||
.buf_size = &buf_size_v6,
|
||||
.buf_align = &mfc_buf_align_v6,
|
||||
.mclk_name = "aclk_333",
|
||||
.fw_name = "s5p-mfc-v6.fw",
|
||||
};
|
||||
|
||||
|
|
|
@ -232,7 +232,6 @@ struct s5p_mfc_variant {
|
|||
unsigned int port_num;
|
||||
struct s5p_mfc_buf_size *buf_size;
|
||||
struct s5p_mfc_buf_align *buf_align;
|
||||
char *mclk_name;
|
||||
char *fw_name;
|
||||
};
|
||||
|
||||
|
|
|
@ -50,19 +50,6 @@ int s5p_mfc_init_pm(struct s5p_mfc_dev *dev)
|
|||
goto err_p_ip_clk;
|
||||
}
|
||||
|
||||
pm->clock = clk_get(&dev->plat_dev->dev, dev->variant->mclk_name);
|
||||
if (IS_ERR(pm->clock)) {
|
||||
mfc_err("Failed to get MFC clock\n");
|
||||
ret = PTR_ERR(pm->clock);
|
||||
goto err_g_ip_clk_2;
|
||||
}
|
||||
|
||||
ret = clk_prepare(pm->clock);
|
||||
if (ret) {
|
||||
mfc_err("Failed to prepare MFC clock\n");
|
||||
goto err_p_ip_clk_2;
|
||||
}
|
||||
|
||||
atomic_set(&pm->power, 0);
|
||||
#ifdef CONFIG_PM_RUNTIME
|
||||
pm->device = &dev->plat_dev->dev;
|
||||
|
@ -72,10 +59,6 @@ int s5p_mfc_init_pm(struct s5p_mfc_dev *dev)
|
|||
atomic_set(&clk_ref, 0);
|
||||
#endif
|
||||
return 0;
|
||||
err_p_ip_clk_2:
|
||||
clk_put(pm->clock);
|
||||
err_g_ip_clk_2:
|
||||
clk_unprepare(pm->clock_gate);
|
||||
err_p_ip_clk:
|
||||
clk_put(pm->clock_gate);
|
||||
err_g_ip_clk:
|
||||
|
@ -86,8 +69,6 @@ void s5p_mfc_final_pm(struct s5p_mfc_dev *dev)
|
|||
{
|
||||
clk_unprepare(pm->clock_gate);
|
||||
clk_put(pm->clock_gate);
|
||||
clk_unprepare(pm->clock);
|
||||
clk_put(pm->clock);
|
||||
#ifdef CONFIG_PM_RUNTIME
|
||||
pm_runtime_disable(pm->device);
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue