qcacmn: alloc reo qref table in dp_soc_attach

change allocation location for reo qref table.
per probe allocation results in mem alloc failure when
frame is fragmented

Change-Id: I5922bddebcd0577ba38734ae7d4194d726d825aa
CRs-Fixed: 3326520
Bu işleme şunda yer alıyor:
Ruben Columbus
2023-01-20 00:04:41 -08:00
işlemeyi yapan: Madan Koyyalamudi
ebeveyn b4b8c2933f
işleme 11742e7129
10 değiştirilmiş dosya ile 76 ekleme ve 54 silme

Dosyayı Görüntüle

@@ -845,8 +845,8 @@ struct hal_reo_params {
uint8_t frag_dst_ring;
/* Destination for alternate */
uint8_t alt_dst_ind_0;
/** padding */
uint8_t padding[2];
/* reo_qref struct for mlo and non mlo table */
struct reo_queue_ref_table *reo_qref;
};
/**
@@ -897,6 +897,22 @@ struct hal_rx_pkt_capture_flags {
uint64_t tsft;
};
/**
* struct reo_queue_ref_table - Reo qref LUT addr
* @mlo_reo_qref_table_vaddr: MLO table vaddr
* @non_mlo_reo_qref_table_vaddr: Non MLO table vaddr
* @mlo_reo_qref_table_paddr: MLO table paddr
* @non_mlo_reo_qref_table_paddr: Non MLO table paddr
* @reo_qref_table_en: Enable flag
*/
struct reo_queue_ref_table {
uint64_t *mlo_reo_qref_table_vaddr;
uint64_t *non_mlo_reo_qref_table_vaddr;
qdf_dma_addr_t mlo_reo_qref_table_paddr;
qdf_dma_addr_t non_mlo_reo_qref_table_paddr;
uint8_t reo_qref_table_en;
};
struct hal_hw_txrx_ops {
/* init and setup */
void (*hal_srng_dst_hw_init)(struct hal_soc *hal,
@@ -1260,7 +1276,9 @@ struct hal_hw_txrx_ops {
uint32_t (*hal_txmon_status_get_num_users)(void *tx_tlv_hdr,
uint8_t *num_users);
#endif /* QCA_MONITOR_2_0_SUPPORT */
QDF_STATUS (*hal_reo_shared_qaddr_setup)(hal_soc_handle_t hal_soc_hdl);
QDF_STATUS (*hal_reo_shared_qaddr_setup)(hal_soc_handle_t hal_soc_hdl,
struct reo_queue_ref_table
*reo_qref);
void (*hal_reo_shared_qaddr_init)(hal_soc_handle_t hal_soc_hdl,
int qref_reset);
void (*hal_reo_shared_qaddr_detach)(hal_soc_handle_t hal_soc_hdl);
@@ -1359,22 +1377,6 @@ struct hal_reg_write_fail_history {
};
#endif
/**
* struct reo_queue_ref_table - Reo qref LUT addr
* @mlo_reo_qref_table_vaddr: MLO table vaddr
* @non_mlo_reo_qref_table_vaddr: Non MLO table vaddr
* @mlo_reo_qref_table_paddr: MLO table paddr
* @non_mlo_reo_qref_table_paddr: Non MLO table paddr
* @reo_qref_table_en: Enable flag
*/
struct reo_queue_ref_table {
uint64_t *mlo_reo_qref_table_vaddr;
uint64_t *non_mlo_reo_qref_table_vaddr;
qdf_dma_addr_t mlo_reo_qref_table_paddr;
qdf_dma_addr_t non_mlo_reo_qref_table_paddr;
uint8_t reo_qref_table_en;
};
/**
* union hal_shadow_reg_cfg - Shadow register config
* @addr: Place holder where shadow address is saved