On Wed, Jan 08, 2025 at 09:47:13PM +0800, Luo Jie wrote: > The PPE scheduler settings determine the priority of scheduling the > packet across the different hardware queues per PPE port. > > Signed-off-by: Luo Jie <quic_luoj@xxxxxxxxxxx> > --- > drivers/net/ethernet/qualcomm/ppe/ppe_config.c | 789 ++++++++++++++++++++++++- > drivers/net/ethernet/qualcomm/ppe/ppe_config.h | 37 ++ > drivers/net/ethernet/qualcomm/ppe/ppe_regs.h | 97 +++ > 3 files changed, 922 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/qualcomm/ppe/ppe_config.c b/drivers/net/ethernet/qualcomm/ppe/ppe_config.c ... > +/** > + * ppe_queue_scheduler_set - Configure scheduler for PPE hardware queue > + * @ppe_dev: PPE device > + * @node_id: PPE queue ID or flow ID > + * @flow_level: Flow level scheduler or queue level scheduler > + * @port: PPE port ID set scheduler configuration > + * @scheduler_cfg: PPE scheduler configuration > + * > + * PPE scheduler configuration supports queue level and flow level on > + * the PPE egress port. > + * > + * Return 0 on success, negative error code on failure. Nit: The tooling would prefer this last line formatted as; * Return: ... or * Returns: ... Flagged by ./scripts/kernel-doc -none -Wall > + */ > +int ppe_queue_scheduler_set(struct ppe_device *ppe_dev, > + int node_id, bool flow_level, int port, > + struct ppe_scheduler_cfg scheduler_cfg) > +{ > + if (flow_level) > + return ppe_scheduler_l1_queue_map_set(ppe_dev, node_id, > + port, scheduler_cfg); > + > + return ppe_scheduler_l0_queue_map_set(ppe_dev, node_id, > + port, scheduler_cfg); > +} ...