Lines Matching refs:tsk

87 	struct bcom_task *tsk;
90 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_fec_bd),
92 if (!tsk)
95 tsk->flags = BCOM_FLAGS_NONE;
97 priv = tsk->priv;
101 if (bcom_fec_rx_reset(tsk)) {
102 bcom_task_free(tsk);
106 return tsk;
111 bcom_fec_rx_reset(struct bcom_task *tsk)
113 struct bcom_fec_priv *priv = tsk->priv;
118 bcom_disable_task(tsk->tasknum);
121 var = (struct bcom_fec_rx_var *) bcom_task_var(tsk->tasknum);
122 inc = (struct bcom_fec_rx_inc *) bcom_task_inc(tsk->tasknum);
124 if (bcom_load_image(tsk->tasknum, bcom_fec_rx_task))
128 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]);
130 var->bd_base = tsk->bd_pa;
131 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size);
132 var->bd_start = tsk->bd_pa;
140 tsk->index = 0;
141 tsk->outdex = 0;
143 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size);
146 bcom_set_task_pragma(tsk->tasknum, BCOM_FEC_RX_BD_PRAGMA);
147 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum);
151 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */
158 bcom_fec_rx_release(struct bcom_task *tsk)
161 bcom_task_free(tsk);
189 struct bcom_task *tsk;
192 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_fec_bd),
194 if (!tsk)
197 tsk->flags = BCOM_FLAGS_ENABLE_TASK;
199 priv = tsk->priv;
202 if (bcom_fec_tx_reset(tsk)) {
203 bcom_task_free(tsk);
207 return tsk;
212 bcom_fec_tx_reset(struct bcom_task *tsk)
214 struct bcom_fec_priv *priv = tsk->priv;
219 bcom_disable_task(tsk->tasknum);
222 var = (struct bcom_fec_tx_var *) bcom_task_var(tsk->tasknum);
223 inc = (struct bcom_fec_tx_inc *) bcom_task_inc(tsk->tasknum);
225 if (bcom_load_image(tsk->tasknum, bcom_fec_tx_task))
229 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]);
231 var->DRD = bcom_sram_va2pa(self_modified_drd(tsk->tasknum));
232 var->bd_base = tsk->bd_pa;
233 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size);
234 var->bd_start = tsk->bd_pa;
241 tsk->index = 0;
242 tsk->outdex = 0;
244 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size);
247 bcom_set_task_pragma(tsk->tasknum, BCOM_FEC_TX_BD_PRAGMA);
248 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum);
252 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */
259 bcom_fec_tx_release(struct bcom_task *tsk)
262 bcom_task_free(tsk);