qcacmn: Use hal io apis in SRNG_REG_WRITE
The register write apis for the srng rings pass the srng structure as their context. Add a pointer to the hal to enable windowing. Change-Id: Ib3bda2d49d5c2d327cc1b986dcf825a216a004ef CRs-Fixed: 2032131
Šī revīzija ir iekļauta:

revīziju iesūtīja
snandini

vecāks
61dad49aa3
revīzija
8bbc99066e
@@ -33,7 +33,6 @@
|
||||
#include "qdf_types.h"
|
||||
#include "qdf_util.h"
|
||||
#include "hal_internal.h"
|
||||
#include "hif_io32.h"
|
||||
#include "rx_msdu_link.h"
|
||||
#include "rx_reo_queue.h"
|
||||
#include "rx_reo_queue_ext.h"
|
||||
@@ -620,10 +619,12 @@ static inline void hal_srng_access_end_unlocked(void *hal_soc, void *hal_ring)
|
||||
}
|
||||
} else {
|
||||
if (srng->ring_dir == HAL_SRNG_SRC_RING)
|
||||
hif_write32_mb(srng->u.src_ring.hp_addr,
|
||||
hal_write_address_32_mb(hal_soc,
|
||||
srng->u.src_ring.hp_addr,
|
||||
srng->u.src_ring.hp);
|
||||
else
|
||||
hif_write32_mb(srng->u.dst_ring.tp_addr,
|
||||
hal_write_address_32_mb(hal_soc,
|
||||
srng->u.dst_ring.tp_addr,
|
||||
srng->u.dst_ring.tp);
|
||||
}
|
||||
}
|
||||
|
@@ -271,6 +271,8 @@ struct hal_srng {
|
||||
uint32_t low_threshold;
|
||||
} src_ring;
|
||||
} u;
|
||||
|
||||
struct hal_soc *hal_soc;
|
||||
};
|
||||
|
||||
/* HW SRNG configuration table */
|
||||
|
@@ -133,10 +133,10 @@
|
||||
SRNG_REG_ADDR(_srng, _reg, _reg ## _GROUP, SRC)
|
||||
|
||||
#define SRNG_REG_WRITE(_srng, _reg, _value, _dir) \
|
||||
hif_write32_mb(SRNG_ ## _dir ## _ADDR(_srng, _reg), (_value))
|
||||
hal_write_address_32_mb(_srng->hal_soc, SRNG_ ## _dir ## _ADDR(_srng, _reg), (_value))
|
||||
|
||||
#define SRNG_REG_READ(_srng, _reg, _dir) \
|
||||
hif_read32_mb(SRNG_ ## _dir ## _ADDR(_srng, _reg))
|
||||
hal_read_address_32_mb(_srng->hal_soc, SRNG_ ## _dir ## _ADDR(_srng, _reg))
|
||||
|
||||
#define SRNG_SRC_REG_WRITE(_srng, _reg, _value) \
|
||||
SRNG_REG_WRITE(_srng, _reg, _value, SRC)
|
||||
@@ -1091,6 +1091,7 @@ void *hal_srng_setup(void *hal_soc, int ring_type, int ring_num,
|
||||
srng->intr_timer_thres_us = ring_params->intr_timer_thres_us;
|
||||
srng->intr_batch_cntr_thres_entries =
|
||||
ring_params->intr_batch_cntr_thres_entries;
|
||||
srng->hal_soc = hal_soc;
|
||||
|
||||
for (i = 0 ; i < MAX_SRNG_REG_GROUPS; i++) {
|
||||
srng->hwreg_base[i] = dev_base_addr + ring_config->reg_start[i]
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user