mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Pierre Ossman <drzeus-list@drzeus.cx>
To: David Vrabel <david.vrabel@csr.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer
Date: Wed, 8 Aug 2007 12:37:59 +0200	[thread overview]
Message-ID: <20070808123759.26a74b2a@poseidon.drzeus.cx> (raw)
In-Reply-To: <46B998B5.9040203@csr.com>

On Wed, 08 Aug 2007 11:19:33 +0100
David Vrabel <david.vrabel@csr.com> wrote:

> 
> We need to know the block size in use /before/ the start of the
> transfer as we would like drivers to be able to perform transfers
> with single commands as this can result in significantly better
> performance[1].  The drivers for our (CSR's) WiFi chips should do
> this.  This isn't some (as you suggested in a previous post) 'rare'
> requirement.
> 

Well, there are more ways that can be achieved.

First, the driver could lock down the block size using
sdio_force_block_size(). Then it knows what it gets.

Second, we could try to make it possible for the driver to indicate
"feel free to pad this transfer". Then we could also remove the need
for drivers to mess with buffers and keep such stuff in the core. We
could even magically remove a memcpy() by setting up two sg entries,
one for the data and one for the padding.

> 
> [1] Consider a chip with a block size of 64 that regularly does short
> transfers of between 64 - 128 bytes.  Without padding, this would
> require two commands per transfer instead of just one, cutting
> performance by 50%!  This scenario could be a WiFi chip doing VoIP.

Provided block size < 128. Otherwise it'll jump straight to the byte
transfer.

-- 
     -- Pierre Ossman

  Linux kernel, MMC maintainer        http://www.kernel.org
  PulseAudio, core developer          http://pulseaudio.org
  rdesktop, core developer          http://www.rdesktop.org

  reply	other threads:[~2007-08-08 10:38 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-31 15:36 sdio: enhance IO_RW_EXTENDED support David Vrabel
2007-07-31 15:36 ` sdio: parameterize SDIO FBR register defines David Vrabel
2007-08-04 13:26   ` Pierre Ossman
2007-08-06 10:14     ` David Vrabel
2007-08-06 14:58       ` Pierre Ossman
2007-07-31 15:36 ` sdio: set the functions' block size David Vrabel
2007-08-04 13:30   ` Pierre Ossman
2007-08-06 10:04     ` David Vrabel
2007-07-31 15:36 ` sdio: extend sdio_readsb() and friends to handle any length of buffer David Vrabel
2007-08-04 13:35   ` Pierre Ossman
2007-08-04 13:23 ` sdio: enhance IO_RW_EXTENDED support Pierre Ossman
2007-08-06 10:31   ` David Vrabel
2007-08-06 15:12     ` Pierre Ossman
2007-08-06 15:32       ` David Vrabel
2007-08-06 18:06         ` Pierre Ossman
2007-08-06 20:01         ` Pierre Ossman
2007-08-07 12:51           ` David Vrabel
2007-08-07 12:53             ` [patch 1/4] sdio: parameterize SDIO FBR register defines David Vrabel
2007-08-07 12:54             ` [patch 2/4] sdio: set the functions' block size David Vrabel
2007-08-07 13:38               ` Pierre Ossman
2007-08-07 17:20                 ` David Vrabel
2007-08-07 17:54                   ` Pierre Ossman
2007-08-08  9:46                     ` David Vrabel
2007-08-08 10:06                       ` Pierre Ossman
2007-08-08 10:19                         ` David Vrabel
2007-08-07 12:55             ` [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer David Vrabel
2007-08-07 13:42               ` Pierre Ossman
2007-08-07 20:17               ` Pierre Ossman
2007-08-08 10:19                 ` David Vrabel
2007-08-08 10:37                   ` Pierre Ossman [this message]
2007-08-08 13:22                     ` David Vrabel
2007-08-08 13:23                       ` [patch 1/3] sdio: add SDIO_FBR_BASE(f) macro David Vrabel
2007-08-08 13:23                       ` [patch 2/3] sdio: set the functions' block size David Vrabel
2007-08-08 13:24                       ` [patch 3/3] sdio: extend sdio_readsb() and friends to handle any length of buffer David Vrabel
2007-08-08 16:55                       ` [patch 3/4] " Pierre Ossman
2007-08-07 12:55             ` [patch 4/4] sdio: disable CD resistor David Vrabel
2007-08-07 13:43               ` Pierre Ossman
2007-08-07 14:46                 ` David Vrabel
2007-08-07 15:08                   ` Pierre Ossman
2007-08-07 13:33             ` sdio: enhance IO_RW_EXTENDED support Pierre Ossman

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=20070808123759.26a74b2a@poseidon.drzeus.cx \
    --to=drzeus-list@drzeus.cx \
    --cc=david.vrabel@csr.com \
    --cc=linux-kernel@vger.kernel.org \
    /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

Powered by JetHome