Lines Matching refs:ph
166 int (*clock_config_set)(const struct scmi_protocol_handle *ph,
170 int (*clock_config_get)(const struct scmi_protocol_handle *ph,
191 scmi_clock_protocol_attributes_get(const struct scmi_protocol_handle *ph, in scmi_clock_protocol_attributes_get() argument
198 ret = ph->xops->xfer_get_init(ph, PROTOCOL_ATTRIBUTES, in scmi_clock_protocol_attributes_get()
205 ret = ph->xops->do_xfer(ph, t); in scmi_clock_protocol_attributes_get()
211 ph->xops->xfer_put(ph, t); in scmi_clock_protocol_attributes_get()
214 if (!ph->hops->protocol_msg_check(ph, CLOCK_RATE_NOTIFY, NULL)) in scmi_clock_protocol_attributes_get()
217 if (!ph->hops->protocol_msg_check(ph, in scmi_clock_protocol_attributes_get()
274 static int iter_clk_possible_parents_process_response(const struct scmi_protocol_handle *ph, in iter_clk_possible_parents_process_response() argument
289 static int scmi_clock_possible_parents(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_possible_parents() argument
301 .dev = ph->dev, in scmi_clock_possible_parents()
306 iter = ph->hops->iter_response_init(ph, &ops, 0, in scmi_clock_possible_parents()
313 ret = ph->hops->iter_response_run(iter); in scmi_clock_possible_parents()
319 scmi_clock_get_permissions(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_get_permissions() argument
326 ret = ph->xops->xfer_get_init(ph, CLOCK_GET_PERMISSIONS, in scmi_clock_get_permissions()
333 ret = ph->xops->do_xfer(ph, t); in scmi_clock_get_permissions()
342 ph->xops->xfer_put(ph, t); in scmi_clock_get_permissions()
347 static int scmi_clock_attributes_get(const struct scmi_protocol_handle *ph, in scmi_clock_attributes_get() argument
357 ret = ph->xops->xfer_get_init(ph, CLOCK_ATTRIBUTES, in scmi_clock_attributes_get()
365 ret = ph->xops->do_xfer(ph, t); in scmi_clock_attributes_get()
377 ph->xops->xfer_put(ph, t); in scmi_clock_attributes_get()
385 ph->hops->extended_name_get(ph, CLOCK_NAME_GET, clk_id, in scmi_clock_attributes_get()
397 scmi_clock_possible_parents(ph, clk_id, clk); in scmi_clock_attributes_get()
399 scmi_clock_get_permissions(ph, clk_id, clk); in scmi_clock_attributes_get()
472 iter_clk_describe_process_response(const struct scmi_protocol_handle *ph, in iter_clk_describe_process_response() argument
506 scmi_clock_describe_rates_get(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_describe_rates_get() argument
519 .dev = ph->dev, in scmi_clock_describe_rates_get()
522 iter = ph->hops->iter_response_init(ph, &ops, SCMI_MAX_NUM_RATES, in scmi_clock_describe_rates_get()
529 ret = ph->hops->iter_response_run(iter); in scmi_clock_describe_rates_get()
534 dev_dbg(ph->dev, "Min %llu Max %llu Step %llu Hz\n", in scmi_clock_describe_rates_get()
546 scmi_clock_rate_get(const struct scmi_protocol_handle *ph, in scmi_clock_rate_get() argument
552 ret = ph->xops->xfer_get_init(ph, CLOCK_RATE_GET, in scmi_clock_rate_get()
559 ret = ph->xops->do_xfer(ph, t); in scmi_clock_rate_get()
563 ph->xops->xfer_put(ph, t); in scmi_clock_rate_get()
567 static int scmi_clock_rate_set(const struct scmi_protocol_handle *ph, in scmi_clock_rate_set() argument
574 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_rate_set()
584 ret = ph->xops->xfer_get_init(ph, CLOCK_RATE_SET, sizeof(*cfg), 0, &t); in scmi_clock_rate_set()
599 ret = ph->xops->do_xfer_with_response(ph, t); in scmi_clock_rate_set()
605 dev_dbg(ph->dev, in scmi_clock_rate_set()
612 ret = ph->xops->do_xfer(ph, t); in scmi_clock_rate_set()
618 ph->xops->xfer_put(ph, t); in scmi_clock_rate_set()
623 scmi_clock_config_set(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_config_set() argument
635 ret = ph->xops->xfer_get_init(ph, CLOCK_CONFIG_SET, in scmi_clock_config_set()
646 ret = ph->xops->do_xfer(ph, t); in scmi_clock_config_set()
648 ph->xops->xfer_put(ph, t); in scmi_clock_config_set()
653 scmi_clock_set_parent(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_set_parent() argument
659 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_set_parent()
672 ret = ph->xops->xfer_get_init(ph, CLOCK_PARENT_SET, in scmi_clock_set_parent()
683 ret = ph->xops->do_xfer(ph, t); in scmi_clock_set_parent()
685 ph->xops->xfer_put(ph, t); in scmi_clock_set_parent()
691 scmi_clock_get_parent(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_get_parent() argument
697 ret = ph->xops->xfer_get_init(ph, CLOCK_PARENT_GET, in scmi_clock_get_parent()
704 ret = ph->xops->do_xfer(ph, t); in scmi_clock_get_parent()
708 ph->xops->xfer_put(ph, t); in scmi_clock_get_parent()
714 scmi_clock_config_set_v2(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_config_set_v2() argument
728 ret = ph->xops->xfer_get_init(ph, CLOCK_CONFIG_SET, in scmi_clock_config_set_v2()
746 ret = ph->xops->do_xfer(ph, t); in scmi_clock_config_set_v2()
748 ph->xops->xfer_put(ph, t); in scmi_clock_config_set_v2()
752 static int scmi_clock_enable(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_enable() argument
755 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_enable()
765 return ci->clock_config_set(ph, clk_id, CLK_STATE_ENABLE, in scmi_clock_enable()
769 static int scmi_clock_disable(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_disable() argument
772 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_disable()
782 return ci->clock_config_set(ph, clk_id, CLK_STATE_DISABLE, in scmi_clock_disable()
788 scmi_clock_config_get_v2(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_config_get_v2() argument
797 ret = ph->xops->xfer_get_init(ph, CLOCK_CONFIG_GET, in scmi_clock_config_get_v2()
810 ret = ph->xops->do_xfer(ph, t); in scmi_clock_config_get_v2()
824 ph->xops->xfer_put(ph, t); in scmi_clock_config_get_v2()
830 scmi_clock_config_get(const struct scmi_protocol_handle *ph, u32 clk_id, in scmi_clock_config_get() argument
841 ret = ph->xops->xfer_get_init(ph, CLOCK_ATTRIBUTES, in scmi_clock_config_get()
850 ret = ph->xops->do_xfer(ph, t); in scmi_clock_config_get()
854 ph->xops->xfer_put(ph, t); in scmi_clock_config_get()
859 static int scmi_clock_state_get(const struct scmi_protocol_handle *ph, in scmi_clock_state_get() argument
862 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_state_get()
864 return ci->clock_config_get(ph, clk_id, NULL_OEM_TYPE, NULL, in scmi_clock_state_get()
868 static int scmi_clock_config_oem_set(const struct scmi_protocol_handle *ph, in scmi_clock_config_oem_set() argument
873 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_config_oem_set()
883 return ci->clock_config_set(ph, clk_id, CLK_STATE_UNCHANGED, in scmi_clock_config_oem_set()
887 static int scmi_clock_config_oem_get(const struct scmi_protocol_handle *ph, in scmi_clock_config_oem_get() argument
892 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_config_oem_get()
902 return ci->clock_config_get(ph, clk_id, oem_type, attributes, in scmi_clock_config_oem_get()
906 static int scmi_clock_count_get(const struct scmi_protocol_handle *ph) in scmi_clock_count_get() argument
908 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_count_get()
914 scmi_clock_info_get(const struct scmi_protocol_handle *ph, u32 clk_id) in scmi_clock_info_get() argument
917 struct clock_info *ci = ph->get_priv(ph); in scmi_clock_info_get()
943 static bool scmi_clk_notify_supported(const struct scmi_protocol_handle *ph, in scmi_clk_notify_supported() argument
948 struct clock_info *ci = ph->get_priv(ph); in scmi_clk_notify_supported()
965 static int scmi_clk_rate_notify(const struct scmi_protocol_handle *ph, in scmi_clk_rate_notify() argument
972 ret = ph->xops->xfer_get_init(ph, message_id, sizeof(*notify), 0, &t); in scmi_clk_rate_notify()
980 ret = ph->xops->do_xfer(ph, t); in scmi_clk_rate_notify()
982 ph->xops->xfer_put(ph, t); in scmi_clk_rate_notify()
986 static int scmi_clk_set_notify_enabled(const struct scmi_protocol_handle *ph, in scmi_clk_set_notify_enabled() argument
995 ret = scmi_clk_rate_notify(ph, src_id, cmd_id, enable); in scmi_clk_set_notify_enabled()
1003 static void *scmi_clk_fill_custom_report(const struct scmi_protocol_handle *ph, in scmi_clk_fill_custom_report() argument
1025 static int scmi_clk_get_num_sources(const struct scmi_protocol_handle *ph) in scmi_clk_get_num_sources() argument
1027 struct clock_info *ci = ph->get_priv(ph); in scmi_clk_get_num_sources()
1062 static int scmi_clock_protocol_init(const struct scmi_protocol_handle *ph) in scmi_clock_protocol_init() argument
1068 ret = ph->xops->version_get(ph, &version); in scmi_clock_protocol_init()
1072 dev_dbg(ph->dev, "Clock Version %d.%d\n", in scmi_clock_protocol_init()
1075 cinfo = devm_kzalloc(ph->dev, sizeof(*cinfo), GFP_KERNEL); in scmi_clock_protocol_init()
1079 ret = scmi_clock_protocol_attributes_get(ph, cinfo); in scmi_clock_protocol_init()
1083 cinfo->clk = devm_kcalloc(ph->dev, cinfo->num_clocks, in scmi_clock_protocol_init()
1091 ret = scmi_clock_attributes_get(ph, clkid, cinfo, version); in scmi_clock_protocol_init()
1093 scmi_clock_describe_rates_get(ph, clkid, clk); in scmi_clock_protocol_init()
1105 return ph->set_priv(ph, cinfo, version); in scmi_clock_protocol_init()