• Federico Vaga's avatar
    core: add support to interleaving · f48e0d62
    Federico Vaga authored
    If a cset->flags has ZIO_CSET_INTERLEAVE_ONLY or
    ZIO_CSET_CHAN_INTERLEAVE, then ZIO creates an additional channel in
    the cset: the interleaved channel.  As for normal channels, the
    interleaved channel has 2 char device:
    
    /dev/zio/devname-0-i-ctrl
    /dev/zio/devname-0-i-data
    
    If cset flags include ZIO_CSET_INTERLEAVE_ONLY, ZIO creates only
    interleaved channel char devices. From the sysfs you can
    enable/disable only the interleaved channel; all the other channels
    are always disabled.
    
    If cset flags include ZIO_CSET_CHAN_INTERLEAVE, ZIO creates all char
    devices for normal channels and also for the interleaved channel. By
    default the interleaved channel is disabled. You can enable the
    interleaved channel from sysfs; this choice automatically disable all
    the other channels.
    
    Interleave support is needed for the fmc-adc-100ms-14b-4cha driver.
    Maybe this is not the final approach to interleave, but it is
    working and well-tested, so the time is ripe to have it in master.
    
    Maybe we'll change some details about interleave support, in the
    future.
    Signed-off-by: 's avatarFederico Vaga <federico.vaga@gmail.com>
    Acked-by: Alessandro Rubini's avatarAlessandro Rubini <rubini@gnudd.com>
    f48e0d62
objects.c 36.1 KB