linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@codeaurora.org>
To: Vladimir Kondratiev <QCA_vkondrat@QCA.qualcomm.com>
Cc: <linux-wireless@vger.kernel.org>, <wil6210@qca.qualcomm.com>
Subject: Re: [PATCH 17/22] wil6210: add advanced interrupt moderation
Date: Wed, 07 Jan 2015 10:12:24 +0200	[thread overview]
Message-ID: <87mw5vt3fb.fsf@kamboji.qca.qualcomm.com> (raw)
In-Reply-To: <1419320844-23989-18-git-send-email-qca_vkondrat@qca.qualcomm.com> (Vladimir Kondratiev's message of "Tue, 23 Dec 2014 09:47:19 +0200")

Vladimir Kondratiev <QCA_vkondrat@QCA.qualcomm.com> writes:

> Add advanced interrupt moderation support available since "Sparrow B0".
> Legacy interrupt moderation used only one counter to moderate tx, rx,
> and misc interrupts.
> Advanced interrupt moderation bypasses misc, and handles separately tx
> and rx interrupts. In addition it has two timers for each interrupt type.
> Max burst duration timer which defines how long to postpone interrupt after
> first event (receive event for rx and tx complete event for tx), and
> interframe timeout which defines how to determine the end of the burst and
> issue interrupt even if the first timer still pending.
> Capabilities flags in wil_priv is set on initialization according to
> HW. The rest of the code checks for advanced interrupt capability bit
> in capabilities flags field.
> Debugfs is split accordingly: "legacy" interrupt moderation remains
> unchanged, new debugs files added for advanced interrupt moderation
> support.
> Module params are aligned to support advanced interrupt moderation
> (tx & rx). When not available (for legacy interrupt moderation) will
> use only rx configuration; Tx configuration will be ignored in this
> case.
>
> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>

[...]

> --- a/drivers/net/wireless/ath/wil6210/main.c
> +++ b/drivers/net/wireless/ath/wil6210/main.c
> @@ -33,10 +33,34 @@ static bool no_fw_load = true;
>  module_param(no_fw_load, bool, S_IRUGO | S_IWUSR);
>  MODULE_PARM_DESC(no_fw_load, " do not download FW, use one in on-card flash.");
>  
> -static unsigned int itr_trsh = WIL6210_ITR_TRSH_DEFAULT;
> +static unsigned int tx_interframe_timeout =
> +		WIL6210_ITR_TX_INTERFRAME_TIMEOUT_DEFAULT;
> +
> +module_param(tx_interframe_timeout, uint, S_IRUGO);
> +MODULE_PARM_DESC(tx_interframe_timeout,
> +		 " Interrupt moderation TX interframe timeout, usecs.");
> +
> +static unsigned int rx_interframe_timeout =
> +		WIL6210_ITR_RX_INTERFRAME_TIMEOUT_DEFAULT;
> +
> +module_param(rx_interframe_timeout, uint, S_IRUGO);
> +MODULE_PARM_DESC(rx_interframe_timeout,
> +		 " Interrupt moderation RX interframe timeout, usecs.");
> +
> +static unsigned int tx_max_burst_duration =
> +		WIL6210_ITR_TX_MAX_BURST_DURATION_DEFAULT;
> +
> +module_param(tx_max_burst_duration, uint, S_IRUGO);
> +MODULE_PARM_DESC(tx_max_burst_duration,
> +		 " Interrupt moderation TX max burst duration, usecs.");
> +
> +static unsigned int rx_max_burst_duration =
> +		WIL6210_ITR_RX_MAX_BURST_DURATION_DEFAULT;
> +
> +module_param(rx_max_burst_duration, uint, S_IRUGO);
> +MODULE_PARM_DESC(rx_max_burst_duration,
> +		 " Interrupt moderation RX max burst duration, usecs.");
>  
> -module_param(itr_trsh, uint, S_IRUGO);
> -MODULE_PARM_DESC(itr_trsh, " Interrupt moderation threshold, usecs.");

The number of module parameters feels a little excessive, especially
when you add one more in the following patch. Is it really necessary for
the user to configure all these? Why can't the driver pick good
defaults?

-- 
Kalle Valo

  reply	other threads:[~2015-01-07  8:12 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-23  7:47 [PATCH 00/22] wil6210 patches Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 01/22] wil6210: ADDBA/DELBA flows Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 02/22] wil6210: simple ADDBA on originator (Tx) side Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 03/22] wil6210: allow to configure ADDBA request Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 04/22] wil6210: improve debugfs for reorder buffer Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 05/22] wil6210: fix disconnect 1 STA in AP Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 06/22] wil6210: improve debugfs for VRING Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 07/22] wil6210: control AMSDU on Tx side of Block Ack Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 08/22] wil6210: delba for responder Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 09/22] wil6210: fix max. MPDU size Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 10/22] wil6210: consider SNAP header in MTU calculations Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 11/22] wil6210: Increase number of associated stations Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 12/22] wil6210: use bitmap API for "status" Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 13/22] wil6210: fix Tx VRING for STA mode Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 14/22] wil6210: rework debugfs for BACK Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 15/22] wil6210: detect HW capabilities Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 16/22] wil6210: use HW capabilities mask in reset Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 17/22] wil6210: add advanced interrupt moderation Vladimir Kondratiev
2015-01-07  8:12   ` Kalle Valo [this message]
2015-01-08 12:24     ` Vladimir Kondratiev
2015-01-15 12:15       ` Kalle Valo
2014-12-23  7:47 ` [PATCH 18/22] wil6210: RX high threshold interrupt configuration Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 19/22] wil6210: fix reordering for MCAST Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 20/22] wil6210: Tx/Rx descriptors documentation Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 21/22] wil6210: workaround for BACK establishment race Vladimir Kondratiev
2014-12-23  7:47 ` [PATCH 22/22] wil6210: relax spinlocks in rx reorder Vladimir Kondratiev
2015-01-15 12:37 ` [PATCH 00/22] wil6210 patches Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mw5vt3fb.fsf@kamboji.qca.qualcomm.com \
    --to=kvalo@codeaurora.org \
    --cc=QCA_vkondrat@QCA.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=wil6210@qca.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).