mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 04:23:35 +02:00
wifi: ath12k: Introduce device index
Introduce a device index parameter in the ath12k_base structure. This value is used as unique identifier for devices involved in Inter-device MLO. It is also used to configure the MLO parameter within the QMI host capability send request. While currently set to zero, future logic will be added for inter device support to populate this parameter with non-zero values. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://msgid.link/20240430165811.1377182-4-quic_periyasa@quicinc.com
This commit is contained in:
parent
acc6afb31c
commit
b2d54ca73a
|
|
@ -1268,6 +1268,16 @@ struct ath12k_base *ath12k_core_alloc(struct device *dev, size_t priv_size,
|
|||
ab->qmi.num_radios = U8_MAX;
|
||||
ab->mlo_capable_flags = ATH12K_INTRA_DEVICE_MLO_SUPPORT;
|
||||
|
||||
/* Device index used to identify the devices in a group.
|
||||
*
|
||||
* In Intra-device MLO, only one device present in a group,
|
||||
* so it is always zero.
|
||||
*
|
||||
* In Inter-device MLO, Multiple device present in a group,
|
||||
* expect non-zero value.
|
||||
*/
|
||||
ab->device_id = 0;
|
||||
|
||||
return ab;
|
||||
|
||||
err_free_wq:
|
||||
|
|
|
|||
|
|
@ -754,6 +754,7 @@ struct ath12k_base {
|
|||
struct ath12k_qmi qmi;
|
||||
struct ath12k_wmi_base wmi_ab;
|
||||
struct completion fw_ready;
|
||||
u8 device_id;
|
||||
int num_radios;
|
||||
/* HW channel counters frequency value in hertz common to all MACs */
|
||||
u32 cc_freq_hz;
|
||||
|
|
|
|||
|
|
@ -2041,7 +2041,7 @@ static void ath12k_host_cap_parse_mlo(struct ath12k_base *ab,
|
|||
req->mlo_capable_valid = 1;
|
||||
req->mlo_capable = 1;
|
||||
req->mlo_chip_id_valid = 1;
|
||||
req->mlo_chip_id = 0;
|
||||
req->mlo_chip_id = ab->device_id;
|
||||
req->mlo_group_id_valid = 1;
|
||||
req->mlo_group_id = 0;
|
||||
req->max_mlo_peer_valid = 1;
|
||||
|
|
@ -2053,7 +2053,7 @@ static void ath12k_host_cap_parse_mlo(struct ath12k_base *ab,
|
|||
req->mlo_num_chips = 1;
|
||||
|
||||
info = &req->mlo_chip_info[0];
|
||||
info->chip_id = 0;
|
||||
info->chip_id = ab->device_id;
|
||||
info->num_local_links = ab->qmi.num_radios;
|
||||
|
||||
for (i = 0; i < info->num_local_links; i++) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user