All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gabor Juhos <juhosg@openwrt.org>
To: Stanislaw Gruszka <sgruszka@redhat.com>
Cc: John Linville <linville@tuxdriver.com>,
	linux-wireless@vger.kernel.org, users@rt2x00.serialmonkey.com
Subject: Re: [PATCH 1/2] rt2x00: convert rt2x00_ops.extra_tx_headroom to be a fuction
Date: Wed, 05 Jun 2013 21:58:10 +0200	[thread overview]
Message-ID: <51AF9852.5020404@openwrt.org> (raw)
In-Reply-To: <20130605125130.GA3367@redhat.com>

2013.06.05. 14:51 keltezéssel, Stanislaw Gruszka írta:
> On Wed, Jun 05, 2013 at 12:53:59PM +0200, Gabor Juhos wrote:
>> The rt2x00_ops structure has a static field to indicate
>> the extra TX headroom size required for a given device.
>> The drawback of this is that we have to use a separate
>> rt2x00_ops structure for each chipset which requires
>> different size.
>>
>> Convert the static field into a callback function.
>> This allows the drivers to dynamically determine the
>> extra TX headroom size based on the actual chipset.
>> Also implement the the callback in the drivers which
>> needs an extra TX headroom, and remove the field
>> initialization from the others.
>>
>> Additionally, introduce a new extra_tx_headroom field
>> in struct rt2x00_dev, initialize its value in the probe
>> routine and use the cached value in the rest of the code.
> 
> Could we rather get rid of that extra_tx_headroom variable and use queue
> parameters: winfo_size and desc_size ?

Yes, it seems that we can compute the value of extra_tx_headrom from those
fields. The driver uses the following values now:

driver/device    desc_size         winfo_size           extra_tx_headroom

rt2400pci        TXD_DESC_SIZE     0                    0
rt2500pci        TXD_DESC_SIZE     0                    0
rt2800pci        TXD_DESC_SIZE     TXWI_DESC_SIZE       TXWI_DESC_SIZE
rt61pci          TXD_DESC_SIZE     0                    0

rt2500usb        TXD_DESC_SIZE     0                    TXD_DESC_SIZE
rt2800usb        TXINFO_DESC_SIZE  TXWI_DESC_SIZE       TXINFO_DESC_SIZE +
TXWI_DESC_SIZE
rt2800usb/RT5592 TXINFO_DESC_SIZE  TXWI_DESC_SIZE_5592  TXINFO_DESC_SIZE +
TXWI_DESC_SIZE_5592
rt73usb          TXD_DESC_SIZE     0                    TXD_DESC_SIZE

On USB devices we can get it from desc_size + winfo_size and on PCI/PCIe/SoC
devices it equals with winfo_size. So the callbacks and the extra_tx_headroom
field in rt2x00_ops can be removed.

However I would keep the new extra_tx_headroom field in rt2x00_dev. It would
ensure that we don't have to compute its value every time it is used.

-Gabor

  reply	other threads:[~2013-06-05 19:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-05 10:53 [PATCH 1/2] rt2x00: convert rt2x00_ops.extra_tx_headroom to be a fuction Gabor Juhos
2013-06-05 10:54 ` [PATCH 2/2] rt2x00: rt2800usb: nuke rt2800usb_ops_5592 Gabor Juhos
2013-06-05 12:51 ` [PATCH 1/2] rt2x00: convert rt2x00_ops.extra_tx_headroom to be a fuction Stanislaw Gruszka
2013-06-05 19:58   ` Gabor Juhos [this message]
2013-06-06 12:36     ` Stanislaw Gruszka

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=51AF9852.5020404@openwrt.org \
    --to=juhosg@openwrt.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=sgruszka@redhat.com \
    --cc=users@rt2x00.serialmonkey.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.