Lines Matching refs:ph

131 static int scmi_powercap_notify(const struct scmi_protocol_handle *ph,
135 scmi_powercap_attributes_get(const struct scmi_protocol_handle *ph, in scmi_powercap_attributes_get() argument
141 ret = ph->xops->xfer_get_init(ph, PROTOCOL_ATTRIBUTES, 0, in scmi_powercap_attributes_get()
146 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_attributes_get()
154 ph->xops->xfer_put(ph, t); in scmi_powercap_attributes_get()
176 scmi_powercap_domain_attributes_get(const struct scmi_protocol_handle *ph, in scmi_powercap_domain_attributes_get() argument
185 ret = ph->xops->xfer_get_init(ph, POWERCAP_DOMAIN_ATTRIBUTES, in scmi_powercap_domain_attributes_get()
193 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_domain_attributes_get()
227 dev_err(ph->dev, in scmi_powercap_domain_attributes_get()
241 dev_err(ph->dev, in scmi_powercap_domain_attributes_get()
255 dev_err(ph->dev, in scmi_powercap_domain_attributes_get()
263 ph->xops->xfer_put(ph, t); in scmi_powercap_domain_attributes_get()
270 ph->hops->extended_name_get(ph, POWERCAP_DOMAIN_NAME_GET, in scmi_powercap_domain_attributes_get()
277 static int scmi_powercap_num_domains_get(const struct scmi_protocol_handle *ph) in scmi_powercap_num_domains_get() argument
279 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_num_domains_get()
285 scmi_powercap_dom_info_get(const struct scmi_protocol_handle *ph, u32 domain_id) in scmi_powercap_dom_info_get() argument
287 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_dom_info_get()
295 static int scmi_powercap_xfer_cap_get(const struct scmi_protocol_handle *ph, in scmi_powercap_xfer_cap_get() argument
301 ret = ph->xops->xfer_get_init(ph, POWERCAP_CAP_GET, sizeof(u32), in scmi_powercap_xfer_cap_get()
307 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_xfer_cap_get()
311 ph->xops->xfer_put(ph, t); in scmi_powercap_xfer_cap_get()
316 static int scmi_powercap_cap_get(const struct scmi_protocol_handle *ph, in scmi_powercap_cap_get() argument
320 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_cap_get()
333 return scmi_powercap_xfer_cap_get(ph, domain_id, power_cap); in scmi_powercap_cap_get()
336 static int scmi_powercap_xfer_cap_set(const struct scmi_protocol_handle *ph, in scmi_powercap_xfer_cap_set() argument
344 ret = ph->xops->xfer_get_init(ph, POWERCAP_CAP_SET, in scmi_powercap_xfer_cap_set()
357 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_xfer_cap_set()
359 ret = ph->xops->do_xfer_with_response(ph, t); in scmi_powercap_xfer_cap_set()
365 dev_dbg(ph->dev, in scmi_powercap_xfer_cap_set()
374 ph->xops->xfer_put(ph, t); in scmi_powercap_xfer_cap_set()
378 static int scmi_powercap_cap_set(const struct scmi_protocol_handle *ph, in scmi_powercap_cap_set() argument
384 pc = scmi_powercap_dom_info_get(ph, domain_id); in scmi_powercap_cap_set()
394 ph->hops->fastchannel_db_ring(fci->set_db); in scmi_powercap_cap_set()
400 return scmi_powercap_xfer_cap_set(ph, pc, power_cap, ignore_dresp); in scmi_powercap_cap_set()
403 static int scmi_powercap_xfer_pai_get(const struct scmi_protocol_handle *ph, in scmi_powercap_xfer_pai_get() argument
409 ret = ph->xops->xfer_get_init(ph, POWERCAP_PAI_GET, sizeof(u32), in scmi_powercap_xfer_pai_get()
415 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_xfer_pai_get()
419 ph->xops->xfer_put(ph, t); in scmi_powercap_xfer_pai_get()
424 static int scmi_powercap_pai_get(const struct scmi_protocol_handle *ph, in scmi_powercap_pai_get() argument
428 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_pai_get()
441 return scmi_powercap_xfer_pai_get(ph, domain_id, pai); in scmi_powercap_pai_get()
444 static int scmi_powercap_xfer_pai_set(const struct scmi_protocol_handle *ph, in scmi_powercap_xfer_pai_set() argument
451 ret = ph->xops->xfer_get_init(ph, POWERCAP_PAI_SET, in scmi_powercap_xfer_pai_set()
461 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_xfer_pai_set()
463 ph->xops->xfer_put(ph, t); in scmi_powercap_xfer_pai_set()
467 static int scmi_powercap_pai_set(const struct scmi_protocol_handle *ph, in scmi_powercap_pai_set() argument
472 pc = scmi_powercap_dom_info_get(ph, domain_id); in scmi_powercap_pai_set()
483 ph->hops->fastchannel_db_ring(fci->set_db); in scmi_powercap_pai_set()
487 return scmi_powercap_xfer_pai_set(ph, domain_id, pai); in scmi_powercap_pai_set()
490 static int scmi_powercap_measurements_get(const struct scmi_protocol_handle *ph, in scmi_powercap_measurements_get() argument
499 pc = scmi_powercap_dom_info_get(ph, domain_id); in scmi_powercap_measurements_get()
503 ret = ph->xops->xfer_get_init(ph, POWERCAP_MEASUREMENTS_GET, in scmi_powercap_measurements_get()
510 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_measurements_get()
516 ph->xops->xfer_put(ph, t); in scmi_powercap_measurements_get()
521 scmi_powercap_measurements_threshold_get(const struct scmi_protocol_handle *ph, in scmi_powercap_measurements_threshold_get() argument
525 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_measurements_threshold_get()
538 scmi_powercap_measurements_threshold_set(const struct scmi_protocol_handle *ph, in scmi_powercap_measurements_threshold_set() argument
543 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_measurements_threshold_set()
560 ret = scmi_powercap_notify(ph, domain_id, in scmi_powercap_measurements_threshold_set()
579 static void scmi_powercap_domain_init_fc(const struct scmi_protocol_handle *ph, in scmi_powercap_domain_init_fc() argument
584 fc = devm_kcalloc(ph->dev, POWERCAP_FC_MAX, sizeof(*fc), GFP_KERNEL); in scmi_powercap_domain_init_fc()
588 ph->hops->fastchannel_init(ph, POWERCAP_DESCRIBE_FASTCHANNEL, in scmi_powercap_domain_init_fc()
593 ph->hops->fastchannel_init(ph, POWERCAP_DESCRIBE_FASTCHANNEL, in scmi_powercap_domain_init_fc()
597 ph->hops->fastchannel_init(ph, POWERCAP_DESCRIBE_FASTCHANNEL, in scmi_powercap_domain_init_fc()
602 ph->hops->fastchannel_init(ph, POWERCAP_DESCRIBE_FASTCHANNEL, in scmi_powercap_domain_init_fc()
609 static int scmi_powercap_notify(const struct scmi_protocol_handle *ph, in scmi_powercap_notify() argument
620 ret = ph->xops->xfer_get_init(ph, message_id, in scmi_powercap_notify()
642 ret = scmi_powercap_measurements_threshold_get(ph, domain, in scmi_powercap_notify()
648 dev_err(ph->dev, in scmi_powercap_notify()
654 ret = ph->xops->xfer_get_init(ph, message_id, in scmi_powercap_notify()
670 ret = ph->xops->do_xfer(ph, t); in scmi_powercap_notify()
672 ph->xops->xfer_put(ph, t); in scmi_powercap_notify()
677 scmi_powercap_set_notify_enabled(const struct scmi_protocol_handle *ph, in scmi_powercap_set_notify_enabled() argument
681 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_set_notify_enabled()
687 ret = scmi_powercap_notify(ph, src_id, cmd_id, enable); in scmi_powercap_set_notify_enabled()
715 scmi_powercap_fill_custom_report(const struct scmi_protocol_handle *ph, in scmi_powercap_fill_custom_report() argument
764 scmi_powercap_get_num_sources(const struct scmi_protocol_handle *ph) in scmi_powercap_get_num_sources() argument
766 struct powercap_info *pi = ph->get_priv(ph); in scmi_powercap_get_num_sources()
805 scmi_powercap_protocol_init(const struct scmi_protocol_handle *ph) in scmi_powercap_protocol_init() argument
811 ret = ph->xops->version_get(ph, &version); in scmi_powercap_protocol_init()
815 dev_dbg(ph->dev, "Powercap Version %d.%d\n", in scmi_powercap_protocol_init()
818 pinfo = devm_kzalloc(ph->dev, sizeof(*pinfo), GFP_KERNEL); in scmi_powercap_protocol_init()
822 ret = scmi_powercap_attributes_get(ph, pinfo); in scmi_powercap_protocol_init()
826 pinfo->powercaps = devm_kcalloc(ph->dev, pinfo->num_domains, in scmi_powercap_protocol_init()
839 ret = scmi_powercap_domain_attributes_get(ph, pinfo, domain); in scmi_powercap_protocol_init()
844 scmi_powercap_domain_init_fc(ph, domain, in scmi_powercap_protocol_init()
848 pinfo->states = devm_kcalloc(ph->dev, pinfo->num_domains, in scmi_powercap_protocol_init()
855 return ph->set_priv(ph, pinfo); in scmi_powercap_protocol_init()