qcacmn: Confirm HP register init when enabling IPA pipes

As a part of enabling IPA pipes, the WBM2SW2 head
pointer register is written with the number of
buffers which have been allocated initially. This
register write is a critical one and failure in
writing this register can be fatal.

Confirm the written value, when initializing
the HP register for WBM2SW2 (for IPA).

Change-Id: Ib2da3a7aa6096375cf64857721619f47c50658de
CRs-Fixed: 2620750
This commit is contained in:
Rakesh Pillai
2020-03-19 16:31:39 +05:30
committed by nshrivas
parent 286b038d12
commit 99e3c8b80e
3 changed files with 18 additions and 8 deletions

View File

@@ -402,7 +402,7 @@ static inline void hal_write32_mb_confirm(struct hal_soc *hal_soc,
*/
static inline
void hal_write_address_32_mb(struct hal_soc *hal_soc,
qdf_iomem_t addr, uint32_t value)
qdf_iomem_t addr, uint32_t value, bool wr_confirm)
{
uint32_t offset;
@@ -410,7 +410,11 @@ void hal_write_address_32_mb(struct hal_soc *hal_soc,
return qdf_iowrite32(addr, value);
offset = addr - hal_soc->dev_base_addr;
hal_write32_mb(hal_soc, offset, value);
if (qdf_unlikely(wr_confirm))
hal_write32_mb_confirm(hal_soc, offset, value);
else
hal_write32_mb(hal_soc, offset, value);
}
#ifdef DP_HAL_MULTIWINDOW_DIRECT_ACCESS
@@ -435,7 +439,7 @@ static inline void hal_srng_write_address_32_mb(struct hal_soc *hal_soc,
void __iomem *addr,
uint32_t value)
{
hal_write_address_32_mb(hal_soc, addr, value);
hal_write_address_32_mb(hal_soc, addr, value, false);
}
#endif