mbox series

[net-next,0/2] net: ipa: fix HOLB timer register use

Message ID 20200703212335.465355-1-elder@linaro.org
Headers show
Series net: ipa: fix HOLB timer register use | expand

Message

Alex Elder July 3, 2020, 9:23 p.m. UTC
The function ipa_reg_init_hol_block_timer_val() generates the value
to write into the HOL_BLOCK_TIMER endpoint configuration register,
to represent a given timeout value (in microseconds).  It only
supports a timer value of 0 though, in part because that's
sufficient, but mainly because there was some confusion about
how the register is formatted in newer hardware.

I got clarification about the register format, so this series fixes 
ipa_reg_init_hol_block_timer_val() to work for any supported delay
value.

The delay is based on the IPA core clock, so determining the value
to write for a given period requires access to the current core
clock rate.  So the first patch just creates a new function to
provide that.

					-Alex

Alex Elder (2):
  net: ipa: introduce ipa_clock_rate()
  net: ipa: fix HOLB timer calculation

 drivers/net/ipa/ipa_clock.c    |  6 +++
 drivers/net/ipa/ipa_clock.h    |  8 ++++
 drivers/net/ipa/ipa_endpoint.c | 78 +++++++++++++++++++---------------
 3 files changed, 57 insertions(+), 35 deletions(-)

-- 
2.25.1

Comments

David Miller July 3, 2020, 9:37 p.m. UTC | #1
From: Alex Elder <elder@linaro.org>

Date: Fri,  3 Jul 2020 16:23:33 -0500

> The function ipa_reg_init_hol_block_timer_val() generates the value

> to write into the HOL_BLOCK_TIMER endpoint configuration register,

> to represent a given timeout value (in microseconds).  It only

> supports a timer value of 0 though, in part because that's

> sufficient, but mainly because there was some confusion about

> how the register is formatted in newer hardware.

> 

> I got clarification about the register format, so this series fixes 

> ipa_reg_init_hol_block_timer_val() to work for any supported delay

> value.

> 

> The delay is based on the IPA core clock, so determining the value

> to write for a given period requires access to the current core

> clock rate.  So the first patch just creates a new function to

> provide that.


Series applied, thank you.