On Fri, 11 Sep 2026 13:40:10 +0200
Ketil Johnsen <[email protected]> wrote:

> +
> +static int
> +tick_ctx_schedule_group(struct panthor_scheduler *sched,
> +                     struct panthor_csg_slots_upd_ctx *upd_ctx,
> +                     struct panthor_group *group,
> +                     int csg_id, int csg_prio)
> +{
> +     struct panthor_device *ptdev = sched->ptdev;
> +     struct panthor_fw_csg_iface *csg_iface =
> +             panthor_fw_get_csg_iface(ptdev, csg_id);
> +     int ret;
> +
> +     ret = group_bind_locked(group, csg_id);
> +     if (ret)
> +             return ret;
> +
> +     csg_slot_prog_locked(ptdev, csg_id, csg_prio);

Since we're there, let's check the value returned by
csg_slot_prog_locked() too.

> +
> +     csgs_upd_ctx_queue_reqs(ptdev, upd_ctx, csg_id,
> +                             group->state == PANTHOR_CS_GROUP_SUSPENDED ?
> +                                     CSG_STATE_RESUME : CSG_STATE_START,
> +                             CSG_STATE_MASK);
> +     csgs_upd_ctx_queue_reqs(ptdev, upd_ctx, csg_id,
> +                             csg_iface->output->ack ^ CSG_ENDPOINT_CONFIG,
> +                             CSG_ENDPOINT_CONFIG);
> +
> +     return 0;
> +}

Reply via email to