Commit 6833a096 authored by Alex Elder's avatar Alex Elder Committed by Jakub Kicinski

net: ipa: support more versions for HOLB timer

IPA version 3.5.1 represents the timer used in avoiding head-of-line
blocking with a simple tick count.  IPA v4.2 changes that, instead
splitting the timer field into two parts (base and scale) to
represent the ticks in the timer period.

IPA v4.0 and IPA v4.1 use the same method as IPA v3.5.1.  Change the
test in ipa_reg_init_hol_block_timer_val() so the result is correct
for those versions as well.
Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 5f87d77b
...@@ -665,8 +665,8 @@ static u32 ipa_reg_init_hol_block_timer_val(struct ipa *ipa, u32 microseconds) ...@@ -665,8 +665,8 @@ static u32 ipa_reg_init_hol_block_timer_val(struct ipa *ipa, u32 microseconds)
/* ...but we still need to fit into a 32-bit register */ /* ...but we still need to fit into a 32-bit register */
WARN_ON(ticks > U32_MAX); WARN_ON(ticks > U32_MAX);
/* IPA v3.5.1 just records the tick count */ /* IPA v3.5.1 through v4.1 just record the tick count */
if (ipa->version == IPA_VERSION_3_5_1) if (ipa->version < IPA_VERSION_4_2)
return (u32)ticks; return (u32)ticks;
/* For IPA v4.2, the tick count is represented by base and /* For IPA v4.2, the tick count is represented by base and
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment