Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
dmac.h File Reference
#include <linux/io.h>
#include <variant/hardware.h>

Go to the source code of this file.

Data Structures

struct  s6dmac_ctrl
 

Macros

#define S6_DMA_INTSTAT0   0x000
 
#define S6_DMA_INTSTAT1   0x004
 
#define S6_DMA_INTENABLE0   0x008
 
#define S6_DMA_INTENABLE1   0x00C
 
#define S6_DMA_INTRAW0   0x010
 
#define S6_DMA_INTRAW1   0x014
 
#define S6_DMA_INTCLEAR0   0x018
 
#define S6_DMA_INTCLEAR1   0x01C
 
#define S6_DMA_INTSET0   0x020
 
#define S6_DMA_INTSET1   0x024
 
#define S6_DMA_INT0_UNDER   0
 
#define S6_DMA_INT0_OVER   16
 
#define S6_DMA_INT1_CHANNEL   0
 
#define S6_DMA_INT1_MASTER   16
 
#define S6_DMA_INT1_MASTER_MASK   7
 
#define S6_DMA_TERMCNTIRQSTAT   0x028
 
#define S6_DMA_TERMCNTIRQCLR   0x02C
 
#define S6_DMA_TERMCNTIRQSET   0x030
 
#define S6_DMA_PENDCNTIRQSTAT   0x034
 
#define S6_DMA_PENDCNTIRQCLR   0x038
 
#define S6_DMA_PENDCNTIRQSET   0x03C
 
#define S6_DMA_LOWWMRKIRQSTAT   0x040
 
#define S6_DMA_LOWWMRKIRQCLR   0x044
 
#define S6_DMA_LOWWMRKIRQSET   0x048
 
#define S6_DMA_MASTERERRINFO   0x04C
 
#define S6_DMA_MASTERERR_CHAN(n)   (4*(n))
 
#define S6_DMA_MASTERERR_CHAN_MASK   0xF
 
#define S6_DMA_DESCRFIFO0   0x050
 
#define S6_DMA_DESCRFIFO1   0x054
 
#define S6_DMA_DESCRFIFO2   0x058
 
#define S6_DMA_DESCRFIFO2_AUTODISABLE   24
 
#define S6_DMA_DESCRFIFO3   0x05C
 
#define S6_DMA_MASTER0START   0x060
 
#define S6_DMA_MASTER0END   0x064
 
#define S6_DMA_MASTER1START   0x068
 
#define S6_DMA_MASTER1END   0x06C
 
#define S6_DMA_NEXTFREE   0x070
 
#define S6_DMA_NEXTFREE_CHAN   0
 
#define S6_DMA_NEXTFREE_CHAN_MASK   0x1F
 
#define S6_DMA_NEXTFREE_ENA   16
 
#define S6_DMA_NEXTFREE_ENA_MASK   ((1 << 16) - 1)
 
#define S6_DMA_DPORTCTRLGRP(p)   ((p) * 4 + 0x074)
 
#define S6_DMA_DPORTCTRLGRP_FRAMEREP   0
 
#define S6_DMA_DPORTCTRLGRP_NRCHANS   1
 
#define S6_DMA_DPORTCTRLGRP_NRCHANS_1   0
 
#define S6_DMA_DPORTCTRLGRP_NRCHANS_3   1
 
#define S6_DMA_DPORTCTRLGRP_NRCHANS_4   2
 
#define S6_DMA_DPORTCTRLGRP_NRCHANS_2   3
 
#define S6_DMA_DPORTCTRLGRP_ENA   31
 
#define DMA_CHNL(dmac, n)   ((dmac) + 0x1000 + (n) * 0x100)
 
#define DMA_INDEX_CHNL(addr)   (((addr) >> 8) & 0xF)
 
#define DMA_MASK_DMAC(addr)   ((addr) & 0xFFFF0000)
 
#define S6_DMA_CHNCTRL   0x000
 
#define S6_DMA_CHNCTRL_ENABLE   0
 
#define S6_DMA_CHNCTRL_PAUSE   1
 
#define S6_DMA_CHNCTRL_PRIO   2
 
#define S6_DMA_CHNCTRL_PRIO_MASK   3
 
#define S6_DMA_CHNCTRL_PERIPHXFER   4
 
#define S6_DMA_CHNCTRL_PERIPHENA   5
 
#define S6_DMA_CHNCTRL_SRCINC   6
 
#define S6_DMA_CHNCTRL_DSTINC   7
 
#define S6_DMA_CHNCTRL_BURSTLOG   8
 
