Example #1
0
int
s3c2410_dma_ctrl(unsigned int channel, enum s3c2410_chan_op op)
{
    struct s3c2410_dma_chan *chan = lookup_dma_channel(channel);

    if (chan == NULL)
        return -EINVAL;

    switch (op) {
    case S3C2410_DMAOP_START:
        return s3c2410_dma_start(chan);

    case S3C2410_DMAOP_STOP:
        return s3c2410_dma_dostop(chan);

    case S3C2410_DMAOP_PAUSE:
    case S3C2410_DMAOP_RESUME:
        return -ENOENT;

    case S3C2410_DMAOP_FLUSH:
        return s3c2410_dma_flush(chan);

    case S3C2410_DMAOP_STARTED:
        return s3c2410_dma_started(chan);

    case S3C2410_DMAOP_TIMEOUT:
        return 0;

    }

    return -ENOENT;      /* unknown, don't bother */
}
Example #2
0
int
s3c2410_dma_ctrl(dmach_t channel, s3c2410_chan_op_t op)
{
	s3c2410_dma_chan_t *chan = &s3c2410_chans[channel];

	check_channel(channel);

	switch (op) {
	case S3C2410_DMAOP_START:
		return s3c2410_dma_start(chan);

	case S3C2410_DMAOP_STOP:
		return s3c2410_dma_dostop(chan);

	case S3C2410_DMAOP_PAUSE:
		return -ENOENT;

	case S3C2410_DMAOP_RESUME:
		return -ENOENT;

	case S3C2410_DMAOP_FLUSH:
		return s3c2410_dma_flush(chan);

	case S3C2410_DMAOP_TIMEOUT:
		return 0;

	}

	return -ENOENT;      /* unknown, don't bother */
}