|
@@ -37,7 +37,8 @@ const char *plat_scmi_clock_get_name(unsigned int agent_id __unused,
|
|
|
int32_t plat_scmi_clock_rates_array(unsigned int agent_id __unused,
|
|
|
unsigned int scmi_id __unused,
|
|
|
unsigned long *rates __unused,
|
|
|
- size_t *nb_elts __unused)
|
|
|
+ size_t *nb_elts __unused,
|
|
|
+ uint32_t start_idx __unused)
|
|
|
{
|
|
|
return SCMI_NOT_SUPPORTED;
|
|
|
}
|
|
@@ -298,7 +299,7 @@ static void scmi_clock_describe_rates(struct scmi_msg *msg)
|
|
|
|
|
|
/* Platform may support array rate description */
|
|
|
status = plat_scmi_clock_rates_array(msg->agent_id, clock_id, NULL,
|
|
|
- &nb_rates);
|
|
|
+ &nb_rates, 0);
|
|
|
if (status == SCMI_SUCCESS) {
|
|
|
/* Currently 12 cells mex, so it's affordable for the stack */
|
|
|
unsigned long plat_rates[RATES_ARRAY_SIZE_MAX / RATE_DESC_SIZE];
|
|
@@ -307,7 +308,8 @@ static void scmi_clock_describe_rates(struct scmi_msg *msg)
|
|
|
size_t rem_nb = nb_rates - in_args->rate_index - ret_nb;
|
|
|
|
|
|
status = plat_scmi_clock_rates_array(msg->agent_id, clock_id,
|
|
|
- plat_rates, &ret_nb);
|
|
|
+ plat_rates, &ret_nb,
|
|
|
+ in_args->rate_index);
|
|
|
if (status == SCMI_SUCCESS) {
|
|
|
write_rate_desc_array_in_buffer(msg->out + sizeof(p2a),
|
|
|
plat_rates, ret_nb);
|