Lines Matching refs:isc_clk
278 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_wait_clk_stable() local
279 struct regmap *regmap = isc_clk->regmap; in isc_wait_clk_stable()
296 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_prepare() local
298 if (isc_clk->id == ISC_ISPCK) in isc_clk_prepare()
299 pm_runtime_get_sync(isc_clk->dev); in isc_clk_prepare()
306 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_unprepare() local
310 if (isc_clk->id == ISC_ISPCK) in isc_clk_unprepare()
311 pm_runtime_put_sync(isc_clk->dev); in isc_clk_unprepare()
316 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_enable() local
317 u32 id = isc_clk->id; in isc_clk_enable()
318 struct regmap *regmap = isc_clk->regmap; in isc_clk_enable()
322 dev_dbg(isc_clk->dev, "ISC CLK: %s, div = %d, parent id = %d\n", in isc_clk_enable()
323 __func__, isc_clk->div, isc_clk->parent_id); in isc_clk_enable()
325 spin_lock_irqsave(&isc_clk->lock, flags); in isc_clk_enable()
328 (isc_clk->div << ISC_CLKCFG_DIV_SHIFT(id)) | in isc_clk_enable()
329 (isc_clk->parent_id << ISC_CLKCFG_SEL_SHIFT(id))); in isc_clk_enable()
332 spin_unlock_irqrestore(&isc_clk->lock, flags); in isc_clk_enable()
343 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_disable() local
344 u32 id = isc_clk->id; in isc_clk_disable()
347 spin_lock_irqsave(&isc_clk->lock, flags); in isc_clk_disable()
348 regmap_write(isc_clk->regmap, ISC_CLKDIS, ISC_CLK(id)); in isc_clk_disable()
349 spin_unlock_irqrestore(&isc_clk->lock, flags); in isc_clk_disable()
354 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_is_enabled() local
357 if (isc_clk->id == ISC_ISPCK) in isc_clk_is_enabled()
358 pm_runtime_get_sync(isc_clk->dev); in isc_clk_is_enabled()
360 regmap_read(isc_clk->regmap, ISC_CLKSR, &status); in isc_clk_is_enabled()
362 if (isc_clk->id == ISC_ISPCK) in isc_clk_is_enabled()
363 pm_runtime_put_sync(isc_clk->dev); in isc_clk_is_enabled()
365 return status & ISC_CLK(isc_clk->id) ? 1 : 0; in isc_clk_is_enabled()
371 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_recalc_rate() local
373 return DIV_ROUND_CLOSEST(parent_rate, isc_clk->div + 1); in isc_clk_recalc_rate()
379 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_determine_rate() local
418 dev_dbg(isc_clk->dev, in isc_clk_determine_rate()
434 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_set_parent() local
439 isc_clk->parent_id = index; in isc_clk_set_parent()
446 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_get_parent() local
448 return isc_clk->parent_id; in isc_clk_get_parent()
455 struct isc_clk *isc_clk = to_isc_clk(hw); in isc_clk_set_rate() local
465 isc_clk->div = div - 1; in isc_clk_set_rate()
487 struct isc_clk *isc_clk; in isc_clk_register() local
513 isc_clk = &isc->isc_clks[id]; in isc_clk_register()
514 isc_clk->hw.init = &init; in isc_clk_register()
515 isc_clk->regmap = regmap; in isc_clk_register()
516 isc_clk->id = id; in isc_clk_register()
517 isc_clk->dev = isc->dev; in isc_clk_register()
518 spin_lock_init(&isc_clk->lock); in isc_clk_register()
520 isc_clk->clk = clk_register(isc->dev, &isc_clk->hw); in isc_clk_register()
521 if (IS_ERR(isc_clk->clk)) { in isc_clk_register()
523 return PTR_ERR(isc_clk->clk); in isc_clk_register()
525 of_clk_add_provider(np, of_clk_src_simple_get, isc_clk->clk); in isc_clk_register()
554 struct isc_clk *isc_clk = &isc->isc_clks[i]; in isc_clk_cleanup() local
556 if (!IS_ERR(isc_clk->clk)) in isc_clk_cleanup()
557 clk_unregister(isc_clk->clk); in isc_clk_cleanup()