mbox series

[net-next,0/4] net: ipa: IPA v4.5 aggregation and Qtime

Message ID 20201130233712.29113-1-elder@linaro.org (mailing list archive)
Headers show
Series net: ipa: IPA v4.5 aggregation and Qtime | expand

Message

Alex Elder Nov. 30, 2020, 11:37 p.m. UTC
This series updates some IPA register definitions that change in
substantive ways for IPA v4.5.

One register defines parameters used by an endpoint to aggregate
multiple packets into a buffer.  The size and position of most
fields in that register have changed with this new hardware version,
and consequently the function that programs it needs to be done a
bit differently.  The first patch takes care of this.

Second, IPA v4.5 introduces a unified time keeping component to be
used in several places by the IPA hardware.  A main clock divider
provides a fundamental tick rate, and several timestamped features 
now define their granularity based on that.  There is also a set of
"pulse generators" derived from the main tick, and these are used
to implement timers used for aggregation and head-of-line block
avoidance.  The second patch adds IPA register updates to support
Qtime along with its configuration, and the last two patches
configure the timers that use it.

					-Alex

Alex Elder (4):
  net: ipa: update IPA aggregation registers for IPA v4.5
  net: ipa: set up IPA v4.5 Qtime configuration
  net: ipa: use Qtime for IPA v4.5 aggregation time limit
  net: ipa: use Qtime for IPA v4.5 head-of-line time limit

 drivers/net/ipa/ipa_endpoint.c | 174 +++++++++++++++++++++++++--------
 drivers/net/ipa/ipa_main.c     |  67 ++++++++++++-
 drivers/net/ipa/ipa_reg.h      |  68 +++++++++++--
 3 files changed, 260 insertions(+), 49 deletions(-)

Comments

Jakub Kicinski Dec. 2, 2020, 2:16 a.m. UTC | #1
On Mon, 30 Nov 2020 17:37:08 -0600 Alex Elder wrote:
> This series updates some IPA register definitions that change in
> substantive ways for IPA v4.5.
> 
> One register defines parameters used by an endpoint to aggregate
> multiple packets into a buffer.  The size and position of most
> fields in that register have changed with this new hardware version,
> and consequently the function that programs it needs to be done a
> bit differently.  The first patch takes care of this.
> 
> Second, IPA v4.5 introduces a unified time keeping component to be
> used in several places by the IPA hardware.  A main clock divider
> provides a fundamental tick rate, and several timestamped features 
> now define their granularity based on that.  There is also a set of
> "pulse generators" derived from the main tick, and these are used
> to implement timers used for aggregation and head-of-line block
> avoidance.  The second patch adds IPA register updates to support
> Qtime along with its configuration, and the last two patches
> configure the timers that use it.

Applied, thanks!