Skip to content

UPSTREAM: wifi: ath12k: Add pdev-level OBSS PD configuration#363

Open
WeiZhang-stone wants to merge 2 commits intoqualcomm-linux:qcom-6.18.yfrom
WeiZhang-stone:spatial-reuse
Open

UPSTREAM: wifi: ath12k: Add pdev-level OBSS PD configuration#363
WeiZhang-stone wants to merge 2 commits intoqualcomm-linux:qcom-6.18.yfrom
WeiZhang-stone:spatial-reuse

Conversation

@WeiZhang-stone
Copy link

@WeiZhang-stone WeiZhang-stone commented Mar 18, 2026

This series introduces WMI support and AP-mode handling for HE Spatial
Reuse in ath12k:

Patch 1 adds new WMI commands, TLV tags, and a service flag to configure
SRG/non-SRG OBSS PD bitmaps (BSS color and partial BSSID) at the pdev
level.
Patch 2 switches AP mode to use the new pdev-level configuration path,
programming OBSS PD thresholds, per-AC enablement, SR prohibit control,
and SRG/non-SRG bitmaps based on mac80211 HE SPR parameters.

These changes enable firmware-managed OBSS PD behavior for HE Spatial
Reuse.

CRs-Fixed: 4473210

…onfiguration

Add WMI support for configuring SRG and non-SRG OBSS PD bitmaps at
the pdev level. The new commands allow the host to set BSS color bitmaps,
partial BSSID bitmaps, and the corresponding enable masks used for
SRG/non-SRG OBSS PD processing.

Introduce new WMI command IDs, TLV tags, a service flag
(WMI_TLV_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT), and a bitmap payload
structure required by these commands. These additions are needed to
support HE Spatial Reuse and firmware-managed OBSS PD behavior.

The APIs introduced in this patch will be utilized in an upcoming patch.

Tested-on: WCN7850 hw2.0 PCI WLAN.IOE_HMT.1.1-00011-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1
Tested-on: QCN9274 hw2.0 WLAN.WBE.1.5-01651-QCAHKSWPL_SILICONZ-1

Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-wireless/20260123064817.364047-2-wei.zhang@oss.qualcomm.com/
Signed-off-by: Wei Zhang <wei.zhang@oss.qualcomm.com>
Configure HE OBSS PD for spatial reuse in ath12k based on mac80211
HE SPR parameters in AP mode. This adds a pdev-level helper that
programs SRG/non-SRG OBSS PD thresholds, per-AC enablement, SR prohibit
control, and SRG/non-SRG BSS color and partial BSSID bitmaps via WMI.

Replace the previous vdev-level OBSS SPR command usage with the new
pdev-level configuration path, allowing firmware to apply HE spatial
reuse behavior according to the HE SPR/OBSS PD settings provided by
mac80211.

Tested-on: WCN7850 hw2.0 PCI WLAN.IOE_HMT.1.1-00011-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1
Tested-on: QCN9274 hw2.0 WLAN.WBE.1.5-01651-QCAHKSWPL_SILICONZ-1

Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-wireless/20260123064817.364047-3-wei.zhang@oss.qualcomm.com/
Signed-off-by: Wei Zhang <wei.zhang@oss.qualcomm.com>
@qcomlnxci
Copy link

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp
0_qcom-next-ci-premerge-tests ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
BT_FW_KMD_Service ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
BT_ON_OFF ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ⚠️ skip
BT_SCAN ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ⚠️ skip
CPUFreq_Validation ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
CPU_affinity ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
Ethernet ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ⚠️ skip
Freq_Scaling ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
GIC ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
IPA ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
Interrupts ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
PCIe ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
Probe_Failure_Check ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
RMNET ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
UFS_Validation ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
USBHost ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
cdsp_remoteproc ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
hotplug ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
irq ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
kaslr ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
pinctrl ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
remoteproc ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
rngtest ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
shmbridge ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
smmu ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass
wpss_remoteproc ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ✅ Pass

Copy link
Contributor

@sgaud-quic sgaud-quic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Change Request 4473210 and Change Task kernel.qli.2.0- Parent Software Image development is not complete.

@qcomlnxci
Copy link

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp
0_qcom-next-ci-premerge-tests ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
BT_FW_KMD_Service ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
BT_ON_OFF ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
BT_SCAN ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
CPUFreq_Validation ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
Ethernet ◻️ ✅ Pass ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
GIC ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
IPA ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
OpenCV ◻️ ⚠️ skip ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ◻️
PCIe ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ✅ Pass ❌ Fail
RMNET ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
USBHost ◻️ ✅ Pass ◻️ ❌ Fail ✅ Pass ✅ Pass ❌ Fail
WiFi_Firmware_Driver ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ◻️ ⚠️ skip ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
cdsp_remoteproc ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ❌ Fail
hotplug ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ◻️ ❌ Fail ◻️ ✅ Pass ❌ Fail ✅ Pass ❌ Fail
rngtest ◻️ ❌ Fail ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass
watchdog ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ◻️ ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qcomlnxci
Copy link

Test Matrix

Test Case lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp
0_qcom-next-ci-premerge-tests ◻️ ◻️ ◻️ ◻️ ◻️ ◻️ ❌ Fail
BT_FW_KMD_Service ◻️ ❌ Fail ❌ Fail ✅ Pass ✅ Pass ✅ Pass ❌ Fail
BT_ON_OFF ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
BT_SCAN ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
CPUFreq_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Ethernet ◻️ ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
GIC ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
IPA ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
OpenCV ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
PCIe ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ◻️ ❌ Fail ❌ Fail ❌ Fail ✅ Pass ✅ Pass ❌ Fail
RMNET ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
USBHost ◻️ ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail
WiFi_Firmware_Driver ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ◻️ ⚠️ skip ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
cdsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
hotplug ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ◻️ ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass ❌ Fail
rngtest ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass
smmu ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
watchdog ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

Copy link
Contributor

@sgaud-quic sgaud-quic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For Change Request 4473210 and Change Task kernel.qli.2.0- Parent Software Image development is not complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants