qcacmn: Retain defaults in REO_GENERAL_ENABLE

Use read-modify-write to retain default values in
REO_GENERAL_ENABLE register.

Change-Id: I94eb05328117adf02acc2cb14b50b02a008cd322
CRs-Fixed: 2254739
This commit is contained in:
Karunakar Dasineni
2018-06-05 13:32:41 -07:00
committed by nshrivas
parent 35d89071c2
commit b277479e83

View File

@@ -243,13 +243,23 @@ void hal_reo_setup(void *hal_soc,
struct hal_reo_params *reo_params)
{
struct hal_soc *soc = (struct hal_soc *)hal_soc;
uint32_t reg_val;
HAL_REG_WRITE(soc, HWIO_REO_R0_GENERAL_ENABLE_ADDR(
SEQ_WCSS_UMAC_REO_REG_OFFSET),
HAL_SM(HWIO_REO_R0_GENERAL_ENABLE,
reg_val = HAL_REG_READ(soc, HWIO_REO_R0_GENERAL_ENABLE_ADDR(
SEQ_WCSS_UMAC_REO_REG_OFFSET));
reg_val &= ~(HWIO_REO_R0_GENERAL_ENABLE_FRAGMENT_DEST_RING_BMSK |
HWIO_REO_R0_GENERAL_ENABLE_AGING_LIST_ENABLE_BMSK |
HWIO_REO_R0_GENERAL_ENABLE_AGING_FLUSH_ENABLE_BMSK);
reg_val |= HAL_SM(HWIO_REO_R0_GENERAL_ENABLE,
FRAGMENT_DEST_RING, reo_params->frag_dst_ring) |
HAL_SM(HWIO_REO_R0_GENERAL_ENABLE, AGING_LIST_ENABLE, 1) |
HAL_SM(HWIO_REO_R0_GENERAL_ENABLE, AGING_FLUSH_ENABLE, 1));
HAL_SM(HWIO_REO_R0_GENERAL_ENABLE, AGING_FLUSH_ENABLE, 1);
HAL_REG_WRITE(soc, HWIO_REO_R0_GENERAL_ENABLE_ADDR(
SEQ_WCSS_UMAC_REO_REG_OFFSET), reg_val);
/* Other ring enable bits and REO_ENABLE will be set by FW */
/* TODO: Setup destination ring mapping if enabled */