Lines Matching refs:itcw
58 struct itcw { struct
73 struct tcw *itcw_get_tcw(struct itcw *itcw) in itcw_get_tcw() argument
75 return itcw->tcw; in itcw_get_tcw()
100 len = sizeof(struct itcw); in itcw_calc_size()
178 struct itcw *itcw_init(void *buffer, size_t size, int op, int intrg, in itcw_init()
181 struct itcw *itcw; in itcw_init() local
194 chunk = fit_chunk(&start, end, sizeof(struct itcw), 1, 0); in itcw_init()
197 itcw = chunk; in itcw_init()
203 itcw->max_tidaws = max_tidaws + cross_count; in itcw_init()
208 itcw->intrg_max_tidaws = intrg_max_tidaws + cross_count; in itcw_init()
213 itcw->tcw = chunk; in itcw_init()
214 tcw_init(itcw->tcw, (op == ITCW_OP_READ) ? 1 : 0, in itcw_init()
221 itcw->intrg_tcw = chunk; in itcw_init()
222 tcw_init(itcw->intrg_tcw, 1, 0); in itcw_init()
223 tcw_set_intrg(itcw->tcw, itcw->intrg_tcw); in itcw_init()
228 itcw->max_tidaws, 16, 0); in itcw_init()
231 tcw_set_data(itcw->tcw, chunk, 1); in itcw_init()
236 itcw->intrg_max_tidaws, 16, 0); in itcw_init()
239 tcw_set_data(itcw->intrg_tcw, chunk, 1); in itcw_init()
246 tcw_set_tsb(itcw->tcw, chunk); in itcw_init()
253 tcw_set_tsb(itcw->intrg_tcw, chunk); in itcw_init()
260 tcw_set_tccb(itcw->tcw, chunk); in itcw_init()
267 tcw_set_tccb(itcw->intrg_tcw, chunk); in itcw_init()
270 tcw_finalize(itcw->intrg_tcw, 0); in itcw_init()
272 return itcw; in itcw_init()
293 struct dcw *itcw_add_dcw(struct itcw *itcw, u8 cmd, u8 flags, void *cd, in itcw_add_dcw() argument
296 return tccb_add_dcw(tcw_get_tccb(itcw->tcw), TCCB_MAX_SIZE, cmd, in itcw_add_dcw()
317 struct tidaw *itcw_add_tidaw(struct itcw *itcw, u8 flags, void *addr, u32 count) in itcw_add_tidaw() argument
321 if (itcw->num_tidaws >= itcw->max_tidaws) in itcw_add_tidaw()
328 following = ((struct tidaw *) tcw_get_data(itcw->tcw)) in itcw_add_tidaw()
329 + itcw->num_tidaws + 1; in itcw_add_tidaw()
330 if (itcw->num_tidaws && !((unsigned long) following & ~PAGE_MASK)) { in itcw_add_tidaw()
331 tcw_add_tidaw(itcw->tcw, itcw->num_tidaws++, in itcw_add_tidaw()
333 if (itcw->num_tidaws >= itcw->max_tidaws) in itcw_add_tidaw()
336 return tcw_add_tidaw(itcw->tcw, itcw->num_tidaws++, flags, addr, count); in itcw_add_tidaw()
351 void itcw_set_data(struct itcw *itcw, void *addr, int use_tidal) in itcw_set_data() argument
353 tcw_set_data(itcw->tcw, addr, use_tidal); in itcw_set_data()
366 void itcw_finalize(struct itcw *itcw) in itcw_finalize() argument
368 tcw_finalize(itcw->tcw, itcw->num_tidaws); in itcw_finalize()