浏览代码

qcacmn: Add srng disable function for 5332

Add srng disable function for 5332. This is required for
umac reset feature. Also, Avoid srng disable for lmac
rings.

Change-Id: Ieccc86134ee4d1cc3cd8a31a62f8fdf3afd5faf9
CRs-Fixed: 3599325
Nandha Kishore Easwaran 1 年之前
父节点
当前提交
46aca5dfc5
共有 2 个文件被更改,包括 6 次插入0 次删除
  1. 5 0
      hal/wifi3.0/hal_generic_api.h
  2. 1 0
      hal/wifi3.0/qca5332/hal_5332.c

+ 5 - 0
hal/wifi3.0/hal_generic_api.h

@@ -182,6 +182,11 @@ static inline
 void hal_srng_hw_disable_generic(struct hal_soc *hal, struct hal_srng *srng)
 {
 	uint32_t reg_val = 0;
+	struct hal_hw_srng_config *ring_config =
+		HAL_SRNG_CONFIG(hal, srng->ring_type);
+
+	if (ring_config->lmac_ring)
+		return;
 
 	if (srng->ring_dir == HAL_SRNG_DST_RING) {
 		reg_val = SRNG_DST_REG_READ(srng, MISC) & ~(SRNG_ENABLE_BIT);

+ 1 - 0
hal/wifi3.0/qca5332/hal_5332.c

@@ -1347,6 +1347,7 @@ static void hal_hw_txrx_ops_attach_qca5332(struct hal_soc *hal_soc)
 	/* init and setup */
 	hal_soc->ops->hal_srng_dst_hw_init = hal_srng_dst_hw_init_generic;
 	hal_soc->ops->hal_srng_src_hw_init = hal_srng_src_hw_init_generic;
+	hal_soc->ops->hal_srng_hw_disable = hal_srng_hw_disable_generic;
 	hal_soc->ops->hal_get_hw_hptp = hal_get_hw_hptp_generic;
 	hal_soc->ops->hal_get_window_address = hal_get_window_address_5332;
 	hal_soc->ops->hal_cmem_write = hal_cmem_write_5332;