#define S6_DMA_CHNCTRL_BURSTLOG_MASK   7
 
#define S6_DMA_CHNCTRL_DESCFIFODEPTH   12
 
#define S6_DMA_CHNCTRL_DESCFIFODEPTH_MASK   0x1F
 
#define S6_DMA_CHNCTRL_DESCFIFOFULL   17
 
#define S6_DMA_CHNCTRL_BWCONSEL   18
 
#define S6_DMA_CHNCTRL_BWCONENA   19
 
#define S6_DMA_CHNCTRL_PENDGCNTSTAT   20
 
#define S6_DMA_CHNCTRL_PENDGCNTSTAT_MASK   0x3F
 
#define S6_DMA_CHNCTRL_LOWWMARK   26
 
#define S6_DMA_CHNCTRL_LOWWMARK_MASK   0xF
 
#define S6_DMA_CHNCTRL_TSTAMP   30
 
#define S6_DMA_TERMCNTNB   0x004
 
#define S6_DMA_TERMCNTNB_MASK   0xFFFF
 
#define S6_DMA_TERMCNTTMO   0x008
 
#define S6_DMA_TERMCNTSTAT   0x00C
 
#define S6_DMA_TERMCNTSTAT_MASK   0xFF
 
#define S6_DMA_CMONCHUNK   0x010
 
#define S6_DMA_SRCSKIP   0x014
 
#define S6_DMA_DSTSKIP   0x018
 
#define S6_DMA_CUR_SRC   0x024
 
#define S6_DMA_CUR_DST   0x028
 
#define S6_DMA_TIMESTAMP   0x030
 
#define S6_DPDMA_CHAN(stream, channel)   (4 * (stream) + (channel))
 
#define S6_DPDMA_NB   16
 
#define S6_HIFDMA_GMACTX   0
 
#define S6_HIFDMA_GMACRX   1
 
#define S6_HIFDMA_I2S0   2
 
#define S6_HIFDMA_I2S1   3
 
#define S6_HIFDMA_EGIB   4
 
#define S6_HIFDMA_PCITX   5
 
#define S6_HIFDMA_PCIRX   6
 
#define S6_HIFDMA_NB   7
 
#define S6_NIDMA_NB   4
 
#define S6_LMSDMA_NB   12
 
#define S6_DMAC_NB   4
 
#define S6_DMAC_INDEX(dmac)   (((unsigned)(dmac) >> 18) % S6_DMAC_NB)
 

Functions

void s6dmac_put_fifo_cache (u32 dmac, int chan, u32 src, u32 dst, u32 size)
 
void s6dmac_disable_error_irqs (u32 dmac, u32 mask)
 
u32 s6dmac_int_sources (u32 dmac, u32 channel)
 
void s6dmac_release_chan (u32 dmac, int chan)
 

Variables

struct s6dmac_ctrl s6dmac_ctrl [S6_DMAC_NB]
 

Macro Definition Documentation

#define DMA_CHNL (   dmac,
  n 
)    ((dmac) + 0x1000 + (n) * 0x100)

Definition at line 75 of file dmac.h.

#define DMA_INDEX_CHNL (   addr)    (((addr) >> 8) & 0xF)

Definition at line 76 of file dmac.h.

#define DMA_MASK_DMAC (   addr)    ((addr) & 0xFFFF0000)

Definition at line 77 of file dmac.h.

#define S6_DMA_CHNCTRL   0x000

Definition at line 78 of file dmac.h.

#define S6_DMA_CHNCTRL_BURSTLOG   8

Definition at line 87 of file dmac.h.

#define S6_DMA_CHNCTRL_BURSTLOG_MASK   7

Definition at line 88 of file dmac.h.

#define S6_DMA_CHNCTRL_BWCONENA   19

Definition at line 93 of file dmac.h.

#define S6_DMA_CHNCTRL_BWCONSEL   18

Definition at line 92 of file dmac.h.

#define S6_DMA_CHNCTRL_DESCFIFODEPTH   12

Definition at line 89 of file dmac.h.

#define S6_DMA_CHNCTRL_DESCFIFODEPTH_MASK   0x1F

Definition at line 90 of file dmac.h.

#define S6_DMA_CHNCTRL_DESCFIFOFULL   17

Definition at line 91 of file dmac.h.

#define S6_DMA_CHNCTRL_DSTINC   7

Definition at line 86 of file dmac.h.

#define S6_DMA_CHNCTRL_ENABLE   0

Definition at line 79 of file dmac.h.

#define S6_DMA_CHNCTRL_LOWWMARK   26

