Loading drivers/soc/qcom/dcc_v2.c +0 −111 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ #include <soc/qcom/memory_dump.h> #include <soc/qcom/scm.h> #include <dt-bindings/soc/qcom,dcc_v2.h> #include <linux/clk.h> #include <dt-bindings/clock/qcom,aop-qmp.h> #define TIMEOUT_US (100) Loading Loading @@ -136,8 +134,6 @@ struct dcc_drvdata { struct mutex mutex; void __iomem *ram_base; uint32_t ram_size; struct clk *clk; struct clk *xo_clk; uint32_t ram_offset; enum dcc_data_sink data_sink; enum dcc_func_type func_type[DCC_MAX_LINK_LIST]; Loading Loading @@ -220,22 +216,6 @@ static int dcc_sw_trigger(struct dcc_drvdata *drvdata) mutex_lock(&drvdata->mutex); if (drvdata->clk) { ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_err(drvdata->dev, "DCC xo clk enable failed\n"); mutex_unlock(&drvdata->mutex); return ret; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_err(drvdata->dev, "DCC clk enable failed\n"); mutex_unlock(&drvdata->mutex); return ret; } } if (!dcc_ready(drvdata)) { dev_err(drvdata->dev, "DCC is not ready\n"); ret = -EBUSY; Loading @@ -262,10 +242,6 @@ static int dcc_sw_trigger(struct dcc_drvdata *drvdata) ret = dcc_read_status(drvdata); err: if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } mutex_unlock(&drvdata->mutex); return ret; } Loading Loading @@ -622,19 +598,6 @@ static int dcc_enable(struct dcc_drvdata *drvdata) mutex_lock(&drvdata->mutex); if (drvdata->clk) { ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_info(drvdata->dev, "DCC xo clk enable failed\n"); goto err; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_info(drvdata->dev, "DCC clk enable failed\n"); goto err; } } memset_io(drvdata->ram_base, 0xDE, drvdata->ram_size); for (list = 0; list < DCC_MAX_LINK_LIST; list++) { Loading @@ -650,10 +613,6 @@ static int dcc_enable(struct dcc_drvdata *drvdata) ret = __dcc_ll_cfg(drvdata, list); if (ret) { dev_info(drvdata->dev, "DCC ram programming failed\n"); if (drvdata->clk && !drvdata->enable[list]) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } goto err; } Loading Loading @@ -722,10 +681,6 @@ static void dcc_disable(struct dcc_drvdata *drvdata) drvdata->ram_cfg = 0; drvdata->ram_start = 0; if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } mutex_unlock(&drvdata->mutex); } Loading @@ -745,24 +700,6 @@ static ssize_t dcc_curr_list(struct device *dev, mutex_lock(&drvdata->mutex); if (drvdata->clk) { int ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_err(drvdata->dev, "DCC xo clk enable failed\n"); mutex_unlock(&drvdata->mutex); return -EINVAL; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_err(drvdata->dev, "DCC clk enable failed\n"); mutex_unlock(&drvdata->mutex); return -EINVAL; } } lock_reg = dcc_readl(drvdata, DCC_LL_LOCK(val)); if (lock_reg & 0x1) { dev_err(drvdata->dev, "DCC linked list is already configured\n"); Loading @@ -770,10 +707,6 @@ static ssize_t dcc_curr_list(struct device *dev, return -EINVAL; } drvdata->curr_list = val; if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } mutex_unlock(&drvdata->mutex); return size; Loading Loading @@ -1508,7 +1441,6 @@ static int dcc_sram_open(struct inode *inode, struct file *file) static ssize_t dcc_sram_read(struct file *file, char __user *data, size_t len, loff_t *ppos) { int ret = 0; unsigned char *buf; struct dcc_drvdata *drvdata = file->private_data; Loading @@ -1523,26 +1455,8 @@ static ssize_t dcc_sram_read(struct file *file, char __user *data, if (!buf) return -ENOMEM; if (drvdata->clk) { ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { kfree(buf); return ret; } ret = clk_prepare_enable(drvdata->clk); if (ret) { kfree(buf); return ret; } } memcpy_fromio(buf, (drvdata->ram_base + *ppos), len); if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } if (copy_to_user(data, buf, len)) { dev_err(drvdata->dev, "DCC: Couldn't copy all data to user\n"); Loading Loading @@ -1714,26 +1628,6 @@ static int dcc_probe(struct platform_device *pdev) drvdata->dev = &pdev->dev; platform_set_drvdata(pdev, drvdata); if (of_property_read_bool(pdev->dev.of_node, "clk-enable")) { drvdata->clk = devm_clk_get(dev, "dcc_clk"); drvdata->xo_clk = devm_clk_get(dev, "dcc_xo_clk"); if (IS_ERR(drvdata->clk) && IS_ERR(drvdata->xo_clk)) { dev_info(dev, "devm_clk_get failed, probing deffered\n"); return -EPROBE_DEFER; } ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_err(dev, "xo clk prepare enable failed\n"); return -EINVAL; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_err(dev, "clk prepare enable failed\n"); return -EINVAL; } } res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dcc-base"); if (!res) return -EINVAL; Loading Loading @@ -1767,11 +1661,6 @@ static int dcc_probe(struct platform_device *pdev) memset_io(drvdata->ram_base, 0, drvdata->ram_size); if (of_property_read_bool(pdev->dev.of_node, "clk-enable")) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } drvdata->data_sink = DCC_DATA_SINK_SRAM; ret = of_property_read_string(pdev->dev.of_node, "qcom,data-sink", &data_sink); Loading Loading
drivers/soc/qcom/dcc_v2.c +0 −111 Original line number Diff line number Diff line Loading @@ -23,8 +23,6 @@ #include <soc/qcom/memory_dump.h> #include <soc/qcom/scm.h> #include <dt-bindings/soc/qcom,dcc_v2.h> #include <linux/clk.h> #include <dt-bindings/clock/qcom,aop-qmp.h> #define TIMEOUT_US (100) Loading Loading @@ -136,8 +134,6 @@ struct dcc_drvdata { struct mutex mutex; void __iomem *ram_base; uint32_t ram_size; struct clk *clk; struct clk *xo_clk; uint32_t ram_offset; enum dcc_data_sink data_sink; enum dcc_func_type func_type[DCC_MAX_LINK_LIST]; Loading Loading @@ -220,22 +216,6 @@ static int dcc_sw_trigger(struct dcc_drvdata *drvdata) mutex_lock(&drvdata->mutex); if (drvdata->clk) { ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_err(drvdata->dev, "DCC xo clk enable failed\n"); mutex_unlock(&drvdata->mutex); return ret; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_err(drvdata->dev, "DCC clk enable failed\n"); mutex_unlock(&drvdata->mutex); return ret; } } if (!dcc_ready(drvdata)) { dev_err(drvdata->dev, "DCC is not ready\n"); ret = -EBUSY; Loading @@ -262,10 +242,6 @@ static int dcc_sw_trigger(struct dcc_drvdata *drvdata) ret = dcc_read_status(drvdata); err: if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } mutex_unlock(&drvdata->mutex); return ret; } Loading Loading @@ -622,19 +598,6 @@ static int dcc_enable(struct dcc_drvdata *drvdata) mutex_lock(&drvdata->mutex); if (drvdata->clk) { ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_info(drvdata->dev, "DCC xo clk enable failed\n"); goto err; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_info(drvdata->dev, "DCC clk enable failed\n"); goto err; } } memset_io(drvdata->ram_base, 0xDE, drvdata->ram_size); for (list = 0; list < DCC_MAX_LINK_LIST; list++) { Loading @@ -650,10 +613,6 @@ static int dcc_enable(struct dcc_drvdata *drvdata) ret = __dcc_ll_cfg(drvdata, list); if (ret) { dev_info(drvdata->dev, "DCC ram programming failed\n"); if (drvdata->clk && !drvdata->enable[list]) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } goto err; } Loading Loading @@ -722,10 +681,6 @@ static void dcc_disable(struct dcc_drvdata *drvdata) drvdata->ram_cfg = 0; drvdata->ram_start = 0; if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } mutex_unlock(&drvdata->mutex); } Loading @@ -745,24 +700,6 @@ static ssize_t dcc_curr_list(struct device *dev, mutex_lock(&drvdata->mutex); if (drvdata->clk) { int ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_err(drvdata->dev, "DCC xo clk enable failed\n"); mutex_unlock(&drvdata->mutex); return -EINVAL; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_err(drvdata->dev, "DCC clk enable failed\n"); mutex_unlock(&drvdata->mutex); return -EINVAL; } } lock_reg = dcc_readl(drvdata, DCC_LL_LOCK(val)); if (lock_reg & 0x1) { dev_err(drvdata->dev, "DCC linked list is already configured\n"); Loading @@ -770,10 +707,6 @@ static ssize_t dcc_curr_list(struct device *dev, return -EINVAL; } drvdata->curr_list = val; if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } mutex_unlock(&drvdata->mutex); return size; Loading Loading @@ -1508,7 +1441,6 @@ static int dcc_sram_open(struct inode *inode, struct file *file) static ssize_t dcc_sram_read(struct file *file, char __user *data, size_t len, loff_t *ppos) { int ret = 0; unsigned char *buf; struct dcc_drvdata *drvdata = file->private_data; Loading @@ -1523,26 +1455,8 @@ static ssize_t dcc_sram_read(struct file *file, char __user *data, if (!buf) return -ENOMEM; if (drvdata->clk) { ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { kfree(buf); return ret; } ret = clk_prepare_enable(drvdata->clk); if (ret) { kfree(buf); return ret; } } memcpy_fromio(buf, (drvdata->ram_base + *ppos), len); if (drvdata->clk) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } if (copy_to_user(data, buf, len)) { dev_err(drvdata->dev, "DCC: Couldn't copy all data to user\n"); Loading Loading @@ -1714,26 +1628,6 @@ static int dcc_probe(struct platform_device *pdev) drvdata->dev = &pdev->dev; platform_set_drvdata(pdev, drvdata); if (of_property_read_bool(pdev->dev.of_node, "clk-enable")) { drvdata->clk = devm_clk_get(dev, "dcc_clk"); drvdata->xo_clk = devm_clk_get(dev, "dcc_xo_clk"); if (IS_ERR(drvdata->clk) && IS_ERR(drvdata->xo_clk)) { dev_info(dev, "devm_clk_get failed, probing deffered\n"); return -EPROBE_DEFER; } ret = clk_prepare_enable(drvdata->xo_clk); if (ret) { dev_err(dev, "xo clk prepare enable failed\n"); return -EINVAL; } ret = clk_prepare_enable(drvdata->clk); if (ret) { dev_err(dev, "clk prepare enable failed\n"); return -EINVAL; } } res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dcc-base"); if (!res) return -EINVAL; Loading Loading @@ -1767,11 +1661,6 @@ static int dcc_probe(struct platform_device *pdev) memset_io(drvdata->ram_base, 0, drvdata->ram_size); if (of_property_read_bool(pdev->dev.of_node, "clk-enable")) { clk_disable_unprepare(drvdata->clk); clk_disable_unprepare(drvdata->xo_clk); } drvdata->data_sink = DCC_DATA_SINK_SRAM; ret = of_property_read_string(pdev->dev.of_node, "qcom,data-sink", &data_sink); Loading