Skip to content

QCOM ath12k bringup - #1307

Open
akilesh-k26 wants to merge 2 commits into
rdkcentral:developfrom
akilesh-k26:develop
Open

QCOM ath12k bringup#1307
akilesh-k26 wants to merge 2 commits into
rdkcentral:developfrom
akilesh-k26:develop

Conversation

@akilesh-k26

Copy link
Copy Markdown

[ccsp-one-wifi] QCOM bringup

Reason for change: Add base bringup support for the QCA platform.

This change enables QCOM ATH12K platform-specific paths across OneWifi, including:

  • Default radio configuration updates for QCA, including AX/BE capability handling.
  • Guard interval validation based on the configured 802.11 operating mode.
  • QCA-specific handling for CSI pinger/data-frame paths.
  • Platform enablement for CCSP/bootstrap/systemd notify flows.
  • Skip Broadcom-specific MLO vendor IE probe request matching for QCA ATH12K.
  • Addition of US 6 GHz operating class 137 support.

Signed-off-by: Akilesh K akilkart@qti.qualcomm.com

Copilot AI review requested due to automatic review settings July 29, 2026 21:22
@akilesh-k26
akilesh-k26 requested a review from a team as a code owner July 29, 2026 21:22
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds baseline enablement for the QCOM ATH12K (QCA) platform across OneWifi by extending platform-conditional paths, updating default radio capabilities, and tightening validation logic to align configuration with the active 802.11 variant.

Changes:

  • Add US 6 GHz operating class 137 to the operating class map.
  • Extend multiple platform #if conditionals to include/exclude QCOM ATH12K-specific code paths (systemd notify, probe request matching, CSI/pinger and data-frame send paths).
  • Add Guard Interval (GI) validation based on the configured 802.11 operating variant, and adjust default radio variant initialization to include AX/BE on QCOM where applicable.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
source/utils/wifi_util.c Adds US 6 GHz operating class 137.
source/stats/wifi_stats_radio_channel.c Removes an extraneous blank line in the header area.
source/stats/wifi_monitor.c Excludes QCOM ATH12K from XB7 Broadcom-specific data-frame send path.
source/dml/wifi_ssp/ssp_main.c Enables sd_notify PID-file flow for QCOM ATH12K builds.
source/dml/tr_181/sbapi/cosa_wifi_apis.c Includes QCOM ATH12K in platform-gated JSON/bootstrap handling blocks.
source/dml/tr_181/ml/plugin_main.c Trims trailing whitespace in a preprocessor block.
source/dml/tr_181/ml/cosa_wifi_dml.c Adds GI validation based on configured 802.11 variant; adds QCOM ATH12K to CCSP include gate.
source/db/wifi_db.c Extends BE defaulting logic to include QCOM ATH12K under CONFIG_IEEE80211BE.
source/db/wifi_db_apis.c Extends AX/BE defaulting logic to include QCOM ATH12K.
source/apps/levl/wifi_levl.c Skips Broadcom-specific MLO vendor-IE probe matching on QCOM ATH12K.
source/apps/csi/wifi_csi.c Excludes QCOM ATH12K from XB7 Broadcom-specific CSI pinger update path.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +3853 to +3856
wifi_util_error_print(WIFI_DMCLI,
"%s:%d: GuardInterval 400ns not supported for EHT mode (variant=0x%x)\n",
__func__, __LINE__, variant);
return FALSE;
Comment thread source/db/wifi_db.c
Comment on lines +105 to 108
#if defined(CONFIG_IEEE80211BE) && (defined(_PLATFORM_BANANAPI_R4_) || defined(QCOM_ATH12K_PORT))
cfg.variant |= WIFI_80211_VARIANT_BE;
cfg.channelWidth = WIFI_CHANNELBANDWIDTH_40MHZ;
#endif /* defined(CONFIG_IEEE80211BE) && defined(_PLATFORM_BANANAPI_R4_) */
@akilesh-k26

Copy link
Copy Markdown
Author

recheck

Copilot AI review requested due to automatic review settings August 5, 2026 13:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 10 out of 11 changed files in this pull request and generated no new comments.

