On Wed, 2013-02-27 at 12:52 +0000, Ian Abbott wrote: > Commit 4c4bc25d0fa6beaf054c0b4c3b324487f266c820 upstream. > > Tuomas <tvainikk _at_ gmail _dot_ com> reported problems getting > meaningful output from a Lab-PC+ in differential mode for AI cmds, but > AI insn reads gave correct readings. He tracked it down to two > problems, one of which is addressed by this patch. > > It seems the setting of the channel bits for particular scanning modes > was incorrect for differential mode. (Only half the number of channels > are available in differential mode; comedi refers to them as channels 0, > 1, 2 and 3, but the hardware documentation refers to them as channels 0, > 2, 4 and 6.) In differential mode, the setting of the channel enable > bits in the command1 register should depend on whether the scan enable > bit is set. Effectively, we need to double the comedi channel number > when the scan enable bit is not set in differential mode. The scan > enable bit gets set when the AI scan mode is `MODE_MULT_CHAN_UP` or > `MODE_MULT_CHAN_DOWN`, and gets cleared when the AI scan mode is > `MODE_SINGLE_CHAN` or `MODE_SINGLE_CHAN_INTERVAL`. The existing test > for whether the comedi channel number needs to be doubled in > differential mode is incorrect in `labpc_ai_cmd()`. This patch corrects > the test. > > Thanks to Tuomas for suggesting the fix. > > Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> > --- > Applies to stable/longterm kernels 3.0.x to 3.6.x inclusive. [...] I've queued up both of these for 3.2, thanks. Ben. -- Ben Hutchings Computers are not intelligent. They only think they are.
Attachment:
signature.asc
Description: This is a digitally signed message part