bd_table
chan->txbds = qmc->bd_table + (chan->id * (QMC_NB_TXBDS + QMC_NB_RXBDS));
chan->rxbds = qmc->bd_table + (chan->id * (QMC_NB_TXBDS + QMC_NB_RXBDS)) + QMC_NB_TXBDS;
qmc->bd_table = dmam_alloc_coherent(qmc->dev, qmc->bd_size,
if (!qmc->bd_table) {
memset(qmc->bd_table, 0, qmc->bd_size);
cbd_t __iomem *bd_table;
struct bd_table **bd_table_array;
bd_table = bd_list->bd_table_array[tbi];
bd = bd_table->start_bd + bdi;
dma = bd_table->dma + (sizeof(struct bdc_bd) * bdi);
struct bd_table *bd_table;
static inline void chain_table(struct bd_table *prev_table,
struct bd_table *next_table,
struct bd_table *prev_table = NULL;
struct bd_table *bd_table;
ep->bd_list.bd_table_array = kzalloc_objs(struct bd_table *, num_tabs,
bd_table = kzalloc_obj(*bd_table, GFP_ATOMIC);
if (!bd_table)
bd_table->start_bd = dma_pool_zalloc(bdc->bd_table_pool,
if (!bd_table->start_bd) {
kfree(bd_table);
bd_table->dma = dma;
index, bd_table->start_bd,
(unsigned long long)bd_table->dma, prev_table);
ep->bd_list.bd_table_array[index] = bd_table;
chain_table(prev_table, bd_table, bd_p_tab);
prev_table = bd_table;
struct bd_table *bd_table;
bd_table = bd_list->bd_table_array[tbi];
dma_first_bd = bd_table->dma;
dma_last_bd = bd_table->dma +
struct bd_table *bd_table;
bd_table = bd_list->bd_table_array[index];
dev_dbg(bdc->dev, "bd_table:%p index:%d\n", bd_table, index);
struct bd_table *table;
if (!bd_table) {
if (!bd_table->start_bd) {
bd_table->start_bd,
(unsigned long long)bd_table->dma);
bd_table->start_bd,
bd_table->dma);
kfree(bd_table);