Lines Matching refs:tsk

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