Definition at line 96 of file dmac.h.

#define S6_DMA_CHNCTRL_LOWWMARK_MASK   0xF

Definition at line 97 of file dmac.h.

#define S6_DMA_CHNCTRL_PAUSE   1

Definition at line 80 of file dmac.h.

#define S6_DMA_CHNCTRL_PENDGCNTSTAT   20

Definition at line 94 of file dmac.h.

#define S6_DMA_CHNCTRL_PENDGCNTSTAT_MASK   0x3F

Definition at line 95 of file dmac.h.

#define S6_DMA_CHNCTRL_PERIPHENA   5

Definition at line 84 of file dmac.h.

#define S6_DMA_CHNCTRL_PERIPHXFER   4

Definition at line 83 of file dmac.h.

#define S6_DMA_CHNCTRL_PRIO   2

Definition at line 81 of file dmac.h.

#define S6_DMA_CHNCTRL_PRIO_MASK   3

Definition at line 82 of file dmac.h.

#define S6_DMA_CHNCTRL_SRCINC   6

Definition at line 85 of file dmac.h.

#define S6_DMA_CHNCTRL_TSTAMP   30

Definition at line 98 of file dmac.h.

#define S6_DMA_CMONCHUNK   0x010

Definition at line 104 of file dmac.h.

#define S6_DMA_CUR_DST   0x028

Definition at line 108 of file dmac.h.

#define S6_DMA_CUR_SRC   0x024

Definition at line 107 of file dmac.h.

#define S6_DMA_DESCRFIFO0   0x050

Definition at line 49 of file dmac.h.

#define S6_DMA_DESCRFIFO1   0x054

Definition at line 50 of file dmac.h.

#define S6_DMA_DESCRFIFO2   0x058

Definition at line 51 of file dmac.h.

#define S6_DMA_DESCRFIFO2_AUTODISABLE   24

Definition at line 52 of file dmac.h.

#define S6_DMA_DESCRFIFO3   0x05C

Definition at line 53 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP (   p)    ((p) * 4 + 0x074)

Definition at line 63 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP_ENA   31

Definition at line 70 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP_FRAMEREP   0

Definition at line 64 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP_NRCHANS   1

Definition at line 65 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP_NRCHANS_1   0

Definition at line 66 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP_NRCHANS_2   3

Definition at line 69 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP_NRCHANS_3   1

Definition at line 67 of file dmac.h.

#define S6_DMA_DPORTCTRLGRP_NRCHANS_4   2

Definition at line 68 of file dmac.h.

#define S6_DMA_DSTSKIP   0x018

Definition at line 106 of file dmac.h.

#define S6_DMA_INT0_OVER   16

Definition at line 33 of file dmac.h.

#define S6_DMA_INT0_UNDER   0

Definition at line 32 of file dmac.h.

#define S6_DMA_INT1_CHANNEL   0

Definition at line 34 of file dmac.h.

#define S6_DMA_INT1_MASTER   16

Definition at line 35 of file dmac.h.

#define S6_DMA_INT1_MASTER_MASK   7

Definition at line 36 of file dmac.h.

#define S6_DMA_INTCLEAR0   0x018

Definition at line 28 of file dmac.h.

#define S6_DMA_INTCLEAR1   0x01C

Definition at line 29 of file dmac.h.

#define S6_DMA_INTENABLE0   0x008

Definition at line 24 of file dmac.h.

#define S6_DMA_INTENABLE1   0x00C

Definition at line 25 of file dmac.h.

#define S6_DMA_INTRAW0   0x010

Definition at line 26 of file dmac.h.

#define S6_DMA_INTRAW1   0x014

Definition at line 27 of file dmac.h.

#define S6_DMA_INTSET0   0x020

Definition at line 30 of file dmac.h.

#define S6_DMA_INTSET1   0x024

Definition at line 31 of file dmac.h.

#define S6_DMA_INTSTAT0   0x000

Definition at line 22 of file dmac.h.

#define S6_DMA_INTSTAT1   0x004

Definition at line 23 of file dmac.h.

#define S6_DMA_LOWWMRKIRQCLR   0x044

Definition at line 44 of file dmac.h.

#define S6_DMA_LOWWMRKIRQSET   0x048

Definition at line 45 of file dmac.h.

#define S6_DMA_LOWWMRKIRQSTAT   0x040

Definition at line 43 of file dmac.h.

#define S6_DMA_MASTER0END   0x064

Definition at line 55 of file dmac.h.

#define S6_DMA_MASTER0START   0x060

