- 10 Mar, 2021 40 commits
-
-
Ian Abbott authored
When the Comedi "detach" handler is called, it is possible that an extra A/D conversion (triggered during termination of a Comedi asynchronous command) is still in progress. In that case, the FINISH bit in the Status register will eventually get set and there will be stale data waiting to be read from the A/D Data register. The interrupt handler will also be called if still connected at the time. That should all be mostly harmless, but it would be better to wait for any such conversion to complete and clear any stale data during the "detach". Add a custom "detach" handler `dt2814_detach()` to do that if an interrupt handler has been set up. (There is no need to do it if no interrupt handler was set up because Comedi asynchronous command support is disabled in that case.) Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://lore.kernel.org/r/20210301165757.243065-7-abbotti@mev.co.ukSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ian Abbott authored
The `ntrig` member of the `struct dt2814_private` pointed to by `dev->private` is no longer used as a counter to determine the end of acquisition for a Comedi asynchronous command. The other member `curadscan` is also unused. Remove the allocation of the private data during initialization and remove the definition of `struct dt2814_private` since they are no longer needed. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://lore.kernel.org/r/20210301165757.243065-6-abbotti@mev.co.ukSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ian Abbott authored
The support for asynchronous commands in this driver is currently broken. If interrupts are enabled, the interrupt handler is called at the end of every A/D conversion. A/D conversions could be due to software-triggered conversions resulting from Comedi `INSN_READ` instruction handling, or due to timer-trigger conversions enabled when a Comedi asynchronous command is set up. We only want the interrupt handler to read a sample from the A/D Data register for timer-triggered conversions, but currently it always reads the A/D Data register. Since the A/D Data register is read twice (to read a 12-bit value from an 8-bit register), that probably interferes with the reading for software-triggered conversions. The interrupt handler does not currently do anything with the data, it just ignores it. It should be written to the Comedi buffer if handling an asynchronous command. Other problems are that the driver has no Comedi `cancel` handler to call when the asynchronous command is being stopped manually, and it does not handle "infinite" acquisitions (when the command's `stop_src == TRIG_NONE`) properly. Change the interrupt handler to check the timer enable (ENB) bit to check the asynchronous command is active and return early if not enabled. Also check the error (ERR) and "conversion complete" (FINISH) bits, and return early if neither is set. Then the sample can be read from the A/D Data register to clear the ERR and FINISH bits. If the ERR bit was set, terminate the acquisition with an error, otherwise write the data to the Comedi buffer and check for end of acquisition. Replace the current check for end of acquisition, using the count of completed scans in `scans_done` (updated by calls to `comedi_buf_write_samples()`) when `stop_src == TRIG_COUNT`) and allowing "infinite" acquisitions when `stop_src == TRIG_NONE`. Add a `cancel` handler function `dt2814_ai_cancel()` that will be called when the end of acquisition event is processed and when the acquisition is stopped manually. It turns off the timer enable (ENB) bit in the Control register, leaving the current channel selected. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://lore.kernel.org/r/20210301165757.243065-5-abbotti@mev.co.ukSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ian Abbott authored
The Comedi "attach" handler `dt2814_attach()` writes to the Control register to turn off the timer enable 'ENB' bit, which triggers a conversion. It then sleeps awhile and checks the Status register, returning an error if the ERR bit is set. However, the ERR bit could have been set due to the conversion being triggered while the A/D converter was busy (unlikely) or due to the conversion being triggered before some previous sample had been read from the A/D Data register. Replace the existing code with a call to `dt2814_ai_clear()` which waits for any conversion to finish and then clears any unread data or error condition. A non-zero return value from `dt2814_ai_clear()` indicates a time-out while waiting for the A/D converter to become non-busy. Return an error in that case. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://lore.kernel.org/r/20210301165757.243065-4-abbotti@mev.co.ukSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ian Abbott authored
When the interrupt handler decides the final sample has been acquired, it turns off the timer enable (ENB) bit in the Command register. That triggers another A/D conversion. The interrupt handler currently waits for that to finish and then reads the resulting, unwanted sample. Since the functions for handling Comedi read instructions and for setting up asynchronous commands now call `dt2814_ai_clear()` to wait for and discard any spurious A/D conversion, let's remove that code from the interrupt handler. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://lore.kernel.org/r/20210301165757.243065-3-abbotti@mev.co.ukSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ian Abbott authored
When performing a Comedi read instruction or setting up an asynchronous command on the AI subdevice, clear any stale data on the A/D registers by waiting for the Status register's BUSY bit to clear (if set) and then if the FINISH or ERR bit is set, reading the A/D Data register twice to clear the stale data. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://lore.kernel.org/r/20210301165757.243065-2-abbotti@mev.co.ukSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti Datta authored
The number of output clocks are configurable in the hardware. Currently the driver registers the maximum number of outputs. Fix the same by registering only the outputs that are there. Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Link: https://lore.kernel.org/r/1614172241-17326-8-git-send-email-shubhrajyoti.datta@xilinx.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti Datta authored
Currently the set rate granularity is to integral divisors. Add support for the fractional divisors. Only the first output0 is fractional in the hardware. Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Link: https://lore.kernel.org/r/1614172241-17326-7-git-send-email-shubhrajyoti.datta@xilinx.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti Datta authored
The patch adds support for dynamic reconfiguration of clock output rate. Output clocks are registered as dividers and set rate callback function is used for dynamic reconfiguration. Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Co-developed-by: Chirag Parekh <chirag.parekh@xilinx.com> Link: https://lore.kernel.org/r/1614172241-17326-6-git-send-email-shubhrajyoti.datta@xilinx.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti Datta authored
If there is only one output then allow changing of the parent rate. Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Link: https://lore.kernel.org/r/1614172241-17326-5-git-send-email-shubhrajyoti.datta@xilinx.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti Datta authored
Update the fixed factor clock registration to register the divisors. Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Link: https://lore.kernel.org/r/1614172241-17326-4-git-send-email-shubhrajyoti.datta@xilinx.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti Datta authored
Rename speed-grade to xlnx,speed-grade Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Link: https://lore.kernel.org/r/1614172241-17326-3-git-send-email-shubhrajyoti.datta@xilinx.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Shubhrajyoti Datta authored
Fix the clocking wizard main structure kernel documentation. Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com> Link: https://lore.kernel.org/r/1614172241-17326-2-git-send-email-shubhrajyoti.datta@xilinx.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
This change uses a space instead of tabs between the type and name of each member of the struct. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-14-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdHT1R to bd_ht_1r to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-13-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename RT2RT_HT_Mode to rt2rt_ht_mode to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-12-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdRT2RTLongSlotTime to bd_rt2rt_long_slot_time to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-11-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdRT2RTAggregation to bd_rt2rt_aggregation to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-10-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdBandWidth to bd_bandwidth to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-9-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdHTSpecVer to bd_ht_spec_ver to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-8-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdHTInfoLen to bd_ht_info_len to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-7-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdHTInfoBuf to bd_ht_info_buf to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-6-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdHTCapLen to bd_ht_cap_len to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-5-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdHTCapBuf to bd_ht_cap_buf to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-4-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Rename bdSupportHT to bd_support_ht to silence a checkpatch warning about CamelCase. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-3-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Fix a checkpatch warning about a blank line after an open curly brace. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210220172909.15812-2-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Hassan Shahbazi authored
Fixes 'WARNING: Missing a blank line after declarations' generated by checkpatch.pl script. Signed-off-by: Hassan Shahbazi <h.shahbazi.git@gmail.com> Link: https://lore.kernel.org/r/20210223064227.62631-1-h.shahbazi.git@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Bastien Maureille authored
Fix checkpatch.pl warning regarding space indents and replace it with tabs to comply with kernel coding style. Signed-off-by: Bastien Maureille <bastien.maureille@gmail.com> Link: https://lore.kernel.org/r/20210222181812.268909-1-bastien.maureille@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Simone Serra authored
Fixes checkpatch warning: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Simone Serra <serrazimone@gmail.com> Link: https://lore.kernel.org/r/20210223234102.15784-1-serrazimone@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Amrit Khera authored
This change fixes a checkpatch warning for "Block comments use * on subsequent lines". It removes the unnecessary block comment. Signed-off-by: Amrit Khera <amritkhera98@gmail.com> Link: https://lore.kernel.org/r/20210222101541.2571-1-amritkhera98@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
George Xanthakis authored
This commit fixes a checkpatch warning that references the filename in the the file comments. Signed-off-by: George Xanthakis <kompiouterakias@gmail.com> Link: https://lore.kernel.org/r/20210221170542.45309-1-kompiouterakias@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Fatih Yildirim authored
Removed unused variables. Acked-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Fatih Yildirim <yildirim.fatih@gmail.com> Link: https://lore.kernel.org/r/20210221202855.12442-1-yildirim.fatih@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Rajesh Kumbhakar authored
fixing ERROR: space required before the open parenthesis '(' Signed-off-by: Rajesh Kumbhakar <sssraj.sssraj@gmail.com> Link: https://lore.kernel.org/r/20210221133951.21234-1-sssraj.sssraj@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Nikolay Kyx authored
This patch fixes the following checkpatch.pl warning: WARNING: line length of 124 exceeds 100 columns in file kpc2000_i2c.c Signed-off-by: Nikolay Kyx <knv418@gmail.com> Link: https://lore.kernel.org/r/20210221132246.1154-2-knv418@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Nikolay Kyx authored
This patch fixes the following checkpatch.pl check: CHECK: Alignment should match open parenthesis in files kpc2000_i2c.c kpc2000_spi.c Signed-off-by: Nikolay Kyx <knv418@gmail.com> Link: https://lore.kernel.org/r/20210221132246.1154-1-knv418@gmail.comSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Fixes "Alignment should match open parenthesis" issues reported by checkpatch.pl in the `rtllib_wx.c` file. Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210219233352.2298-1-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
This change uses a space instead of tabs between the type and name of each member of the struct. Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210219231128.27119-8-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Fixes a checkpatch CHECK issue. Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210219231128.27119-7-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Fixes a checkpatch CHECK issue. Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210219231128.27119-6-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
William Durand authored
Fixes a checkpatch CHECK issue. Signed-off-by: William Durand <will+git@drnd.me> Link: https://lore.kernel.org/r/20210219231128.27119-5-will+git@drnd.meSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-