/* SPDX-License-Identifier: BSD-3-Clause-Clear */ /* * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2021-2025 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#ifndef ATH12K_HW_H #define ATH12K_HW_H
#include <linux/mhi.h> #include <linux/uuid.h>
#include"wmi.h" #include"hal.h"
/* Target configuration defines */
/* Num VDEVS per radio */ #define TARGET_NUM_VDEVS(ab) ((ab)->profile_param->num_vdevs)
/* Max num of stations for Single Radio mode */ #define TARGET_NUM_STATIONS_SINGLE(ab) ((ab)->profile_param->max_client_single)
/* Max num of stations for DBS */ #define TARGET_NUM_STATIONS_DBS(ab) ((ab)->profile_param->max_client_dbs)
/* Max num of stations for DBS_SBS */ #define TARGET_NUM_STATIONS_DBS_SBS(ab) \
((ab)->profile_param->max_client_dbs_sbs)
/* setup REO queue, frag etc only for primary link peer */ bool dp_primary_link_only:1;
};
struct ath12k_hw_ops {
u8 (*get_hw_mac_from_pdev_id)(int pdev_id); int (*mac_id_to_pdev_id)(conststruct ath12k_hw_params *hw, int mac_id); int (*mac_id_to_srng_id)(conststruct ath12k_hw_params *hw, int mac_id); int (*rxdma_ring_sel_config)(struct ath12k_base *ab);
u8 (*get_ring_selector)(struct sk_buff *skb); bool (*dp_srng_is_tx_comp_ring)(int ring_num); bool (*is_frame_link_agnostic)(struct ath12k_link_vif *arvif, struct ieee80211_mgmt *mgmt);
};
staticinline int ath12k_hw_get_mac_from_pdev_id(conststruct ath12k_hw_params *hw, int pdev_idx)
{ if (hw->hw_ops->get_hw_mac_from_pdev_id) return hw->hw_ops->get_hw_mac_from_pdev_id(pdev_idx);
return 0;
}
staticinlineint ath12k_hw_mac_id_to_pdev_id(conststruct ath12k_hw_params *hw, int mac_id)
{ if (hw->hw_ops->mac_id_to_pdev_id) return hw->hw_ops->mac_id_to_pdev_id(hw, mac_id);
return 0;
}
staticinlineint ath12k_hw_mac_id_to_srng_id(conststruct ath12k_hw_params *hw, int mac_id)
{ if (hw->hw_ops->mac_id_to_srng_id) return hw->hw_ops->mac_id_to_srng_id(hw, mac_id);
staticinlineconstchar *ath12k_bd_ie_type_str(enum ath12k_bd_ie_type type)
{ switch (type) { case ATH12K_BD_IE_BOARD: return"board data"; case ATH12K_BD_IE_REGDB: return"regdb data";
}
return"unknown";
}
int ath12k_hw_init(struct ath12k_base *ab);
#endif
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.55Bemerkung:
(vorverarbeitet am 2026-04-26)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.