Definition at line 54 of file dmac.h.

#define S6_DMA_MASTER1END   0x06C

Definition at line 57 of file dmac.h.

#define S6_DMA_MASTER1START   0x068

Definition at line 56 of file dmac.h.

#define S6_DMA_MASTERERR_CHAN (   n)    (4*(n))

Definition at line 47 of file dmac.h.

#define S6_DMA_MASTERERR_CHAN_MASK   0xF

Definition at line 48 of file dmac.h.

#define S6_DMA_MASTERERRINFO   0x04C

Definition at line 46 of file dmac.h.

#define S6_DMA_NEXTFREE   0x070

Definition at line 58 of file dmac.h.

#define S6_DMA_NEXTFREE_CHAN   0

Definition at line 59 of file dmac.h.

#define S6_DMA_NEXTFREE_CHAN_MASK   0x1F

Definition at line 60 of file dmac.h.

#define S6_DMA_NEXTFREE_ENA   16

Definition at line 61 of file dmac.h.

#define S6_DMA_NEXTFREE_ENA_MASK   ((1 << 16) - 1)

Definition at line 62 of file dmac.h.

#define S6_DMA_PENDCNTIRQCLR   0x038

Definition at line 41 of file dmac.h.

#define S6_DMA_PENDCNTIRQSET   0x03C

Definition at line 42 of file dmac.h.

#define S6_DMA_PENDCNTIRQSTAT   0x034

Definition at line 40 of file dmac.h.

#define S6_DMA_SRCSKIP   0x014

Definition at line 105 of file dmac.h.

#define S6_DMA_TERMCNTIRQCLR   0x02C

Definition at line 38 of file dmac.h.

#define S6_DMA_TERMCNTIRQSET   0x030

Definition at line 39 of file dmac.h.

#define S6_DMA_TERMCNTIRQSTAT   0x028

Definition at line 37 of file dmac.h.

#define S6_DMA_TERMCNTNB   0x004

Definition at line 99 of file dmac.h.

#define S6_DMA_TERMCNTNB_MASK   0xFFFF

Definition at line 100 of file dmac.h.

#define S6_DMA_TERMCNTSTAT   0x00C

Definition at line 102 of file dmac.h.

#define S6_DMA_TERMCNTSTAT_MASK   0xFF

Definition at line 103 of file dmac.h.

#define S6_DMA_TERMCNTTMO   0x008

Definition at line 101 of file dmac.h.

#define S6_DMA_TIMESTAMP   0x030

Definition at line 109 of file dmac.h.

#define S6_DMAC_INDEX (   dmac)    (((unsigned)(dmac) >> 18) % S6_DMAC_NB)

Definition at line 132 of file dmac.h.

#define S6_DMAC_NB   4

Definition at line 131 of file dmac.h.

#define S6_DPDMA_CHAN (   stream,
  channel 
)    (4 * (stream) + (channel))

Definition at line 113 of file dmac.h.

#define S6_DPDMA_NB   16

Definition at line 114 of file dmac.h.

#define S6_HIFDMA_EGIB   4

Definition at line 120 of file dmac.h.

#define S6_HIFDMA_GMACRX   1

Definition at line 117 of file dmac.h.

#define S6_HIFDMA_GMACTX   0

Definition at line 116 of file dmac.h.

#define S6_HIFDMA_I2S0   2

Definition at line 118 of file dmac.h.

#define S6_HIFDMA_I2S1   3

Definition at line 119 of file dmac.h.

#define S6_HIFDMA_NB   7

Definition at line 123 of file dmac.h.

#define S6_HIFDMA_PCIRX   6

Definition at line 122 of file dmac.h.

#define S6_HIFDMA_PCITX   5

Definition at line 121 of file dmac.h.

#define S6_LMSDMA_NB   12

Definition at line 127 of file dmac.h.

#define S6_NIDMA_NB   4

Definition at line 125 of file dmac.h.

Function Documentation

void s6dmac_disable_error_irqs ( u32  dmac,
u32  mask 
)

Definition at line 74 of file dmac.c.

u32 s6dmac_int_sources ( u32  dmac,
u32  channel 
)

Definition at line 83 of file dmac.c.

void s6dmac_put_fifo_cache ( u32  dmac,
int  chan,
u32  src,
u32  dst,
u32  size 
)

Definition at line 27 of file dmac.c.

void s6dmac_release_chan ( u32  dmac,
int  chan 
)

Definition at line 132 of file dmac.c.

Variable Documentation

Definition at line 22 of file dmac.c.