Loading drivers/soc/qcom/dcc_v2.c +13 −6 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved. */ #include <linux/module.h> Loading Loading @@ -157,7 +157,7 @@ struct dcc_drvdata { uint32_t *nr_config; uint32_t nr_link_list; uint8_t curr_list; uint8_t cti_trig; uint8_t *cti_trig; uint8_t loopoff; }; Loading Loading @@ -776,7 +776,7 @@ static int dcc_enable(struct dcc_drvdata *drvdata) } /* 5. Configure trigger */ dcc_writel(drvdata, BIT(9) | ((drvdata->cti_trig << 8) | dcc_writel(drvdata, BIT(9) | ((drvdata->cti_trig[list] << 8) | (drvdata->data_sink[list] << 4) | (drvdata->func_type[list])), DCC_LL_CFG(list)); } Loading Loading @@ -1485,7 +1485,8 @@ static ssize_t cti_trig_show(struct device *dev, { struct dcc_drvdata *drvdata = dev_get_drvdata(dev); return scnprintf(buf, PAGE_SIZE, "%d\n", drvdata->cti_trig); return scnprintf(buf, PAGE_SIZE, "%d\n", drvdata->cti_trig[drvdata->curr_list]); } static ssize_t cti_trig_store(struct device *dev, Loading Loading @@ -1513,9 +1514,11 @@ static ssize_t cti_trig_store(struct device *dev, } if (val) drvdata->cti_trig = 1; drvdata->cti_trig[drvdata->curr_list] = 1; else drvdata->cti_trig = 0; drvdata->cti_trig[drvdata->curr_list] = 0; ret = size; out: mutex_unlock(&drvdata->mutex); return ret; Loading Loading @@ -1864,6 +1867,10 @@ static int dcc_probe(struct platform_device *pdev) sizeof(uint32_t), GFP_KERNEL); if (!drvdata->nr_config) return -ENOMEM; drvdata->cti_trig = devm_kzalloc(dev, drvdata->nr_link_list * sizeof(uint8_t), GFP_KERNEL); if (!drvdata->cti_trig) return -ENOMEM; drvdata->cfg_head = devm_kzalloc(dev, drvdata->nr_link_list * sizeof(struct list_head), GFP_KERNEL); if (!drvdata->cfg_head) Loading Loading
drivers/soc/qcom/dcc_v2.c +13 −6 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved. * Copyright (c) 2015-2021, The Linux Foundation. All rights reserved. */ #include <linux/module.h> Loading Loading @@ -157,7 +157,7 @@ struct dcc_drvdata { uint32_t *nr_config; uint32_t nr_link_list; uint8_t curr_list; uint8_t cti_trig; uint8_t *cti_trig; uint8_t loopoff; }; Loading Loading @@ -776,7 +776,7 @@ static int dcc_enable(struct dcc_drvdata *drvdata) } /* 5. Configure trigger */ dcc_writel(drvdata, BIT(9) | ((drvdata->cti_trig << 8) | dcc_writel(drvdata, BIT(9) | ((drvdata->cti_trig[list] << 8) | (drvdata->data_sink[list] << 4) | (drvdata->func_type[list])), DCC_LL_CFG(list)); } Loading Loading @@ -1485,7 +1485,8 @@ static ssize_t cti_trig_show(struct device *dev, { struct dcc_drvdata *drvdata = dev_get_drvdata(dev); return scnprintf(buf, PAGE_SIZE, "%d\n", drvdata->cti_trig); return scnprintf(buf, PAGE_SIZE, "%d\n", drvdata->cti_trig[drvdata->curr_list]); } static ssize_t cti_trig_store(struct device *dev, Loading Loading @@ -1513,9 +1514,11 @@ static ssize_t cti_trig_store(struct device *dev, } if (val) drvdata->cti_trig = 1; drvdata->cti_trig[drvdata->curr_list] = 1; else drvdata->cti_trig = 0; drvdata->cti_trig[drvdata->curr_list] = 0; ret = size; out: mutex_unlock(&drvdata->mutex); return ret; Loading Loading @@ -1864,6 +1867,10 @@ static int dcc_probe(struct platform_device *pdev) sizeof(uint32_t), GFP_KERNEL); if (!drvdata->nr_config) return -ENOMEM; drvdata->cti_trig = devm_kzalloc(dev, drvdata->nr_link_list * sizeof(uint8_t), GFP_KERNEL); if (!drvdata->cti_trig) return -ENOMEM; drvdata->cfg_head = devm_kzalloc(dev, drvdata->nr_link_list * sizeof(struct list_head), GFP_KERNEL); if (!drvdata->cfg_head) Loading