static void start_input(DBDMA_channel *ch, int key, uint32_t addr,

                       uint16_t req_count, int is_last)

{

    DBDMA_DPRINTF("start_input\n");



    /* KEY_REGS, KEY_DEVICE and KEY_STREAM

     * are not implemented in the mac-io chip

     */



    if (!addr || key > KEY_STREAM3) {

        kill_channel(ch);

        return;

    }



    ch->io.addr = addr;

    ch->io.len = req_count;

    ch->io.is_last = is_last;

    ch->io.dma_end = dbdma_end;

    ch->io.is_dma_out = 0;

    ch->processing = 1;

    ch->rw(&ch->io);

}

static void start_input(DBDMA_channel *ch, int key, uint32_t addr,

                       uint16_t req_count, int is_last)

{

    DBDMA_DPRINTF("start_input\n");



    







    if (!addr || key > KEY_STREAM3) {

        kill_channel(ch);

        return;

    }



    ch->io.addr = addr;

    ch->io.len = req_count;

    ch->io.is_last = is_last;

    ch->io.dma_end = dbdma_end;

    ch->io.is_dma_out = 0;

    ch->processing = 1;

    ch->rw(&ch->io);

}

static void FUNC_0(DBDMA_channel *VAR_0, int VAR_1, uint32_t VAR_2,

                       uint16_t VAR_3, int VAR_4)

{

    DBDMA_DPRINTF("FUNC_0\n");



    







    if (!VAR_2 || VAR_1 > KEY_STREAM3) {

        kill_channel(VAR_0);

        return;

    }



    VAR_0->io.VAR_2 = VAR_2;

    VAR_0->io.len = VAR_3;

    VAR_0->io.VAR_4 = VAR_4;

    VAR_0->io.dma_end = dbdma_end;

    VAR_0->io.is_dma_out = 0;

    VAR_0->processing = 1;

    VAR_0->rw(&VAR_0->io);

}

static void FUNC_0(DBDMA_channel *VAR_0, int VAR_1, uint32_t VAR_2,
uint16_t VAR_3, int VAR_4)
{ DBDMA_DPRINTF("FUNC_0\n"); if (!VAR_2 || VAR_1 > KEY_STREAM3) { kill_channel(VAR_0); return; } VAR_0->io.VAR_2 = VAR_2; VAR_0->io.len = VAR_3; VAR_0->io.VAR_4 = VAR_4; VAR_0->io.dma_end = dbdma_end; VAR_0->io.is_dma_out = 0; VAR_0->processing = 1; VAR_0->rw(&VAR_0->io); }