Lines Matching refs:tsk
83 struct bcom_task *tsk; in bcom_fec_rx_init() local
86 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_fec_bd), in bcom_fec_rx_init()
88 if (!tsk) in bcom_fec_rx_init()
91 tsk->flags = BCOM_FLAGS_NONE; in bcom_fec_rx_init()
93 priv = tsk->priv; in bcom_fec_rx_init()
97 if (bcom_fec_rx_reset(tsk)) { in bcom_fec_rx_init()
98 bcom_task_free(tsk); in bcom_fec_rx_init()
102 return tsk; in bcom_fec_rx_init()
107 bcom_fec_rx_reset(struct bcom_task *tsk) in bcom_fec_rx_reset() argument
109 struct bcom_fec_priv *priv = tsk->priv; in bcom_fec_rx_reset()
114 bcom_disable_task(tsk->tasknum); in bcom_fec_rx_reset()
117 var = (struct bcom_fec_rx_var *) bcom_task_var(tsk->tasknum); in bcom_fec_rx_reset()
118 inc = (struct bcom_fec_rx_inc *) bcom_task_inc(tsk->tasknum); in bcom_fec_rx_reset()
120 if (bcom_load_image(tsk->tasknum, bcom_fec_rx_task)) in bcom_fec_rx_reset()
124 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]); in bcom_fec_rx_reset()
126 var->bd_base = tsk->bd_pa; in bcom_fec_rx_reset()
127 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); in bcom_fec_rx_reset()
128 var->bd_start = tsk->bd_pa; in bcom_fec_rx_reset()
136 tsk->index = 0; in bcom_fec_rx_reset()
137 tsk->outdex = 0; in bcom_fec_rx_reset()
139 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size); in bcom_fec_rx_reset()
142 bcom_set_task_pragma(tsk->tasknum, BCOM_FEC_RX_BD_PRAGMA); in bcom_fec_rx_reset()
143 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum); in bcom_fec_rx_reset()
147 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */ in bcom_fec_rx_reset()
154 bcom_fec_rx_release(struct bcom_task *tsk) in bcom_fec_rx_release() argument
157 bcom_task_free(tsk); in bcom_fec_rx_release()
185 struct bcom_task *tsk; in bcom_fec_tx_init() local
188 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_fec_bd), in bcom_fec_tx_init()
190 if (!tsk) in bcom_fec_tx_init()
193 tsk->flags = BCOM_FLAGS_ENABLE_TASK; in bcom_fec_tx_init()
195 priv = tsk->priv; in bcom_fec_tx_init()
198 if (bcom_fec_tx_reset(tsk)) { in bcom_fec_tx_init()
199 bcom_task_free(tsk); in bcom_fec_tx_init()
203 return tsk; in bcom_fec_tx_init()
208 bcom_fec_tx_reset(struct bcom_task *tsk) in bcom_fec_tx_reset() argument
210 struct bcom_fec_priv *priv = tsk->priv; in bcom_fec_tx_reset()
215 bcom_disable_task(tsk->tasknum); in bcom_fec_tx_reset()
218 var = (struct bcom_fec_tx_var *) bcom_task_var(tsk->tasknum); in bcom_fec_tx_reset()
219 inc = (struct bcom_fec_tx_inc *) bcom_task_inc(tsk->tasknum); in bcom_fec_tx_reset()
221 if (bcom_load_image(tsk->tasknum, bcom_fec_tx_task)) in bcom_fec_tx_reset()
225 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]); in bcom_fec_tx_reset()
227 var->DRD = bcom_sram_va2pa(self_modified_drd(tsk->tasknum)); in bcom_fec_tx_reset()
228 var->bd_base = tsk->bd_pa; in bcom_fec_tx_reset()
229 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); in bcom_fec_tx_reset()
230 var->bd_start = tsk->bd_pa; in bcom_fec_tx_reset()
237 tsk->index = 0; in bcom_fec_tx_reset()
238 tsk->outdex = 0; in bcom_fec_tx_reset()
240 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size); in bcom_fec_tx_reset()
243 bcom_set_task_pragma(tsk->tasknum, BCOM_FEC_TX_BD_PRAGMA); in bcom_fec_tx_reset()
244 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum); in bcom_fec_tx_reset()
248 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */ in bcom_fec_tx_reset()
255 bcom_fec_tx_release(struct bcom_task *tsk) in bcom_fec_tx_release() argument
258 bcom_task_free(tsk); in bcom_fec_tx_release()