Subject: [PATCH v2 0/3] net: mana: Add HTB Qdisc offload support

From: Erni Sri Satya Vennela <[email-masked]>
Date: Sun, 20 Apr 2025 23:33:37 -0700

Introduce support for HTB Qdisc offload on the mana ethernet 
controller to enable bandwidth clamping for egress traffic.

The controller offloads only one HTB leaf to support bandwidth
clamping on the hardware. This involves calling the function 
mana_set_bw_clamp() which internally calls a HWC command 
to the hardware to set the speed.

The minimum supported bandwidth is 100 Mbps, and only multiples
of 100 Mbps are supported by the hardware. The speed will be reset to
maximum bandwidth supported by the SKU, when the HTB leaf is deleted.

Also add speed support in mana_get_link_ksettings to display speed in the
standard port information using ethtool. This involves calling
mana_query_link_config(), which internally sends a HWC command to
the hardware to query speed information.

Note that this feature is not supported by all hardware.

---
Changes in v2:
* Use -EOPNOTSUPP instead of -EPROTO in mana_query_link_cfg() 
  and mana_set_bw_clamp()
* Change link_speed to link_speed_mbps in struct mana_set_bw_clamp_req.
---
Erni Sri Satya Vennela (3):
  net: mana: Add speed support in mana_get_link_ksettings
  net: mana: Add sched HTB offload support
  net: mana: Handle unsupported HWC commands

 .../net/ethernet/microsoft/mana/hw_channel.c  |   4 +
 drivers/net/ethernet/microsoft/mana/mana_en.c | 191 ++++++++++++++++++
 .../ethernet/microsoft/mana/mana_ethtool.c    |   6 +
 include/net/mana/mana.h                       |  36 ++++
 4 files changed, 237 insertions(+)

-- 
2.34.1