qcacmn: skip a radio as primary-umac in MLO
Allow user configuration options to skip a radio as primary-umac in multi-link operation. Change-Id: Ic7c8dd5c1cf7855f4fb762daf9ace7cb82e02cac CRs-Fixed: 3437922
This commit is contained in:

committad av
Madan Koyyalamudi

förälder
ce762cce81
incheckning
4600a3b873
@@ -415,6 +415,7 @@ struct wlan_soc_timer {
|
||||
* @tgt_if_handle: target interface handle
|
||||
* @dp_handle: DP module handle
|
||||
* @psoc_lock: psoc lock
|
||||
* @skip_mlo_pumac: skip this psoc as MLO primary umac
|
||||
*/
|
||||
struct wlan_objmgr_psoc {
|
||||
struct wlan_objmgr_psoc_regulatory soc_reg;
|
||||
@@ -429,6 +430,7 @@ struct wlan_objmgr_psoc {
|
||||
struct target_psoc_info *tgt_if_handle;
|
||||
void *dp_handle;
|
||||
qdf_spinlock_t psoc_lock;
|
||||
bool skip_mlo_pumac;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1959,6 +1961,41 @@ static inline void *wlan_psoc_get_dp_handle(struct wlan_objmgr_psoc *psoc)
|
||||
return psoc->dp_handle;
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_psoc_set_pumac_skip - set mlo primary umac skip setting
|
||||
* @psoc: psoc object pointer
|
||||
* @val: indicate support for MLO PUMAC feature on psoc
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static inline void wlan_psoc_set_pumac_skip(
|
||||
struct wlan_objmgr_psoc *psoc,
|
||||
bool val)
|
||||
{
|
||||
if (qdf_unlikely(!psoc)) {
|
||||
QDF_BUG(0);
|
||||
return;
|
||||
}
|
||||
|
||||
psoc->skip_mlo_pumac = val;
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_psoc_get_pumac_skip - get mlo primary umac skip setting
|
||||
* @psoc: psoc object pointer
|
||||
*
|
||||
* Return: bool (primary umac support)
|
||||
*/
|
||||
static inline bool wlan_psoc_get_pumac_skip(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
if (qdf_unlikely(!psoc)) {
|
||||
QDF_BUG(0);
|
||||
return false;
|
||||
}
|
||||
|
||||
return psoc->skip_mlo_pumac;
|
||||
}
|
||||
|
||||
struct wlan_logically_del_peer {
|
||||
qdf_list_node_t list;
|
||||
struct wlan_objmgr_peer *peer;
|
||||
|
@@ -744,6 +744,26 @@ static inline uint8_t wlan_vdev_get_psoc_id(struct wlan_objmgr_vdev *vdev)
|
||||
return wlan_psoc_get_id(psoc);
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_vdev_skip_pumac() - get primary umac support
|
||||
* @vdev: VDEV object
|
||||
*
|
||||
* API to get Primary umac support for MLO
|
||||
*
|
||||
* Return: get primary umac support (bool)
|
||||
*/
|
||||
static inline bool wlan_vdev_skip_pumac(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc;
|
||||
|
||||
psoc = wlan_vdev_get_psoc(vdev);
|
||||
|
||||
if (wlan_psoc_get_pumac_skip(psoc))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* wlan_vdev_mlme_set_opmode() - set vdev opmode
|
||||
* @vdev: VDEV object
|
||||
|
Referens i nytt ärende
Block a user