Re: sdio: enhance IO_RW_EXTENDED support
From: David Vrabel
Date: Mon Aug 06 2007 - 06:31:58 EST
Pierre Ossman wrote:
> On Tue, 31 Jul 2007 16:36:30 +0100
> David Vrabel <david.vrabel@xxxxxxx> wrote:
>
>> These three patches enhance the support for the SDIO IO_RW_EXTENDED
>> command. The block size of functions is managed and the I/O ops
>> (sdio_readsb() etc) are extended to handle arbitrary lengths of data
>> (by using multiple commands).
>>
>> I've not yet had a chance to test this stuff as I don't (yet) have
>> the time to write a Bluetooth Type-A driver so these are posted as an
>> example of the sort of API I'd expect.
>>
>
> Thanks. These are some nice improvements. I do have one suggestion
> though:
>
> Could we design it so that sdio_io_rw_ext_helper() sets the block size
> itself? That way most drivers wouldn't have to care about that detail
> and the core would be free to choose optimal values.
I would expect the block size to be set once per card, and never be
changed and thus it's not logically a per-transfer operation. We
certainly wouldn't want to change the block size willy-nilly as it's an
expensive operation.
The patch I've presented does put the selection of the block size in the
core (bar one thing which I agree should be removed).
> I suspect that some transactions might require a certain block size.
> But we could satisfy that by stating that any transfer small enough to
> fit into one block will not be split up.
I consider it unlikely that any card would want to do anything other
than always use the largest possible block size.
David
--
David Vrabel, Software Engineer, Drivers group Tel: +44 (0)1223 692562
CSR plc, Churchill House, Cambridge Business Park, Cowley Road, CB4 0WZ
.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/