tidaw
struct tidaw *tcw_add_tidaw(struct tcw *tcw, int num_tidaws, u8 flags,
struct tidaw *itcw_add_tidaw(struct itcw *itcw, u8 flags, void *addr,
struct tidaw *last_tidaw = NULL;
struct tidaw *last_tidaw = NULL;
static u32 calc_cbc_size(struct tidaw *tidaw, int num)
if (tidaw[i].flags & TIDAW_FLAGS_LAST)
data_count += tidaw[i].count;
if (tidaw[i].flags & TIDAW_FLAGS_INSERT_CBC) {
struct tidaw *tidaw;
tidaw = tcw_get_data(tcw);
tidaw[num_tidaws - 1].flags |= TIDAW_FLAGS_LAST;
count += calc_cbc_size(tidaw, num_tidaws);
struct tidaw *tcw_add_tidaw(struct tcw *tcw, int num_tidaws, u8 flags,
struct tidaw *tidaw;
tidaw = ((struct tidaw *) tcw_get_data(tcw)) + num_tidaws;
memset(tidaw, 0, sizeof(struct tidaw));
tidaw->flags = flags;
tidaw->count = count;
tidaw->addr = virt_to_dma64(addr);
return tidaw;
/* TIDAL */ max_tidaws * sizeof(struct tidaw);
/* TIDAL */ intrg_max_tidaws * sizeof(struct tidaw);
cross_count = 1 + ((max_tidaws * sizeof(struct tidaw) - 1)
len += cross_count * sizeof(struct tidaw);
cross_count = 1 + ((intrg_max_tidaws * sizeof(struct tidaw) - 1)
len += cross_count * sizeof(struct tidaw);
cross_count = 1 + ((max_tidaws * sizeof(struct tidaw) - 1)
cross_count = 1 + ((intrg_max_tidaws * sizeof(struct tidaw) - 1)
chunk = fit_chunk(&start, end, sizeof(struct tidaw) *
chunk = fit_chunk(&start, end, sizeof(struct tidaw) *
struct tidaw *itcw_add_tidaw(struct itcw *itcw, u8 flags, void *addr, u32 count)
struct tidaw *following;
following = ((struct tidaw *) tcw_get_data(itcw->tcw))