[patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer

2007-08-07 Thread David Vrabel
-- David Vrabel, Software Engineer, Drivers group Tel: +44 (0)1223 692562 CSR plc, Churchill House, Cambridge Business Park, Cowley Road, CB4 0WZ . sdio: extend sdio_readsb() and friends to handle any length of buffer Extend sdio_readsb(), sdio_writesb(), sdio_memcpy_fromio(), and sdio_memcpy_

Re: [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer

2007-08-07 Thread Pierre Ossman
On Tue, 07 Aug 2007 13:55:12 +0100 David Vrabel <[EMAIL PROTECTED]> wrote: > sdio: extend sdio_readsb() and friends to handle any length of buffer > > Extend sdio_readsb(), sdio_writesb(), sdio_memcpy_fromio(), and > sdio_memcpy_toio() to handle any length of buffer by splitting the > transfer in

Re: [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer

2007-08-07 Thread Pierre Ossman
Here's my proposed compromise. If a driver uses sdio_force_block_size() extensively, it will be like your original version with sdio_set_block_size(). If it doesn't, however, then that is a way to indicate that the driver has no specific requirements (meaning we are free to change things in the fu

Re: [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer

2007-08-08 Thread David Vrabel
Pierre Ossman wrote: > +static int sdio_io_rw_ext_helper(struct sdio_func *func, int write, > + unsigned addr, int incr_addr, u8 *buf, unsigned size) > +{ > + unsigned remainder = size; > + int ret; > + unsigned short blksz; > + struct mmc_host *host = func->card->host; > + > +

Re: [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer

2007-08-08 Thread Pierre Ossman
On Wed, 08 Aug 2007 11:19:33 +0100 David Vrabel <[EMAIL PROTECTED]> 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]. T

Re: [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer

2007-08-08 Thread David Vrabel
Pierre Ossman wrote: > On Wed, 08 Aug 2007 11:19:33 +0100 > David Vrabel <[EMAIL PROTECTED]> 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

Re: [patch 3/4] sdio: extend sdio_readsb() and friends to handle any length of buffer

2007-08-08 Thread Pierre Ossman
On Wed, 08 Aug 2007 14:22:20 +0100 David Vrabel <[EMAIL PROTECTED]> wrote: > > Setting the block size in io_rw_ext_helper() has several drawbacks, > namely: > > 1. Reduces the flexibility of drivers to manage what commands are > performed. 2. A performance penalty on the first transfer. > 3. Gre