On Fri, Mar 28, 2014 at 11:05:49AM +0000, Daniel Sobe wrote: > > Hi, > > The patch below addresses 2 improvements: Please follow the patch submission process covered in SubmittingPatches - in particular you need to send patches to the relevant developers as well as the mailing lists, you need to format your changelogs in the standard Linux style (including word wrapping within paragraphs) and you need to follow the kernel coding style. If you only send your patch to the list there's a good chance it'll be missed. > 1) Burstsize of a transfer adjusted up to the maximum burstsize of the hardware --> no unwanted CS toggling between data words > 2) Variable trigger level allows to increase priority for data transfer, enables continuous transfers up to the burstsize. --> remove gaps every 64 words > The original behaviour of the driver is untouched. The additional features can be enabled via sysfs. Why would you ever want /CS toggling between words - such behaviour is just plain buggy? > +// (sysfs-)tunable attributes > +static int allow_big_bursts = 0; // if set to 1 this enables 32-bit big bursts > +static int tx_fifo_thres = -1; // if positive, use TX data request interrupt when applicable These would need to be per device rather than global. It's also not clear to me that we don't want to enable some level of FIFO threashold usage by default, perhaps aiming for something just slightly below the full FIFO so that we minimise the number of extra interrupts but increase throughput on lightly loaded systems - I'm not even sure that making this behaviour tunable is needed.
Attachment:
signature.asc
Description: Digital signature