1. 22 Oct, 2018 2 commits
  2. 27 Jun, 2018 1 commit
  3. 26 Feb, 2018 2 commits
    • Federico Vaga's avatar
      kernel: reset last trigger on new acquisition · 9120066f
      Federico Vaga authored
      This prevent to get confused about the value of this register.
      Whenever the user starts a new acquisition we reset the
      last triggered register. This guarantee that the value shown comes
      from the last acquisition
      Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
      9120066f
    • Federico Vaga's avatar
      kernel: gateware v5 updates · e3700a3a
      Federico Vaga authored
      The gateware version 5 does not have anymore the selection
      between internal or external trigger. Instead, there is the
      possibility to have more that one trigger source enabled.
      
      Internals:
      - the acquisition metadata now provides a whiterabbit timestamp
        and information about the trigger source that started the acquisition
      
      Registers change:
      - one register to enable/disable all trigger sources
      - one register to set the polarity on all the triggers
      - threshould/hysteresis for each channel
      - delay on the following triggers: ext, channel[1; 4]
      
      Sysfs changes
      - add attributes to configure threshould
      - trigger "enable" will restore the last known enable status
      e3700a3a
  4. 14 Feb, 2018 3 commits
  5. 13 Feb, 2018 2 commits
  6. 09 Feb, 2018 1 commit
  7. 29 Jan, 2018 1 commit
  8. 07 Apr, 2017 2 commits
  9. 21 Sep, 2016 1 commit
  10. 21 Apr, 2016 5 commits
  11. 16 Feb, 2015 1 commit
  12. 08 Jan, 2015 1 commit
  13. 07 Jul, 2014 1 commit
  14. 03 Jun, 2014 1 commit
  15. 22 May, 2014 1 commit
  16. 21 May, 2014 1 commit
  17. 14 May, 2014 3 commits
  18. 11 May, 2014 1 commit
    • Federico Vaga's avatar
      kernel: fix post-sample=1 acquisition · 33cfe823
      Federico Vaga authored
      The ADC start an acquisition only if post-samples > 0. So the acquired
      samples are always greater or equal 2. The driver previously tried to
      fix this by descrease the number of required post-samples directly in
      the hardware. But on user request of post-samples=1 this means request
      post-samples=0 to the ADC: so, it will not work.
      
      This patch leave unchanged the logic of the ADC and remove the extra
      samples directly from the acquired buffer.
      
      We are aware that this will waste 10ns of acquisition, but the software
      implementation to handle this issue is more expensive
      Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
      33cfe823
  19. 30 Apr, 2014 4 commits
  20. 23 Apr, 2014 1 commit
    • Michel Arruat's avatar
      adc_driver: channel signal transmisson delay conpensation · e3dc8d57
      Michel Arruat authored
      Trigger and channel signals are not going through the
      same path on the board and trigger is faster.
      Trying to sample the trigger itself by connecting
      it to a channel, one can see a delay of 20ns between trigger and
      its sampling. The compensation is done by delaying the trigger by 2
      sample tick (2*10ns)
      e3dc8d57
  21. 16 Apr, 2014 1 commit
  22. 15 Apr, 2014 1 commit
  23. 07 Apr, 2014 3 commits
    • Michel Arruat's avatar
      adc driver: create specific workqueue to execute DMA. · d313407c
      Michel Arruat authored
      Application using the ADC driver may run with real-time scheduling and
      high priority.
      The default shared queue is running with non real-time scheduling
      policy.
      ADC crates its own workqueue, that one can adjust in terms
      of scheduling policy to fulfill application's real-time constraints.
      d313407c
    • Michel Arruat's avatar
      driver: major rewrite, with carrier dma-ops and other things · 1598de1a
      Michel Arruat authored
      This is a major change, work of Michel Arruat, then re-committed as a
      single commit by Alessandro.  The original development happened mainly
      on the SVEC carrier, and support for SPEC (PCI) was added back at a
      later time.  I (Alessandro) chose to pick individual changes one at
      a time, for better documentation and later "git blame", up to this point.
      
      Now, this is a big commit that completely changes the driver,
      mainly in the following places:
      
        - split carrier-specific from generic code, like the TDC driver is now
          (this is mainly the dma-specific and irq-specific code)
        - use of SDB to get base addresses (with new fmc-util file)
        - use the VIC core to manage interrupts, relying on carrier support
        - change the field-desc table for the better
        - add carrier-specific init, reset, exit
        - split irq and adc-specific stuff out of zio-drv.c
        - DMA data and interrupt is now different: the timestamp is at end-of-data,
          thus we don't have the "trigger-happened" interrupt any more
        - use a work queue for interrupt management, instead of a tasklet, this
          allows sleeping, which is needed by this code base
      Signed-off-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
      1598de1a
    • Alessandro Rubini's avatar