- Jan 10, 2013
-
-
Alessandro Rubini authored
This is the first step of a series of changes aimed at a cleaner and more flexible management of triggers, as well as a really transparent "user" trigger. This commit does the following: - zio_fire_trigger renamed to zio_arm_trigger: the trigger is actually armed by software, and then it fires by hardware. This distinction is especially important for the transparent trigger: when devices have internal timing, the software trigger must arm it immediately (as opposed to the dumb devices, where the software trigger really causes I/O to happen). - ZIO_TI_BUSY renamed to ZIO_TI_ARMED. Also, ZIO_TI_COMPLETING is removed. The new, simplified policy is like this: the trigger is armed by software (the trigger module), but completion is driven by hardware (the device module). There is no need for a COMPLETING flag, because the ARMED flag is only cleared after data_done is over for all channels in the cset. - the cset spinlock is used to protect all changes of the ti flags. - change_current_trigger completely revised and fixed to match new conventions. - trigger->abort now takes "ti" instead of "cset" as argument; it is more natural do do so, and no current trigger implements abort so no harm is done. - the trigger->abort and trigger->change_status methods are now always called while holding the cset spinlock. ZIO core calls abort when changing the current trigger type, to ensure no pending blocks are there. - zio_trigger_abort is renamed to zio_trigger_abort_disable, with an additional argument to state whether the trigger must be atomically disabled after the abort is over. This avoids a race condition on trigger removal. It returns the previous "disabled" bit, to be used when changing a buffer type while preserving trigger status. - minor unrelated improvements in error management in objects.c. - documentation update to match the new locking, and a few typos fixed. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Jan 08, 2013
-
-
Alessandro Rubini authored
The merge-data attribute tells the buffer to try a merge of a newly-stored block with the previous one. When this is possible, the buffer updates the previous block (nsamples, datalen) and releases the new control immediately. This allows saving some memory without breaking the ZIO data model. The feature only makes sense for input, but there is no policy in place to enforce that. When user space reads this new block, it will get attributes (and timestamp) for the first data items, but all available items are returned in this bigger block. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
On load nsamples is 0 and this is wrong. It must be initialized with the value in ti->nsamples. Otherwise if you read the current_control on sturtup you will read 0 instead of the real value Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Dec 01, 2012
-
-
This patch fixes a few typos in the zio manual. Signed-off-by:
Michael Auchter <michael.auchter@gmail.com>
-
- Nov 30, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 29, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
pdftex has the very bad habit of picking png first, so we can't have png images or the pdf version will be horrible. Thus, let's use gif for the html (which is not picked by pdftex) and a .pdf generated by our encapsulated postscript sources. This adds the needed makefile and removes the previous pdf images, which are regenerated in the next commit. We are also adding new images where, including the logo used in the cover. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Parts are still to be written, though. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 26, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 25, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
While the binary control file in sysfs is a neat feature, the interface to binary attributes was different before 2.6.35. This allows compiling with no warnings (and no crashes if the feature is used) by just disabling the attribute at compile time. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 24, 2012
-
-
Alessandro Rubini authored
-
Alessandro Rubini authored
We are getting rid of the "zio-" prefix in all file names. The prefix is needed module names (so all single-file devices triggers and buffers) but not in component files. This simplifies stuff a little for our command lines and tab completion. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Signed-off-by:
Federico Vaga <federico.vaga@gmail.com>
-
Now that both device and trigger/buffer are in objects.c, what was static should return static. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This also removes the ugly __ZIO_INTERNAL__ define we used until now Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Nov 15, 2012
-
-
if user specifies only one file, zio-dump assumes it to be a control file. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
The -n option tells how many blocks to read from the block source. The following example will read 3 blocks from zio-zero, channel 0 ./zio-dump -n 3 /dev/zio/zzero-0000-0-0-* Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
ZIO creates a binary sysfs attribute named "current-control" within each channel. This attribute allows the user to read the current control of any channel. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubinig@gnudd.com>
-
- Nov 11, 2012
-
-
Federico Vaga authored
The patch 896e0664 misses to assign the zattr for the zio extended attributes. This patch also improve comments to avoid similar errors in the future. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubinig@gnudd.com>
-
Alessandro Rubini authored
"more_ctrl" is obsoleted by the TLV approach, and I simply forgot to make this change we agreed about. We have two fields for alarm to avoid endian issues when checking for errors system-wide (i.e., in all ZIO devices, including remote ones). The version remains 1.0 as nobody used the fields in their previous meaning. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Nov 09, 2012
-
-
Alessandro Rubini authored
This changes the control block to version 1.0. It adds a TLV header at the end and renames sockadd_zio to zio_addr (sockaddr_zio must be defined in user space using the dreaded sa_family_t instead of uint16_t). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Now the open() returns -ENODEV at is should. The bug only happens if you are not using udev, though. Original code returned -EBUSY when 0 (== false) was needed. The patch is bigger than that because it simplifies related code. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
This is an incompatible change for buffer authors. We don't think there are any out-of-tree buffers, though. The allocation function must allocate the control by itself, instead of receiving it from outside. The reason why the control was passed doesn't hold any more, and the upcoming PF_ZIO buffer will greatly benefit from this. Also, now alloc_block returns NULL on error, so it can be used directly by the caller (it used to be ERR_PTR). Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-