Suppressed comments (3)

source/stats/wifi_monitor.c:2995

  • In the IPv6 ping path, the wifi_hal_sendDataFrame call is passing WIFI_ETH_TYPE_IP (IPv4) instead of WIFI_ETH_TYPE_IP6, which will mislabel the frame type for ICMPv6 payloads.
#if (defined (_XB7_PRODUCT_REQ_) && !defined (_COSA_BCM_ARM_) && !defined (QCOM_ATH12K_PORT))
            wifi_sendDataFrame(ap_idx,
                    (unsigned char*)mac,
                    (unsigned char*)buffer,
                    frame_len,

source/db/wifi_db.c:108

  • The #endif trailing comment no longer matches the updated preprocessor condition (it still references only _PLATFORM_BANANAPI_R4_). This makes the guard harder to read/maintain.
#if defined(CONFIG_IEEE80211BE) && (defined(_PLATFORM_BANANAPI_R4_) || defined(QCOM_ATH12K_PORT))
            cfg.variant |= WIFI_80211_VARIANT_BE;
            cfg.channelWidth = WIFI_CHANNELBANDWIDTH_40MHZ;
#endif /* defined(CONFIG_IEEE80211BE) && defined(_PLATFORM_BANANAPI_R4_) */

source/dml/tr_181/ml/cosa_wifi_dml.c:3855

  • This branch triggers for both BE (EHT) and AX (HE), but the comment/log message says "EHT" only. That can be misleading when the radio is operating in AX/HE mode.
            if ((variant & WIFI_80211_VARIANT_BE) || (variant & WIFI_80211_VARIANT_AX)) {
                /* EHT: 800ns, 1600ns, 3200ns only */
                if (tmpGuardInterval == wifi_guard_interval_400) {
                    wifi_util_error_print(WIFI_DMCLI,
                        "%s:%d: GuardInterval 400ns not supported for EHT mode (variant=0x%x)\n",

Reason for change: Base bringup for QCA platform
based on upstream hostapd main branch (2.12-dev)

Signed-off-by: Akilesh K <akilkart@qti.qualcomm.com>
Copilot AI review requested due to automatic review settings August 6, 2026 05:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 10 out of 11 changed files in this pull request and generated no new comments.

Suppressed comments (3)

source/db/wifi_db.c:108

  • The #endif comment no longer matches the updated #if condition (it now also includes QCOM_ATH12K_PORT), which can be misleading during future maintenance.
#if defined(CONFIG_IEEE80211BE) && (defined(_PLATFORM_BANANAPI_R4_) || defined(QCOM_ATH12K_PORT))
            cfg.variant |= WIFI_80211_VARIANT_BE;
            cfg.channelWidth = WIFI_CHANNELBANDWIDTH_40MHZ;
#endif /* defined(CONFIG_IEEE80211BE) && defined(_PLATFORM_BANANAPI_R4_) */

source/dml/tr_181/ml/cosa_wifi_dml.c:3856

  • The GuardInterval validation error text says “EHT mode”, but the surrounding condition includes both AX and BE variants. This makes the log misleading on AX-only configurations.
                /* EHT: 800ns, 1600ns, 3200ns only */
                if (tmpGuardInterval == wifi_guard_interval_400) {
                    wifi_util_error_print(WIFI_DMCLI,
                        "%s:%d: GuardInterval 400ns not supported for EHT mode (variant=0x%x)\n",
                        __func__, __LINE__, variant);

source/apps/levl/wifi_levl.c:633

  • The #endif comment doesn’t reflect the updated conditional (it now also excludes QCOM_ATH12K_PORT), which makes it harder to understand why this block is compiled out on some platforms.
#if defined(CONFIG_IEEE80211BE) && !defined(_PLATFORM_BANANAPI_R4_) && !defined(QCOM_ATH12K_PORT)
    check_and_correct_reporting_vap_index(msg, mac_str);
#endif /* CONFIG_IEEE80211BE && !_PLATFORM_BANANAPI_R4_ */

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.

2 participants