qcacmn: Handle Umac reset for MLO case
1. Add an API to process trigger_umac_recovery T2H message. 2. Synchronize do_pre_reset, do_post_reset_start, do_post_reset_complete messages for all the SOCs and then process these messages in the host. 3. Synchronize pre_reset_done, post_reset_start_done, post_reset_complete_done for all the SOCs before sending it to FW. 4. Add a new state in host for trigger_umac_recovery message. Ignore back to back trigger_umac_recovery messages received from FW. Change-Id: Id45d326d63e122834090844e83ad6cc7240f96af CRs-Fixed: 3425833
Bu işleme şunda yer alıyor:

işlemeyi yapan:
Madan Koyyalamudi

ebeveyn
ff85561570
işleme
80d41dc9b4
@@ -465,6 +465,17 @@ static inline struct dp_soc_be *dp_get_be_soc_from_dp_soc(struct dp_soc *soc)
|
||||
return (struct dp_soc_be *)soc;
|
||||
}
|
||||
|
||||
/**
|
||||
* dp_mlo_iter_ptnr_soc() - iterate through mlo soc list and call the callback
|
||||
* @be_soc: dp_soc_be pointer
|
||||
* @func: Function to be called for each soc
|
||||
* @arg: context to be passed to the callback
|
||||
*
|
||||
* Return: true if mlo is enabled, false if mlo is disabled
|
||||
*/
|
||||
bool dp_mlo_iter_ptnr_soc(struct dp_soc_be *be_soc, dp_ptnr_soc_iter_func func,
|
||||
void *arg);
|
||||
|
||||
#ifdef WLAN_MLO_MULTI_CHIP
|
||||
typedef struct dp_mlo_ctxt *dp_mld_peer_hash_obj_t;
|
||||
|
||||
@@ -509,8 +520,6 @@ void dp_mlo_partner_chips_unmap(struct dp_soc *soc,
|
||||
typedef void dp_ptnr_vdev_iter_func(struct dp_vdev_be *be_vdev,
|
||||
struct dp_vdev *ptnr_vdev,
|
||||
void *arg);
|
||||
typedef void dp_ptnr_soc_iter_func(struct dp_soc *ptnr_soc,
|
||||
void *arg);
|
||||
|
||||
/**
|
||||
* dp_mcast_mlo_iter_ptnr_vdev() - API to iterate through ptnr vdev list
|
||||
@@ -527,17 +536,7 @@ void dp_mcast_mlo_iter_ptnr_vdev(struct dp_soc_be *be_soc,
|
||||
dp_ptnr_vdev_iter_func func,
|
||||
void *arg,
|
||||
enum dp_mod_id mod_id);
|
||||
/**
|
||||
* dp_mlo_iter_ptnr_soc() - API to iterate through ptnr soc list
|
||||
* @be_soc: dp_soc_be pointer
|
||||
* @func: function to be called for each peer
|
||||
* @arg: argument need to be passed to func
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void dp_mlo_iter_ptnr_soc(struct dp_soc_be *be_soc,
|
||||
dp_ptnr_soc_iter_func func,
|
||||
void *arg);
|
||||
|
||||
/**
|
||||
* dp_mlo_get_mcast_primary_vdev() - get ref to mcast primary vdev
|
||||
* @be_soc: dp_soc_be pointer
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle