- Mar 14, 2012
-
-
If a zio object declares a set of read only attributes and it doesn't need s_op->info_get(), it can avoid the s_op assignment, so zattr_show now checks if s_op is defined before calling it. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
When disabling a trigger, ZIO invokes t_op->abort() to stop acquisition. If the abort function invokes data_done() to return partial blocks, the ZTI_BUSY flag is correctly cleared. But, if the abort function frees all active blocks the flag remains set. With this patch, always clear the ZTI_BUSY flag when the trigger is disabled so it is correct if/when the trigger is re-enabled. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
The bug was evident in zio_change_current_buffer. When you change the buffer, zio registers a new bi, but the old __bi_register() overwrites the current bi in use by the channel; so, when zio tries to unregister the old bi, there is not any reference to it. Now you must assign a bi to a channel after its registration. For simmetry and to prevent future bugs, also ti assignment must be done after __ti_registration(). 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>
-
To fix, set n_std_attr only if some std attributes are defined Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Feb 12, 2012
-
-
Alessandro Rubini authored
When a device has several input or output csets, we usually want a different data-transfer function for each of them. Using a function specific to each cset simplifies things a little. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Feb 10, 2012
-
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Feb 08, 2012
-
-
Federico Vaga authored
ZIO uses the device-level spinlock to protect device registers during access; a buffer or a trigger instance can be assigned to only one device on ZIO and if they are hardware implemented they also live on the same perihperals. So we serialize all the configuration operations on device, trigger and buffer by using zio_device->lock. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Feb 02, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
We will have buffers that use the default operations (the majority) and buffers without file operations for in-kernel activities, like the input subsystem. In the latter case we want the cdev to refuse being openend, so NULL is reserved for that case. Also, add v_op to the buffer, so it can support mmap. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
If you only read one channel, alloc_block commonly fails (with byte-oriented buffers; block-oriented ones fails on store_block). So don't print to the console when it happens. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Feb 01, 2012
-
-
Federico Vaga authored
If a trigger instance is busy, so you cannot change the trigger. You must wait until data_done, or diasable the trigger before. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
It didn't put the buffer type after the switch. Now it does. Moreover some internal change within this function Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
no existing trigger uses the file_operations, and the design evolved towards a pipeline, where there always is a buffer exchanging data with the trigger Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
The flag ZTI_STATUS is now called ZTI_BUSY and we get a spinlock when we change this flag Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Jan 31, 2012
-
-
Alessandro Rubini authored
The argument is a relic of original design and was used incorrectly. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Some of them don't apply any more (we made our choices, or the problem has been addressed and fixed elsewhere). Some do but I reworded them. Some still apply unchanged, and are not touched by this patch. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
Alessandro Rubini authored
Testing /dev/urandom versus zzero-0-1-data (the random device) shows this increases performance by 0.1 usecs per block. We are now just over 0.7 usecs per block on my development PC. This also introduces zio-core.c with generic stuff. We agree that zio-sys will become zio-sysfs over time. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com> Conflicts: Makefile
-
- Jan 30, 2012
-
-
Alessandro Rubini authored
Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Jan 29, 2012
-
-
Alessandro Rubini authored
I always had a hard time understanding ZIO_NAME_OBJ. Since it's only used internally, let it have "LEN" in it's own name. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
-
- Jan 24, 2012
-
-
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
A zio object can be enabled or disabled Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
The instance are created independently, so you can check if apply it or destroy it. Moreover, instances associated to cset and channel can be changed from sysfs 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>
-
ZIO check if the declared attrbutes within a device (zdev, cset, chan) are a valid set of attributes. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
When an attribute change, zio copy the new value to the zio_ctrl_attr within the control structure. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
When a trigger fire it is set to STATUS_ON until data_done(); so, one transfer at time is allowed. 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>
-
Each zio object gets its own spinlock 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>
-
- Jan 05, 2012
-
-
Federico Vaga authored
(input|output)_cset change returned value: * 0 if the acquisition is already done * -EAGAIN if the acquisition will be completed in the future (must use data_done) * Other error code if needed Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
index is the index within the vector of standard or extended attributes flags is used to specify attribute capabilities, currently if is extended or standard Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
zio_cset interface modified. You can define a channel template to apply to all new allocated channels. This replaces the sysfs attribute channel template which is not enough. Channel template includes also the sysfs attributes to apply on each channel Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
- Dec 11, 2011
-
-
Federico Vaga authored
Internal cleanup: no interface change. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
Use correct names for internal consistency. No interface change. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-
Federico Vaga authored
This is a general change that affects triggers and buffers as well. It introduces incompatibilities but the old name was actually a bug. Signed-off-by:
Federico Vaga <federico.vaga@gmail.com> Acked-by:
Alessandro Rubini <rubini@gnudd.com>
-