X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/4dc78b4651f006bf0404c8ec7db85651bcee7c2e..04ac67cc3cac14cd601daacd0592121ec0b84012:/lincan/include/can_queue.h diff --git a/lincan/include/can_queue.h b/lincan/include/can_queue.h index bf9486d..a600b80 100644 --- a/lincan/include/can_queue.h +++ b/lincan/include/can_queue.h @@ -39,7 +39,7 @@ #include "./can_sysdep.h" /** - * struct canque_slot_t - one CAN message slot in the CAN FIFO queue + * struct canque_slot_t - one CAN message slot in the CAN FIFO queue * @next: pointer to the next/younger slot * @slot_flags: space for flags and optional command describing action * associated with slot data @@ -60,9 +60,9 @@ * @fifo_flags: this field holds global flags describing state of the FIFO. * %CAN_FIFOF_ERROR is set when some error condition occurs. * %CAN_FIFOF_ERR2BLOCK defines, that error should lead to the FIFO block state. - * %CAN_FIFOF_BLOCK state blocks insertion of the next messages. - * %CAN_FIFOF_OVERRUN attempt to acquire new slot, when FIFO is full. - * %CAN_FIFOF_FULL indicates FIFO full state. + * %CAN_FIFOF_BLOCK state blocks insertion of the next messages. + * %CAN_FIFOF_OVERRUN attempt to acquire new slot, when FIFO is full. + * %CAN_FIFOF_FULL indicates FIFO full state. * %CAN_FIFOF_EMPTY indicates no allocated slot in the FIFO. * %CAN_FIFOF_DEAD condition indication. Used when FIFO is beeing destroyed. * @error_code: futher description of error condition @@ -74,7 +74,7 @@ * @fifo_lock: the lock to ensure atomicity of slot manipulation operations. * @slotsnr: number of allocated slots * - * This structure represents CAN FIFO queue. It is implemented as + * This structure represents CAN FIFO queue. It is implemented as * a single linked list of slots prepared for processing. The empty slots * are stored in single linked list (@flist). */ @@ -130,7 +130,7 @@ struct canque_fifo_t { /** - * canque_fifo_get_inslot - allocate slot for the input of one CAN message + * canque_fifo_get_inslot - allocate slot for the input of one CAN message * @fifo: pointer to the FIFO structure * @slotp: pointer to location to store pointer to the allocated slot. * @cmd: optional command associated with allocated slot. @@ -322,7 +322,7 @@ struct canchip_t; * @pending_inops: bitmask of pending operations * @pending_outops: bitmask of pending operations * - * This structure represents one direction connection from messages source + * This structure represents one direction connection from messages source * (@inends) to message consumer (@outends) fifo ends hub. The edge contains * &struct canque_fifo_t for message fifo implementation. */ @@ -349,7 +349,7 @@ struct canque_edge_t { * struct canque_ends_t - CAN message delivery subsystem graph vertex (FIFO ends) * @ends_flags: this field holds flags describing state of the ENDS structure. * @active: the array of the lists of active edges directed to the ends structure - * with ready messages. The array is indexed by the edges priorities. + * with ready messages. The array is indexed by the edges priorities. * @idle: the list of the edges directed to the ends structure with empty FIFOs. * @inlist: the list of outgoing edges input sides. * @outlist: the list of all incoming edges output sides. Each of there edges @@ -357,7 +357,7 @@ struct canque_edge_t { * @ends_lock: the lock synchronizing operations between threads accessing * same ends structure. * @notify: pointer to notify procedure. The next state changes are notified. - * %CANQUEUE_NOTIFY_EMPTY (out->in call) - all slots are processed by FIFO out side. + * %CANQUEUE_NOTIFY_EMPTY (out->in call) - all slots are processed by FIFO out side. * %CANQUEUE_NOTIFY_SPACE (out->in call) - full state negated => there is space for new message. * %CANQUEUE_NOTIFY_PROC (in->out call) - empty state negated => out side is requested to process slots. * %CANQUEUE_NOTIFY_NOUSR (both) - notify, that the last user has released the edge usage @@ -517,11 +517,11 @@ unsigned int canque_filtid2internal(unsigned long id, int filtflags) int canque_get_inslot(struct canque_ends_t *qends, struct canque_edge_t **qedgep, struct canque_slot_t **slotp, int cmd); - + int canque_get_inslot4id(struct canque_ends_t *qends, struct canque_edge_t **qedgep, struct canque_slot_t **slotp, int cmd, unsigned long id, int prio); - + int canque_put_inslot(struct canque_ends_t *qends, struct canque_edge_t *qedge, struct canque_slot_t *slot); @@ -541,7 +541,7 @@ int canque_again_outslot(struct canque_ends_t *qends, int canque_set_filt(struct canque_edge_t *qedge, unsigned long filtid, unsigned long filtmask, int flags); - + int canque_flush(struct canque_edge_t *qedge); int canqueue_disconnect_edge(struct canque_edge_t *qedge); @@ -589,7 +589,7 @@ can_spin_irqflags_t canque_edge_lock_both_ends(struct canque_ends_t *inends, str can_spin_lock_irqsave(&outends->ends_lock, flags); if(outends!=inends) can_spin_lock(&inends->ends_lock); } - return flags; + return flags; } static inline @@ -609,11 +609,11 @@ void __canque_edge_decref_body(struct canque_edge_t *edge) int dead_fl=0; struct canque_ends_t *inends=edge->inends; struct canque_ends_t *outends=edge->outends; - + flags=canque_edge_lock_both_ends(inends, outends); if(atomic_dec_and_test(&edge->edge_used)) { dead_fl=!canque_fifo_test_and_set_fl(&edge->fifo,DEAD); - /* Because of former evolution of edge references + /* Because of former evolution of edge references management notify of CANQUEUE_NOTIFY_NOUSR could be moved to canque_edge_do_dead :-) */ } @@ -640,7 +640,7 @@ static inline void canque_edge_decref(struct canque_edge_t *edge) { int x, y; - + x = atomic_read(&edge->edge_used); do{ if(x<=1) @@ -663,7 +663,7 @@ struct canque_edge_t *canque_first_inedge(struct canque_ends_t *qends) can_spin_irqflags_t flags; struct list_head *entry; struct canque_edge_t *edge; - + can_spin_lock_irqsave(&qends->ends_lock, flags); entry=qends->inlist.next; skip_dead: @@ -688,7 +688,7 @@ struct canque_edge_t *canque_next_inedge(struct canque_ends_t *qends, struct can can_spin_irqflags_t flags; struct list_head *entry; struct canque_edge_t *next; - + can_spin_lock_irqsave(&qends->ends_lock, flags); entry=edge->inpeers.next; skip_dead: @@ -716,7 +716,7 @@ struct canque_edge_t *canque_first_outedge(struct canque_ends_t *qends) can_spin_irqflags_t flags; struct list_head *entry; struct canque_edge_t *edge; - + can_spin_lock_irqsave(&qends->ends_lock, flags); entry=qends->outlist.next; skip_dead: @@ -741,7 +741,7 @@ struct canque_edge_t *canque_next_outedge(struct canque_ends_t *qends, struct ca can_spin_irqflags_t flags; struct list_head *entry; struct canque_edge_t *next; - + can_spin_lock_irqsave(&qends->ends_lock, flags); entry=edge->outpeers.next; skip_dead: