Kaynağa Gözat

qcacmn: use hal api to get the reo_destination ring size

use hal api to get the reo_destination ring size

Change-Id: I6710dda215a13fb0b61173f4da0d6e780423faab
CRs-Fixed: 3309725
Tallapragada Kalyan 2 yıl önce
ebeveyn
işleme
c2e702fbf9
1 değiştirilmiş dosya ile 11 ekleme ve 6 silme
  1. 11 6
      dp/wifi3.0/dp_rx_defrag.c

+ 11 - 6
dp/wifi3.0/dp_rx_defrag.c

@@ -1645,6 +1645,7 @@ void dp_rx_defrag_cleanup(struct dp_txrx_peer *txrx_peer, unsigned int tid)
 
 /*
  * dp_rx_defrag_save_info_from_ring_desc(): Save info from REO ring descriptor
+ * @soc: Pointer to the SOC data structure
  * @ring_desc: Pointer to the dst ring descriptor
  * @txrx_peer: Pointer to the peer
  * @tid: Transmit Identifier
@@ -1652,13 +1653,16 @@ void dp_rx_defrag_cleanup(struct dp_txrx_peer *txrx_peer, unsigned int tid)
  * Returns: None
  */
 static QDF_STATUS
-dp_rx_defrag_save_info_from_ring_desc(hal_ring_desc_t ring_desc,
+dp_rx_defrag_save_info_from_ring_desc(struct dp_soc *soc,
+				      hal_ring_desc_t ring_desc,
 				      struct dp_rx_desc *rx_desc,
 				      struct dp_txrx_peer *txrx_peer,
 				      unsigned int tid)
 {
-	void *dst_ring_desc = qdf_mem_malloc(
-			sizeof(struct reo_destination_ring));
+	void *dst_ring_desc;
+
+	dst_ring_desc = qdf_mem_malloc(hal_srng_get_entrysize(soc->hal_soc,
+							      REO_DST));
 
 	if (!dst_ring_desc) {
 		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
@@ -1668,7 +1672,7 @@ dp_rx_defrag_save_info_from_ring_desc(hal_ring_desc_t ring_desc,
 	}
 
 	qdf_mem_copy(dst_ring_desc, ring_desc,
-		       sizeof(struct reo_destination_ring));
+		     hal_srng_get_entrysize(soc->hal_soc, REO_DST));
 
 	txrx_peer->rx_tid[tid].dst_ring_desc = dst_ring_desc;
 	txrx_peer->rx_tid[tid].head_frag_desc = rx_desc;
@@ -1877,8 +1881,9 @@ dp_rx_defrag_store_fragment(struct dp_soc *soc,
 	if ((fragno == 0) && (status == QDF_STATUS_SUCCESS) &&
 			(rx_reorder_array_elem->head == frag)) {
 
-		status = dp_rx_defrag_save_info_from_ring_desc(ring_desc,
-					rx_desc, txrx_peer, tid);
+		status = dp_rx_defrag_save_info_from_ring_desc(soc, ring_desc,
+							       rx_desc,
+							       txrx_peer, tid);
 
 		if (status != QDF_STATUS_SUCCESS) {
 			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,