Lines Matching full:handle
73 static int scmi_clock_protocol_attributes_get(const struct scmi_handle *handle, in scmi_clock_protocol_attributes_get() argument
80 ret = scmi_xfer_get_init(handle, PROTOCOL_ATTRIBUTES, in scmi_clock_protocol_attributes_get()
87 ret = scmi_do_xfer(handle, t); in scmi_clock_protocol_attributes_get()
93 scmi_xfer_put(handle, t); in scmi_clock_protocol_attributes_get()
97 static int scmi_clock_attributes_get(const struct scmi_handle *handle, in scmi_clock_attributes_get() argument
104 ret = scmi_xfer_get_init(handle, CLOCK_ATTRIBUTES, SCMI_PROTOCOL_CLOCK, in scmi_clock_attributes_get()
112 ret = scmi_do_xfer(handle, t); in scmi_clock_attributes_get()
118 scmi_xfer_put(handle, t); in scmi_clock_attributes_get()
123 scmi_clock_describe_rates_get(const struct scmi_handle *handle, u32 clk_id, in scmi_clock_describe_rates_get() argument
135 ret = scmi_xfer_get_init(handle, CLOCK_DESCRIBE_RATES, in scmi_clock_describe_rates_get()
148 ret = scmi_do_xfer(handle, t); in scmi_clock_describe_rates_get()
158 dev_err(handle->dev, "No. of rates > MAX_NUM_RATES"); in scmi_clock_describe_rates_get()
166 dev_dbg(handle->dev, "Min %llu Max %llu Step %llu Hz\n", in scmi_clock_describe_rates_get()
175 dev_dbg(handle->dev, "Rate %llu Hz\n", *rate); in scmi_clock_describe_rates_get()
191 scmi_xfer_put(handle, t); in scmi_clock_describe_rates_get()
196 scmi_clock_rate_get(const struct scmi_handle *handle, u32 clk_id, u64 *value) in scmi_clock_rate_get() argument
201 ret = scmi_xfer_get_init(handle, CLOCK_RATE_GET, SCMI_PROTOCOL_CLOCK, in scmi_clock_rate_get()
208 ret = scmi_do_xfer(handle, t); in scmi_clock_rate_get()
216 scmi_xfer_put(handle, t); in scmi_clock_rate_get()
220 static int scmi_clock_rate_set(const struct scmi_handle *handle, u32 clk_id, in scmi_clock_rate_set() argument
227 ret = scmi_xfer_get_init(handle, CLOCK_RATE_SET, SCMI_PROTOCOL_CLOCK, in scmi_clock_rate_set()
238 ret = scmi_do_xfer(handle, t); in scmi_clock_rate_set()
240 scmi_xfer_put(handle, t); in scmi_clock_rate_set()
245 scmi_clock_config_set(const struct scmi_handle *handle, u32 clk_id, u32 config) in scmi_clock_config_set() argument
251 ret = scmi_xfer_get_init(handle, CLOCK_CONFIG_SET, SCMI_PROTOCOL_CLOCK, in scmi_clock_config_set()
260 ret = scmi_do_xfer(handle, t); in scmi_clock_config_set()
262 scmi_xfer_put(handle, t); in scmi_clock_config_set()
266 static int scmi_clock_enable(const struct scmi_handle *handle, u32 clk_id) in scmi_clock_enable() argument
268 return scmi_clock_config_set(handle, clk_id, CLOCK_ENABLE); in scmi_clock_enable()
271 static int scmi_clock_disable(const struct scmi_handle *handle, u32 clk_id) in scmi_clock_disable() argument
273 return scmi_clock_config_set(handle, clk_id, 0); in scmi_clock_disable()
276 static int scmi_clock_count_get(const struct scmi_handle *handle) in scmi_clock_count_get() argument
278 struct clock_info *ci = handle->clk_priv; in scmi_clock_count_get()
284 scmi_clock_info_get(const struct scmi_handle *handle, u32 clk_id) in scmi_clock_info_get() argument
286 struct clock_info *ci = handle->clk_priv; in scmi_clock_info_get()
304 static int scmi_clock_protocol_init(struct scmi_handle *handle) in scmi_clock_protocol_init() argument
310 scmi_version_get(handle, SCMI_PROTOCOL_CLOCK, &version); in scmi_clock_protocol_init()
312 dev_dbg(handle->dev, "Clock Version %d.%d\n", in scmi_clock_protocol_init()
315 cinfo = devm_kzalloc(handle->dev, sizeof(*cinfo), GFP_KERNEL); in scmi_clock_protocol_init()
319 scmi_clock_protocol_attributes_get(handle, cinfo); in scmi_clock_protocol_init()
321 cinfo->clk = devm_kcalloc(handle->dev, cinfo->num_clocks, in scmi_clock_protocol_init()
329 ret = scmi_clock_attributes_get(handle, clkid, clk); in scmi_clock_protocol_init()
331 scmi_clock_describe_rates_get(handle, clkid, clk); in scmi_clock_protocol_init()
334 handle->clk_ops = &clk_ops; in scmi_clock_protocol_init()
335 handle->clk_priv = cinfo; in scmi_clock_protocol_init()