~ubuntu-branches/debian/experimental/linux-tools/experimental

« back to all changes in this revision

Viewing changes to include/linux/platform_data/dma-s3c24xx.h

  • Committer: Package Import Robot
  • Author(s): Ben Hutchings
  • Date: 2014-02-02 16:57:49 UTC
  • mfrom: (1.1.10) (0.1.21 sid)
  • Revision ID: package-import@ubuntu.com-20140202165749-tw94o9t1t0a8txk6
Tags: 3.13-1~exp2
Merge changes from sid up to 3.12.6-3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * S3C24XX DMA handling
 
3
 *
 
4
 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
 
5
 *
 
6
 * This program is free software; you can redistribute it and/or modify it
 
7
 * under the terms of the GNU General Public License as published by the Free
 
8
 * Software Foundation; either version 2 of the License, or (at your option)
 
9
 * any later version.
 
10
 */
 
11
 
 
12
/* Helper to encode the source selection constraints for early s3c socs. */
 
13
#define S3C24XX_DMA_CHANREQ(src, chan)  ((BIT(3) | src) << chan * 4)
 
14
 
 
15
enum s3c24xx_dma_bus {
 
16
        S3C24XX_DMA_APB,
 
17
        S3C24XX_DMA_AHB,
 
18
};
 
19
 
 
20
/**
 
21
 * @bus: on which bus does the peripheral reside - AHB or APB.
 
22
 * @handshake: is a handshake with the peripheral necessary
 
23
 * @chansel: channel selection information, depending on variant; reqsel for
 
24
 *           s3c2443 and later and channel-selection map for earlier SoCs
 
25
 *           see CHANSEL doc in s3c2443-dma.c
 
26
 */
 
27
struct s3c24xx_dma_channel {
 
28
        enum s3c24xx_dma_bus bus;
 
29
        bool handshake;
 
30
        u16 chansel;
 
31
};
 
32
 
 
33
/**
 
34
 * struct s3c24xx_dma_platdata - platform specific settings
 
35
 * @num_phy_channels: number of physical channels
 
36
 * @channels: array of virtual channel descriptions
 
37
 * @num_channels: number of virtual channels
 
38
 */
 
39
struct s3c24xx_dma_platdata {
 
40
        int num_phy_channels;
 
41
        struct s3c24xx_dma_channel *channels;
 
42
        int num_channels;
 
43
};
 
44
 
 
45
struct dma_chan;
 
46
bool s3c24xx_dma_filter(struct dma_chan *chan, void *param);