Re: [PATCH RFC v2 08/17] RISC-V: QoS: add resctrl interface for CBQRI controllers

From: Gong Shuai

Date: Mon Feb 09 2026 - 05:15:28 EST


Hi, Drew

> Add interface for CBQRI controller drivers to make use of the resctrl
> filesystem.

> Co-developed-by: Adrien Ricciardi <aricciardi@xxxxxxxxxxxx>
> Signed-off-by: Adrien Ricciardi <aricciardi@xxxxxxxxxxxx>
> Signed-off-by: Drew Fustini <fustini@xxxxxxxxxx>
> ---
>
> ...
>
> +u32 resctrl_arch_get_config(struct rdt_resource *r, struct rdt_ctrl_domain *d,
> +                u32 closid, enum resctrl_conf_type type)
> +{
> +    struct cbqri_resctrl_dom *hw_dom;
> +    struct cbqri_controller *ctrl;
> +    int reg_offset;
> +    u32 percent;
> +    u32 rbwb;
> +    u64 reg;
> +    int err;
> +
> +    hw_dom = container_of(d, struct cbqri_resctrl_dom, resctrl_ctrl_dom);
> +
> +    ctrl = hw_dom->hw_ctrl;
> +
> +    if (!r->alloc_capable)
> +        return resctrl_get_default_ctrl(r);
> +
> +    switch (r->rid) {
> +    case RDT_RESOURCE_L2:
> +    case RDT_RESOURCE_L3:
> +        /* Clear cc_block_mask before read limit operation */
> +        cbqri_set_cbm(ctrl, 0);
> +
> +        /* Capacity read limit operation for RCID (closid) */
> +        err = cbqri_cc_alloc_op(ctrl, CBQRI_CC_ALLOC_CTL_OP_READ_LIMIT, type, closid);

It looks like the parameter order might be incorrect. I believe it should be:
cbqri_cc_alloc_op(ctrl, CBQRI_CC_ALLOC_CTL_OP_READ_LIMIT, closid, type)

Could you please double-check?

> +        if (err < 0) {
> +            pr_err("%s(): operation failed: err = %d", __func__, err);
> +            return resctrl_get_default_ctrl(r);
> +        }
> ...

Thanks,
Shuai