wifi: ath12k: relocate ath12k_dp_pdev_pre_alloc() call
authorKarthikeyan Periyasamy <quic_periyasa@quicinc.com>
Sun, 14 Jan 2024 15:02:38 +0000 (17:02 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Tue, 16 Jan 2024 12:19:45 +0000 (14:19 +0200)
Currently, the data path pdev pre alloc and mac allocate are called
separately from the core start procedure. The data path pdev pre alloc
can be called from the mac allocate procedure itself since initialization
related to pdev happens in the mac allocate procedure. So move the caller
of DP pdev pre alloc from the core start procedure to the mac allocate
procedure. This change helps in the future to easily decouple the mac
allocate procedure from core start handling in order to support MLO in
multi chip.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1

Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20231206034920.1037449-2-quic_periyasa@quicinc.com
drivers/net/wireless/ath/ath12k/core.c
drivers/net/wireless/ath/ath12k/mac.c

index d73e2d33a41eceddf9ba5557ea3a7440d776d4d9..ababe7f01b5b437c0f3d1eb870cded8f45c0b3c8 100644 (file)
@@ -714,8 +714,6 @@ static int ath12k_core_start(struct ath12k_base *ab,
 
        ath12k_dp_cc_config(ab);
 
-       ath12k_dp_pdev_pre_alloc(ab);
-
        ret = ath12k_dp_rx_pdev_reo_setup(ab);
        if (ret) {
                ath12k_err(ab, "failed to initialize reo destination rings: %d\n", ret);
index 88cec54c6c2e64e02bd0af9d27ee6c92faa6a971..49d56f5d889620994e2612bf91b906e541d869f3 100644 (file)
@@ -7667,6 +7667,8 @@ int ath12k_mac_allocate(struct ath12k_base *ab)
                clear_bit(ATH12K_FLAG_MONITOR_ENABLED, &ar->monitor_flags);
        }
 
+       ath12k_dp_pdev_pre_alloc(ab);
+
        return 0;
 
 err_free_mac: