Преглед изворни кода

qcacmn: Revert "qcacmn: Replenish last entry in monitor status ring"

This reverts commit I7da6cd6006243cbca2151da22a31a6f5ed0015f3

Change-Id: I04ceeeeabb5f94bfcd81e10280dcd017da537c81
Amir Patel пре 5 година
родитељ
комит
d5a7a4ca89
2 измењених фајлова са 8 додато и 41 уклоњено
  1. 4 5
      dp/wifi3.0/dp_rx_mon_status.c
  2. 4 36
      hal/wifi3.0/hal_api.h

+ 4 - 5
dp/wifi3.0/dp_rx_mon_status.c

@@ -1643,7 +1643,7 @@ dp_rx_mon_status_srng_process(struct dp_soc *soc, uint32_t mac_id,
 	 * BUFFER_ADDR_INFO STRUCT
 	 */
 	while (qdf_likely((rxdma_mon_status_ring_entry =
-		hal_srng_src_peek_n_get_next(hal_soc, mon_status_srng))
+		hal_srng_src_peek(hal_soc, mon_status_srng))
 			&& quota--)) {
 		uint32_t rx_buf_cookie;
 		qdf_nbuf_t status_nbuf;
@@ -1921,7 +1921,7 @@ QDF_STATUS dp_rx_mon_status_buffers_replenish(struct dp_soc *dp_soc,
 		num_req_buffers = num_entries_avail;
 	}
 
-	while (count <= num_req_buffers) {
+	while (count < num_req_buffers) {
 		rx_netbuf = dp_rx_nbuf_prepare(dp_soc, dp_pdev);
 
 		/*
@@ -1940,9 +1940,8 @@ QDF_STATUS dp_rx_mon_status_buffers_replenish(struct dp_soc *dp_soc,
 		paddr = qdf_nbuf_get_frag_paddr(rx_netbuf, 0);
 
 		next = (*desc_list)->next;
-		rxdma_ring_entry = hal_srng_src_get_cur_hp_n_move_next(
-						dp_soc->hal_soc,
-						rxdma_srng);
+		rxdma_ring_entry = hal_srng_src_get_next(dp_soc->hal_soc,
+							 rxdma_srng);
 
 		if (qdf_unlikely(!rxdma_ring_entry)) {
 			QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,

+ 4 - 36
hal/wifi3.0/hal_api.h

@@ -1337,8 +1337,7 @@ void *hal_srng_src_get_next(void *hal_soc,
 }
 
 /**
- * hal_srng_src_peek_n_get_next - Get next entry from a ring without
- * moving head pointer.
+ * hal_srng_src_peek - Get next entry from a ring without moving head pointer.
  * hal_srng_src_get_next should be called subsequently to move the head pointer
  *
  * @hal_soc: Opaque HAL SOC handle
@@ -1347,8 +1346,8 @@ void *hal_srng_src_get_next(void *hal_soc,
  * Return: Opaque pointer for next ring entry; NULL on failire
  */
 static inline
-void *hal_srng_src_peek_n_get_next(hal_soc_handle_t hal_soc_hdl,
-				   hal_ring_handle_t hal_ring_hdl)
+void *hal_srng_src_peek(hal_soc_handle_t hal_soc_hdl,
+			hal_ring_handle_t hal_ring_hdl)
 {
 	struct hal_srng *srng = (struct hal_srng *)hal_ring_hdl;
 	uint32_t *desc;
@@ -1361,44 +1360,13 @@ void *hal_srng_src_peek_n_get_next(hal_soc_handle_t hal_soc_hdl,
 	 */
 	if (((srng->u.src_ring.hp + srng->entry_size) %
 		srng->ring_size) != srng->u.src_ring.cached_tp) {
-		desc = &(srng->ring_base_vaddr[(srng->u.src_ring.hp +
-						srng->entry_size) %
-						srng->ring_size]);
+		desc = &(srng->ring_base_vaddr[srng->u.src_ring.hp]);
 		return (void *)desc;
 	}
 
 	return NULL;
 }
 
-/**
- * hal_srng_src_get_cur_hp_n_move_next () - API returns current hp
- * and move hp to next in src ring
- *
- * Usage: This API should only be used at init time replenish.
- *
- * @hal_soc_hdl: HAL soc handle
- * @hal_ring_hdl: Source ring pointer
- *
- */
-static inline void *
-hal_srng_src_get_cur_hp_n_move_next(hal_soc_handle_t hal_soc_hdl,
-				    hal_ring_handle_t hal_ring_hdl)
-{
-	struct hal_srng *srng = (struct hal_srng *)hal_ring_hdl;
-	uint32_t *cur_desc = NULL;
-	uint32_t next_hp;
-
-	cur_desc = &srng->ring_base_vaddr[(srng->u.src_ring.hp)];
-
-	next_hp = (srng->u.src_ring.hp + srng->entry_size) %
-		srng->ring_size;
-
-	if (next_hp != srng->u.src_ring.cached_tp)
-		srng->u.src_ring.hp = next_hp;
-
-	return (void *)cur_desc;
-}
-
 /**
  * hal_srng_src_num_avail - Returns number of available entries in src ring
  *