Lines Matching refs:tsk
56 struct bcom_task *tsk;
63 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_ata_bd), 0);
64 if (!tsk)
67 tsk->flags = BCOM_FLAGS_NONE;
69 bcom_ata_reset_bd(tsk);
71 var = (struct bcom_ata_var *) bcom_task_var(tsk->tasknum);
72 inc = (struct bcom_ata_inc *) bcom_task_inc(tsk->tasknum);
74 if (bcom_load_image(tsk->tasknum, bcom_ata_task)) {
75 bcom_task_free(tsk);
80 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]);
81 var->bd_base = tsk->bd_pa;
82 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size);
83 var->bd_start = tsk->bd_pa;
87 bcom_set_task_pragma(tsk->tasknum, BCOM_ATA_PRAGMA);
88 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum);
93 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */
95 return tsk;
99 void bcom_ata_rx_prepare(struct bcom_task *tsk)
103 inc = (struct bcom_ata_inc *) bcom_task_inc(tsk->tasknum);
109 bcom_set_initiator(tsk->tasknum, BCOM_INITIATOR_ATA_RX);
113 void bcom_ata_tx_prepare(struct bcom_task *tsk)
117 inc = (struct bcom_ata_inc *) bcom_task_inc(tsk->tasknum);
123 bcom_set_initiator(tsk->tasknum, BCOM_INITIATOR_ATA_TX);
127 void bcom_ata_reset_bd(struct bcom_task *tsk)
132 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size);
134 tsk->index = 0;
135 tsk->outdex = 0;
137 var = (struct bcom_ata_var *) bcom_task_var(tsk->tasknum);
142 void bcom_ata_release(struct bcom_task *tsk)
145 bcom_task_free(tsk);