qcacmn: Retry reo_dst_ctrl register writing if fails
If reo_dst_ctrl register writing failed, this is a fatal error for IPA pipe going to down case as RX frames will still be routed to IPA rings then hit NOC error. retry register writing to see any chance to write successfully, if fail always, trigger SSR or panic. Change-Id: I3c03faa28e6cc93f396944579a360d5405c8138e CRs-Fixed: 2774789
Cette révision appartient à :
@@ -970,28 +970,32 @@ void hal_reo_read_write_ctrl_ix(hal_soc_handle_t hal_soc_hdl, bool read,
|
||||
reg_offset =
|
||||
HWIO_REO_R0_DESTINATION_RING_CTRL_IX_0_ADDR(
|
||||
SEQ_WCSS_UMAC_REO_REG_OFFSET);
|
||||
HAL_REG_WRITE_CONFIRM(hal, reg_offset, *ix0);
|
||||
HAL_REG_WRITE_CONFIRM_RETRY(hal, reg_offset,
|
||||
*ix0, true);
|
||||
}
|
||||
|
||||
if (ix1) {
|
||||
reg_offset =
|
||||
HWIO_REO_R0_DESTINATION_RING_CTRL_IX_1_ADDR(
|
||||
SEQ_WCSS_UMAC_REO_REG_OFFSET);
|
||||
HAL_REG_WRITE(hal, reg_offset, *ix1);
|
||||
HAL_REG_WRITE_CONFIRM_RETRY(hal, reg_offset,
|
||||
*ix1, true);
|
||||
}
|
||||
|
||||
if (ix2) {
|
||||
reg_offset =
|
||||
HWIO_REO_R0_DESTINATION_RING_CTRL_IX_2_ADDR(
|
||||
SEQ_WCSS_UMAC_REO_REG_OFFSET);
|
||||
HAL_REG_WRITE_CONFIRM(hal, reg_offset, *ix2);
|
||||
HAL_REG_WRITE_CONFIRM_RETRY(hal, reg_offset,
|
||||
*ix2, true);
|
||||
}
|
||||
|
||||
if (ix3) {
|
||||
reg_offset =
|
||||
HWIO_REO_R0_DESTINATION_RING_CTRL_IX_3_ADDR(
|
||||
SEQ_WCSS_UMAC_REO_REG_OFFSET);
|
||||
HAL_REG_WRITE_CONFIRM(hal, reg_offset, *ix3);
|
||||
HAL_REG_WRITE_CONFIRM_RETRY(hal, reg_offset,
|
||||
*ix3, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur