Skip to content

Commit 6e228d8

Browse files
Alex Elderdavem330
authored andcommitted
net: ipa: HOLB register sometimes must be written twice
Starting with IPA v4.5, the HOL_BLOCK_EN register must be written twice when enabling head-of-line blocking avoidance. Fixes: 84f9bd1 ("soc: qcom: ipa: IPA endpoints") Signed-off-by: Alex Elder <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 10a2308 commit 6e228d8

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/net/ipa/ipa_endpoint.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -868,6 +868,9 @@ ipa_endpoint_init_hol_block_enable(struct ipa_endpoint *endpoint, bool enable)
868868
val = enable ? HOL_BLOCK_EN_FMASK : 0;
869869
offset = IPA_REG_ENDP_INIT_HOL_BLOCK_EN_N_OFFSET(endpoint_id);
870870
iowrite32(val, endpoint->ipa->reg_virt + offset);
871+
/* When enabling, the register must be written twice for IPA v4.5+ */
872+
if (enable && endpoint->ipa->version >= IPA_VERSION_4_5)
873+
iowrite32(val, endpoint->ipa->reg_virt + offset);
871874
}
872875

873876
void ipa_endpoint_modem_hol_block_clear_all(struct ipa *ipa)

0 commit comments

Comments
 (0)