Lines Matching refs:tsk
60 struct bcom_task *tsk;
67 tsk = bcom_task_alloc(queue_len, sizeof(struct bcom_ata_bd), 0);
68 if (!tsk)
71 tsk->flags = BCOM_FLAGS_NONE;
73 bcom_ata_reset_bd(tsk);
75 var = (struct bcom_ata_var *) bcom_task_var(tsk->tasknum);
76 inc = (struct bcom_ata_inc *) bcom_task_inc(tsk->tasknum);
78 if (bcom_load_image(tsk->tasknum, bcom_ata_task)) {
79 bcom_task_free(tsk);
84 offsetof(struct mpc52xx_sdma, tcr[tsk->tasknum]);
85 var->bd_base = tsk->bd_pa;
86 var->bd_last = tsk->bd_pa + ((tsk->num_bd-1) * tsk->bd_size);
87 var->bd_start = tsk->bd_pa;
91 bcom_set_task_pragma(tsk->tasknum, BCOM_ATA_PRAGMA);
92 bcom_set_task_auto_start(tsk->tasknum, tsk->tasknum);
97 out_be32(&bcom_eng->regs->IntPend, 1<<tsk->tasknum); /* Clear ints */
99 return tsk;
103 void bcom_ata_rx_prepare(struct bcom_task *tsk)
107 inc = (struct bcom_ata_inc *) bcom_task_inc(tsk->tasknum);
113 bcom_set_initiator(tsk->tasknum, BCOM_INITIATOR_ATA_RX);
117 void bcom_ata_tx_prepare(struct bcom_task *tsk)
121 inc = (struct bcom_ata_inc *) bcom_task_inc(tsk->tasknum);
127 bcom_set_initiator(tsk->tasknum, BCOM_INITIATOR_ATA_TX);
131 void bcom_ata_reset_bd(struct bcom_task *tsk)
136 memset_io(tsk->bd, 0x00, tsk->num_bd * tsk->bd_size);
138 tsk->index = 0;
139 tsk->outdex = 0;
141 var = (struct bcom_ata_var *) bcom_task_var(tsk->tasknum);
146 void bcom_ata_release(struct bcom_task *tsk)
149 bcom_task_free(tsk);