Lines Matching refs:tsk

88 	struct bcom_task *tsk;
91 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_gen_bd),
93 if (!tsk)
96 tsk->flags = BCOM_FLAGS_NONE;
98 priv = tsk->priv;
104 if (bcom_gen_bd_rx_reset(tsk)) {
105 bcom_task_free(tsk);
109 return tsk;
114 bcom_gen_bd_rx_reset(struct bcom_task *tsk)
116 struct bcom_gen_bd_priv *priv = tsk->priv;
121 bcom_disable_task(tsk->tasknum);
124 var = (struct bcom_gen_bd_rx_var *) bcom_task_var(tsk->tasknum);
125 inc = (struct bcom_gen_bd_rx_inc *) bcom_task_inc(tsk->tasknum);
127 if (bcom_load_image(tsk->tasknum, bcom_gen_bd_rx_task))
131 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]);
133 var->bd_base = tsk->bd_pa;
134 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size);
135 var->bd_start = tsk->bd_pa;
142 tsk->index = 0;
143 tsk->outdex = 0;
145 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size);
148 bcom_set_task_pragma(tsk->tasknum, BCOM_GEN_RX_BD_PRAGMA);
149 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum);
152 bcom_set_initiator(tsk->tasknum, priv->initiator);
154 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */
161 bcom_gen_bd_rx_release(struct bcom_task *tsk)
164 bcom_task_free(tsk);
173 struct bcom_task *tsk;
176 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_gen_bd),
178 if (!tsk)
181 tsk->flags = BCOM_FLAGS_NONE;
183 priv = tsk->priv;
188 if (bcom_gen_bd_tx_reset(tsk)) {
189 bcom_task_free(tsk);
193 return tsk;
198 bcom_gen_bd_tx_reset(struct bcom_task *tsk)
200 struct bcom_gen_bd_priv *priv = tsk->priv;
205 bcom_disable_task(tsk->tasknum);
208 var = (struct bcom_gen_bd_tx_var *) bcom_task_var(tsk->tasknum);
209 inc = (struct bcom_gen_bd_tx_inc *) bcom_task_inc(tsk->tasknum);
211 if (bcom_load_image(tsk->tasknum, bcom_gen_bd_tx_task))
215 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]);
217 var->bd_base = tsk->bd_pa;
218 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size);
219 var->bd_start = tsk->bd_pa;
226 tsk->index = 0;
227 tsk->outdex = 0;
229 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size);
232 bcom_set_task_pragma(tsk->tasknum, BCOM_GEN_TX_BD_PRAGMA);
233 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum);
236 bcom_set_initiator(tsk->tasknum, priv->initiator);
238 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */
245 bcom_gen_bd_tx_release(struct bcom_task *tsk)
248 bcom_task_free(tsk);