Symbol: rpmi_clk
drivers/clk/clk-rpmi.c
168
static int rpmi_clk_get_attrs(u32 clkid, struct rpmi_clk *rpmi_clk)
drivers/clk/clk-rpmi.c
170
struct rpmi_clk_context *context = rpmi_clk->context;
drivers/clk/clk-rpmi.c
191
rpmi_clk->id = clkid;
drivers/clk/clk-rpmi.c
192
rpmi_clk->num_rates = le32_to_cpu(resp->num_rates);
drivers/clk/clk-rpmi.c
193
rpmi_clk->transition_latency = le32_to_cpu(resp->transition_latency);
drivers/clk/clk-rpmi.c
194
strscpy(rpmi_clk->name, resp->name, RPMI_CLK_NAME_LEN);
drivers/clk/clk-rpmi.c
200
rpmi_clk->type = format;
drivers/clk/clk-rpmi.c
205
static int rpmi_clk_get_supported_rates(u32 clkid, struct rpmi_clk *rpmi_clk)
drivers/clk/clk-rpmi.c
207
struct rpmi_clk_context *context = rpmi_clk->context;
drivers/clk/clk-rpmi.c
21
#define to_rpmi_clk(clk) container_of(clk, struct rpmi_clk, hw)
drivers/clk/clk-rpmi.c
243
if (rpmi_clk->type == RPMI_CLK_DISCRETE) {
drivers/clk/clk-rpmi.c
247
rpmi_clk->rates->discrete[rateidx] =
drivers/clk/clk-rpmi.c
281
rpmi_clk->rates->discrete[rateidx++] =
drivers/clk/clk-rpmi.c
286
} else if (rpmi_clk->type == RPMI_CLK_LINEAR) {
drivers/clk/clk-rpmi.c
289
rpmi_clk->rates->linear.min = rpmi_clkrate_u64(le32_to_cpu(rate_linear->min_hi),
drivers/clk/clk-rpmi.c
291
rpmi_clk->rates->linear.max = rpmi_clkrate_u64(le32_to_cpu(rate_linear->max_hi),
drivers/clk/clk-rpmi.c
293
rpmi_clk->rates->linear.step = rpmi_clkrate_u64(le32_to_cpu(rate_linear->step_hi),
drivers/clk/clk-rpmi.c
303
struct rpmi_clk *rpmi_clk = to_rpmi_clk(hw);
drivers/clk/clk-rpmi.c
304
struct rpmi_clk_context *context = rpmi_clk->context;
drivers/clk/clk-rpmi.c
310
tx.clkid = cpu_to_le32(rpmi_clk->id);
drivers/clk/clk-rpmi.c
331
struct rpmi_clk *rpmi_clk = to_rpmi_clk(hw);
drivers/clk/clk-rpmi.c
339
if (rpmi_clk->type == RPMI_CLK_DISCRETE)
drivers/clk/clk-rpmi.c
342
fmin = rpmi_clk->rates->linear.min;
drivers/clk/clk-rpmi.c
343
fmax = rpmi_clk->rates->linear.max;
drivers/clk/clk-rpmi.c
354
ftmp += rpmi_clk->rates->linear.step - 1;
drivers/clk/clk-rpmi.c
355
do_div(ftmp, rpmi_clk->rates->linear.step);
drivers/clk/clk-rpmi.c
357
req->rate = ftmp * rpmi_clk->rates->linear.step + fmin;
drivers/clk/clk-rpmi.c
365
struct rpmi_clk *rpmi_clk = to_rpmi_clk(hw);
drivers/clk/clk-rpmi.c
366
struct rpmi_clk_context *context = rpmi_clk->context;
drivers/clk/clk-rpmi.c
372
tx.clkid = cpu_to_le32(rpmi_clk->id);
drivers/clk/clk-rpmi.c
394
struct rpmi_clk *rpmi_clk = to_rpmi_clk(hw);
drivers/clk/clk-rpmi.c
395
struct rpmi_clk_context *context = rpmi_clk->context;
drivers/clk/clk-rpmi.c
402
tx.clkid = cpu_to_le32(rpmi_clk->id);
drivers/clk/clk-rpmi.c
422
struct rpmi_clk *rpmi_clk = to_rpmi_clk(hw);
drivers/clk/clk-rpmi.c
423
struct rpmi_clk_context *context = rpmi_clk->context;
drivers/clk/clk-rpmi.c
429
tx.clkid = cpu_to_le32(rpmi_clk->id);
drivers/clk/clk-rpmi.c
450
struct rpmi_clk *rpmi_clk;
drivers/clk/clk-rpmi.c
459
rpmi_clk = devm_kzalloc(dev, sizeof(*rpmi_clk), GFP_KERNEL);
drivers/clk/clk-rpmi.c
460
if (!rpmi_clk)
drivers/clk/clk-rpmi.c
463
rpmi_clk->context = context;
drivers/clk/clk-rpmi.c
464
rpmi_clk->rates = rates;
drivers/clk/clk-rpmi.c
466
ret = rpmi_clk_get_attrs(clkid, rpmi_clk);
drivers/clk/clk-rpmi.c
472
ret = rpmi_clk_get_supported_rates(clkid, rpmi_clk);
drivers/clk/clk-rpmi.c
481
init.name = rpmi_clk->name;
drivers/clk/clk-rpmi.c
482
clk_hw = &rpmi_clk->hw;
drivers/clk/clk-rpmi.c
491
if (rpmi_clk->type == RPMI_CLK_DISCRETE) {
drivers/clk/clk-rpmi.c
492
min_rate = rpmi_clk->rates->discrete[0];
drivers/clk/clk-rpmi.c
493
max_rate = rpmi_clk->rates->discrete[rpmi_clk->num_rates - 1];
drivers/clk/clk-rpmi.c
495
min_rate = rpmi_clk->rates->linear.min;
drivers/clk/clk-rpmi.c
496
max_rate = rpmi_clk->rates->linear.max;