Lines Matching refs:tsk

92 	struct bcom_task *tsk;  in bcom_gen_bd_rx_init()  local
95 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_gen_bd), in bcom_gen_bd_rx_init()
97 if (!tsk) in bcom_gen_bd_rx_init()
100 tsk->flags = BCOM_FLAGS_NONE; in bcom_gen_bd_rx_init()
102 priv = tsk->priv; in bcom_gen_bd_rx_init()
108 if (bcom_gen_bd_rx_reset(tsk)) { in bcom_gen_bd_rx_init()
109 bcom_task_free(tsk); in bcom_gen_bd_rx_init()
113 return tsk; in bcom_gen_bd_rx_init()
118 bcom_gen_bd_rx_reset(struct bcom_task *tsk) in bcom_gen_bd_rx_reset() argument
120 struct bcom_gen_bd_priv *priv = tsk->priv; in bcom_gen_bd_rx_reset()
125 bcom_disable_task(tsk->tasknum); in bcom_gen_bd_rx_reset()
128 var = (struct bcom_gen_bd_rx_var *) bcom_task_var(tsk->tasknum); in bcom_gen_bd_rx_reset()
129 inc = (struct bcom_gen_bd_rx_inc *) bcom_task_inc(tsk->tasknum); in bcom_gen_bd_rx_reset()
131 if (bcom_load_image(tsk->tasknum, bcom_gen_bd_rx_task)) in bcom_gen_bd_rx_reset()
135 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]); in bcom_gen_bd_rx_reset()
137 var->bd_base = tsk->bd_pa; in bcom_gen_bd_rx_reset()
138 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); in bcom_gen_bd_rx_reset()
139 var->bd_start = tsk->bd_pa; in bcom_gen_bd_rx_reset()
146 tsk->index = 0; in bcom_gen_bd_rx_reset()
147 tsk->outdex = 0; in bcom_gen_bd_rx_reset()
149 memset(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size); in bcom_gen_bd_rx_reset()
152 bcom_set_task_pragma(tsk->tasknum, BCOM_GEN_RX_BD_PRAGMA); in bcom_gen_bd_rx_reset()
153 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum); in bcom_gen_bd_rx_reset()
156 bcom_set_initiator(tsk->tasknum, priv->initiator); in bcom_gen_bd_rx_reset()
158 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */ in bcom_gen_bd_rx_reset()
165 bcom_gen_bd_rx_release(struct bcom_task *tsk) in bcom_gen_bd_rx_release() argument
168 bcom_task_free(tsk); in bcom_gen_bd_rx_release()
177 struct bcom_task *tsk; in bcom_gen_bd_tx_init() local
180 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_gen_bd), in bcom_gen_bd_tx_init()
182 if (!tsk) in bcom_gen_bd_tx_init()
185 tsk->flags = BCOM_FLAGS_NONE; in bcom_gen_bd_tx_init()
187 priv = tsk->priv; in bcom_gen_bd_tx_init()
192 if (bcom_gen_bd_tx_reset(tsk)) { in bcom_gen_bd_tx_init()
193 bcom_task_free(tsk); in bcom_gen_bd_tx_init()
197 return tsk; in bcom_gen_bd_tx_init()
202 bcom_gen_bd_tx_reset(struct bcom_task *tsk) in bcom_gen_bd_tx_reset() argument
204 struct bcom_gen_bd_priv *priv = tsk->priv; in bcom_gen_bd_tx_reset()
209 bcom_disable_task(tsk->tasknum); in bcom_gen_bd_tx_reset()
212 var = (struct bcom_gen_bd_tx_var *) bcom_task_var(tsk->tasknum); in bcom_gen_bd_tx_reset()
213 inc = (struct bcom_gen_bd_tx_inc *) bcom_task_inc(tsk->tasknum); in bcom_gen_bd_tx_reset()
215 if (bcom_load_image(tsk->tasknum, bcom_gen_bd_tx_task)) in bcom_gen_bd_tx_reset()
219 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]); in bcom_gen_bd_tx_reset()
221 var->bd_base = tsk->bd_pa; in bcom_gen_bd_tx_reset()
222 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size); in bcom_gen_bd_tx_reset()
223 var->bd_start = tsk->bd_pa; in bcom_gen_bd_tx_reset()
230 tsk->index = 0; in bcom_gen_bd_tx_reset()
231 tsk->outdex = 0; in bcom_gen_bd_tx_reset()
233 memset(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size); in bcom_gen_bd_tx_reset()
236 bcom_set_task_pragma(tsk->tasknum, BCOM_GEN_TX_BD_PRAGMA); in bcom_gen_bd_tx_reset()
237 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum); in bcom_gen_bd_tx_reset()
240 bcom_set_initiator(tsk->tasknum, priv->initiator); in bcom_gen_bd_tx_reset()
242 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */ in bcom_gen_bd_tx_reset()
249 bcom_gen_bd_tx_release(struct bcom_task *tsk) in bcom_gen_bd_tx_release() argument
252 bcom_task_free(tsk); in bcom_gen_bd_tx_release()