[PATCH wireless-next v4 2/2] wifi: mac80211_hwsim: Add UHR capabilities to the driver
Karthikeyan Kathirvel
karthikeyan.kathirvel at oss.qualcomm.com
Tue Mar 3 03:41:10 PST 2026
On 2/24/2026 9:50 PM, Johannes Berg wrote:
> On Tue, 2026-02-17 at 11:17 +0530, Karthikeyan Kathirvel wrote:
>>
>> + .uhr_cap = {
>> + .has_uhr = true,
>> + .mac = {
>> + .mac_cap[0] =
>> + IEEE80211_UHR_MAC_CAP0_DPS_SUPP |
>> + IEEE80211_UHR_MAC_CAP0_DPS_ASSIST_SUPP |
>
> I'm really not sure we should claim all of this, e.g. DPS assist, right
> now.
>
> Also, I think you really mixed this up - a regular AP shouldn't claim
> DPS below (only mobile AP), but this here station should probably not
> normally claim DPS assist?
>
> Just as examples! There are other issues like this such as:
>
>> + IEEE80211_UHR_MAC_CAP1_AP_PUO_SUPP |
>
> I don't think the station should claim AP PUO support.
>
> Certainly not an exhaustive list, ELR also seems wrong, etc.
>
> johannes
Got it. It looks like this requires a deeper feature-level understanding
or a review of the full spec document for each feature. Instead, I used
AI to simplify this. Below, I’ve pasted the AI output, categorized by
AP/non-AP STA and by bands. Is this approach fine? Shall I go ahead and
make the changes based on this?
### UHR MAC capabilities
| Macro | Role tag | Band tag |
|---------------------------------|-----------------------|----------|
| IEEE80211_UHR_MAC_CAP0_DPS_SUPP | Both (AP + non‑AP STA) | All |
| IEEE80211_UHR_MAC_CAP0_DPS_ASSIST_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP0_DPS_AP_STATIC_HCM_SUPP | Mobile AP only
(reserved for non‑AP STA) | All |
| IEEE80211_UHR_MAC_CAP0_NPCA_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP0_ENH_BSR_SUPP | Both (requires +HTC-HE=1) | All |
| IEEE80211_UHR_MAC_CAP0_ADD_MAP_TID_SUPP | Both (conditional; EHT
SCS Traffic Description Support) | All |
| IEEE80211_UHR_MAC_CAP0_EOTSP_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP1_DSO_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP1_PEDCA_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP1_DBE_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP1_UL_LLI_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP1_P2P_LLI_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP1_PUO_SUPP | Both (different meaning AP vs
STA) | All |
| IEEE80211_UHR_MAC_CAP1_AP_PUO_SUPP | Both (different meaning AP vs
STA) | All |
| IEEE80211_UHR_MAC_CAP1_DUO_SUPP | Both (different meaning AP vs
STA) | All |
| IEEE80211_UHR_MAC_CAP2_OMC_UL_MU_DIS_RX_SUPP | AP-only (reserved
for non‑AP STA) | All |
| IEEE80211_UHR_MAC_CAP2_AOM_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP2_IFCS_LOC_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP2_UHR_TRS_SUPP | non‑AP STA only (reserved for
AP; requires +HTC-HE=1) | All |
| IEEE80211_UHR_MAC_CAP2_TXSPG_SUPP | Both | All |
| IEEE80211_UHR_MAC_CAP2_TXOP_RET_IN_TXSPG | Both | All |
| IEEE80211_UHR_MAC_CAP2_UHR_OM_PU_TO_LOW | Both | All |
| IEEE80211_UHR_MAC_CAP3_UHR_OM_PU_TO_HIGH | Both | All |
| IEEE80211_UHR_MAC_CAP3_PARAM_UPD_ADV_NOTIF_INTV | AP-only (reserved
for non‑AP STA) | All |
| IEEE80211_UHR_MAC_CAP3_UPD_IND_TIM_INTV_LOW | AP-only (reserved for
non‑AP STA) | All |
| IEEE80211_UHR_MAC_CAP4_UPD_IND_TIM_INTV_HIGH | AP-only (reserved
for non‑AP STA) | All |
| IEEE80211_UHR_MAC_CAP4_BOUNDED_ESS | AP-only | All |
| IEEE80211_UHR_MAC_CAP4_BTM_ASSURANCE | AP-only | All |
| IEEE80211_UHR_MAC_CAP4_CO_BF_SUPP | Both | All |
### UHR PHY capabilities
| Macro | Role tag | Band tag |
|---------------------------------|-----------------------|----------|
| IEEE80211_UHR_PHY_CAP_MAX_NSS_RX_SND_NDP_LE80 | Both | All (≤80) |
| IEEE80211_UHR_PHY_CAP_MAX_NSS_RX_DL_MU_LE80 | non‑AP STA only
(reserved for AP) | All (≤80) |
| IEEE80211_UHR_PHY_CAP_MAX_NSS_RX_SND_NDP_160 | Both | 5/6 (160) |
| IEEE80211_UHR_PHY_CAP_MAX_NSS_RX_DL_MU_160 | non‑AP STA only
(reserved for AP) | 5/6 (160) |
| IEEE80211_UHR_PHY_CAP_MAX_NSS_RX_SND_NDP_320 | Both | 6 (320) |
| IEEE80211_UHR_PHY_CAP_MAX_NSS_RX_DL_MU_320 | non‑AP STA only
(reserved for AP) | 6 (320) |
| IEEE80211_UHR_PHY_CAP_ELR_RX | Both | All |
| IEEE80211_UHR_PHY_CAP_ELR_TX | Both | All |
/KK
More information about the ath12k
mailing list