Lines Matching refs:handle
111 static int scmi_perf_attributes_get(const struct scmi_handle *handle, in scmi_perf_attributes_get() argument
118 ret = scmi_xfer_get_init(handle, PROTOCOL_ATTRIBUTES, in scmi_perf_attributes_get()
125 ret = scmi_do_xfer(handle, t); in scmi_perf_attributes_get()
136 scmi_xfer_put(handle, t); in scmi_perf_attributes_get()
141 scmi_perf_domain_attributes_get(const struct scmi_handle *handle, u32 domain, in scmi_perf_domain_attributes_get() argument
148 ret = scmi_xfer_get_init(handle, PERF_DOMAIN_ATTRIBUTES, in scmi_perf_domain_attributes_get()
157 ret = scmi_do_xfer(handle, t); in scmi_perf_domain_attributes_get()
180 scmi_xfer_put(handle, t); in scmi_perf_domain_attributes_get()
192 scmi_perf_describe_levels_get(const struct scmi_handle *handle, u32 domain, in scmi_perf_describe_levels_get() argument
203 ret = scmi_xfer_get_init(handle, PERF_DESCRIBE_LEVELS, in scmi_perf_describe_levels_get()
216 ret = scmi_do_xfer(handle, t); in scmi_perf_describe_levels_get()
223 dev_err(handle->dev, "No. of OPPs exceeded MAX_OPPS"); in scmi_perf_describe_levels_get()
234 dev_dbg(handle->dev, "Level %d Power %d Latency %dus\n", in scmi_perf_describe_levels_get()
246 scmi_xfer_put(handle, t); in scmi_perf_describe_levels_get()
252 static int scmi_perf_limits_set(const struct scmi_handle *handle, u32 domain, in scmi_perf_limits_set() argument
259 ret = scmi_xfer_get_init(handle, PERF_LIMITS_SET, SCMI_PROTOCOL_PERF, in scmi_perf_limits_set()
269 ret = scmi_do_xfer(handle, t); in scmi_perf_limits_set()
271 scmi_xfer_put(handle, t); in scmi_perf_limits_set()
275 static int scmi_perf_limits_get(const struct scmi_handle *handle, u32 domain, in scmi_perf_limits_get() argument
282 ret = scmi_xfer_get_init(handle, PERF_LIMITS_GET, SCMI_PROTOCOL_PERF, in scmi_perf_limits_get()
289 ret = scmi_do_xfer(handle, t); in scmi_perf_limits_get()
297 scmi_xfer_put(handle, t); in scmi_perf_limits_get()
301 static int scmi_perf_level_set(const struct scmi_handle *handle, u32 domain, in scmi_perf_level_set() argument
308 ret = scmi_xfer_get_init(handle, PERF_LEVEL_SET, SCMI_PROTOCOL_PERF, in scmi_perf_level_set()
318 ret = scmi_do_xfer(handle, t); in scmi_perf_level_set()
320 scmi_xfer_put(handle, t); in scmi_perf_level_set()
324 static int scmi_perf_level_get(const struct scmi_handle *handle, u32 domain, in scmi_perf_level_get() argument
330 ret = scmi_xfer_get_init(handle, PERF_LEVEL_GET, SCMI_PROTOCOL_PERF, in scmi_perf_level_get()
338 ret = scmi_do_xfer(handle, t); in scmi_perf_level_get()
342 scmi_xfer_put(handle, t); in scmi_perf_level_get()
358 static int scmi_dvfs_device_opps_add(const struct scmi_handle *handle, in scmi_dvfs_device_opps_add() argument
365 struct scmi_perf_info *pi = handle->perf_priv; in scmi_dvfs_device_opps_add()
390 static int scmi_dvfs_transition_latency_get(const struct scmi_handle *handle, in scmi_dvfs_transition_latency_get() argument
394 struct scmi_perf_info *pi = handle->perf_priv; in scmi_dvfs_transition_latency_get()
405 static int scmi_dvfs_freq_set(const struct scmi_handle *handle, u32 domain, in scmi_dvfs_freq_set() argument
408 struct scmi_perf_info *pi = handle->perf_priv; in scmi_dvfs_freq_set()
411 return scmi_perf_level_set(handle, domain, freq / dom->mult_factor, in scmi_dvfs_freq_set()
415 static int scmi_dvfs_freq_get(const struct scmi_handle *handle, u32 domain, in scmi_dvfs_freq_get() argument
420 struct scmi_perf_info *pi = handle->perf_priv; in scmi_dvfs_freq_get()
423 ret = scmi_perf_level_get(handle, domain, &level, poll); in scmi_dvfs_freq_get()
442 static int scmi_perf_protocol_init(struct scmi_handle *handle) in scmi_perf_protocol_init() argument
448 scmi_version_get(handle, SCMI_PROTOCOL_PERF, &version); in scmi_perf_protocol_init()
450 dev_dbg(handle->dev, "Performance Version %d.%d\n", in scmi_perf_protocol_init()
453 pinfo = devm_kzalloc(handle->dev, sizeof(*pinfo), GFP_KERNEL); in scmi_perf_protocol_init()
457 scmi_perf_attributes_get(handle, pinfo); in scmi_perf_protocol_init()
459 pinfo->dom_info = devm_kcalloc(handle->dev, pinfo->num_domains, in scmi_perf_protocol_init()
467 scmi_perf_domain_attributes_get(handle, domain, dom); in scmi_perf_protocol_init()
468 scmi_perf_describe_levels_get(handle, domain, dom); in scmi_perf_protocol_init()
471 handle->perf_ops = &perf_ops; in scmi_perf_protocol_init()
472 handle->perf_priv = pinfo; in scmi_perf_protocol_init()