Lines Matching refs:drvdata

45 static void funnel_enable_hw(struct funnel_drvdata *drvdata, int port)  in funnel_enable_hw()  argument
49 CS_UNLOCK(drvdata->base); in funnel_enable_hw()
51 functl = readl_relaxed(drvdata->base + FUNNEL_FUNCTL); in funnel_enable_hw()
55 writel_relaxed(functl, drvdata->base + FUNNEL_FUNCTL); in funnel_enable_hw()
56 writel_relaxed(drvdata->priority, drvdata->base + FUNNEL_PRICTL); in funnel_enable_hw()
58 CS_LOCK(drvdata->base); in funnel_enable_hw()
64 struct funnel_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent); in funnel_enable() local
66 funnel_enable_hw(drvdata, inport); in funnel_enable()
68 dev_info(drvdata->dev, "FUNNEL inport %d enabled\n", inport); in funnel_enable()
72 static void funnel_disable_hw(struct funnel_drvdata *drvdata, int inport) in funnel_disable_hw() argument
76 CS_UNLOCK(drvdata->base); in funnel_disable_hw()
78 functl = readl_relaxed(drvdata->base + FUNNEL_FUNCTL); in funnel_disable_hw()
80 writel_relaxed(functl, drvdata->base + FUNNEL_FUNCTL); in funnel_disable_hw()
82 CS_LOCK(drvdata->base); in funnel_disable_hw()
88 struct funnel_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent); in funnel_disable() local
90 funnel_disable_hw(drvdata, inport); in funnel_disable()
92 dev_info(drvdata->dev, "FUNNEL inport %d disabled\n", inport); in funnel_disable()
107 struct funnel_drvdata *drvdata = dev_get_drvdata(dev->parent); in priority_show() local
108 unsigned long val = drvdata->priority; in priority_show()
119 struct funnel_drvdata *drvdata = dev_get_drvdata(dev->parent); in priority_store() local
125 drvdata->priority = val; in priority_store()
130 static u32 get_funnel_ctrl_hw(struct funnel_drvdata *drvdata) in get_funnel_ctrl_hw() argument
134 CS_UNLOCK(drvdata->base); in get_funnel_ctrl_hw()
135 functl = readl_relaxed(drvdata->base + FUNNEL_FUNCTL); in get_funnel_ctrl_hw()
136 CS_LOCK(drvdata->base); in get_funnel_ctrl_hw()
145 struct funnel_drvdata *drvdata = dev_get_drvdata(dev->parent); in funnel_ctrl_show() local
147 pm_runtime_get_sync(drvdata->dev); in funnel_ctrl_show()
149 val = get_funnel_ctrl_hw(drvdata); in funnel_ctrl_show()
151 pm_runtime_put(drvdata->dev); in funnel_ctrl_show()
170 struct funnel_drvdata *drvdata; in funnel_probe() local
182 drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL); in funnel_probe()
183 if (!drvdata) in funnel_probe()
186 drvdata->dev = &adev->dev; in funnel_probe()
187 drvdata->atclk = devm_clk_get(&adev->dev, "atclk"); /* optional */ in funnel_probe()
188 if (!IS_ERR(drvdata->atclk)) { in funnel_probe()
189 ret = clk_prepare_enable(drvdata->atclk); in funnel_probe()
193 dev_set_drvdata(dev, drvdata); in funnel_probe()
200 drvdata->base = base; in funnel_probe()
209 drvdata->csdev = coresight_register(&desc); in funnel_probe()
211 return PTR_ERR_OR_ZERO(drvdata->csdev); in funnel_probe()
217 struct funnel_drvdata *drvdata = dev_get_drvdata(dev); in funnel_runtime_suspend() local
219 if (drvdata && !IS_ERR(drvdata->atclk)) in funnel_runtime_suspend()
220 clk_disable_unprepare(drvdata->atclk); in funnel_runtime_suspend()
227 struct funnel_drvdata *drvdata = dev_get_drvdata(dev); in funnel_runtime_resume() local
229 if (drvdata && !IS_ERR(drvdata->atclk)) in funnel_runtime_resume()
230 clk_prepare_enable(drvdata->atclk); in funnel_runtime_resume()