urb->interval is ignored in xhci drivers. Instead, the firmware
has an interval counter and transmits data at this interval.
The uframes in-between are zero length packets. In order to be
backward compatible with older kernels which support only USB 2.0
and 1.1 there are two ADC modes in the firmware. The old one which
assumes that the interval is established by the host (urb->interval)
and the new one where the interval value is transmitted to the
firmware.
Signed-off-by: Bernd Porr <mail@berndporr.me.uk>
Signed-off-by: Kyle McMartin <kyle@kernel.org>
There was still the old f2s address in the header. Updated to
my new address.
Signed-off-by: Bernd Porr <mail@berndporr.me.uk>
Signed-off-by: Kyle McMartin <kyle@kernel.org>
In order to prepare the firmware to work with the EHCI driver the
ADC data acquisition is now done by triggering the acquisition with
a start of frame interrupt (SOF) and then the collection of the data
is done via "data ready" interrupts until all data has been received.
Once this has happend then the whole packet is dispatched and at the
next SOF the next packet is dispatched. If there are SOF interrupts
happening during the data acquisiton it is no longer interupted and
only send out the next ISO packet once it has comleted its job.
Also now the USBDUXSIGMA has now plenty of time to deal with other
interrupts between ADC data readouts so that for example the DIO
can now be handled much quicker.
Signed-off-by: Bernd Porr <mail@berndporr.me.uk>
Signed-off-by: Kyle McMartin <kyle@kernel.org>
This adds the missing firmware for usbduxsigma. The
driver is already part of the kernel 3.2. The firware
was submitted with the initial driver submission but
probably got lost when the kernel.org was attacked.
Added usbduxsigma to the list of files in WHENCE
Signed-off-by: Bernd Porr <berndporr@f2s.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>