Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
452af71f
Commit
452af71f
authored
Oct 22, 2007
by
Bryan Wu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Blackfin arch: dma add some API and cleanup bf54x DMA definition
Signed-off-by:
Bryan Wu
<
bryan.wu@analog.com
>
parent
780431e3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
6 deletions
+34
-6
arch/blackfin/kernel/bfin_dma_5xx.c
arch/blackfin/kernel/bfin_dma_5xx.c
+26
-0
arch/blackfin/mach-bf548/dma.c
arch/blackfin/mach-bf548/dma.c
+1
-0
include/asm-blackfin/dma.h
include/asm-blackfin/dma.h
+4
-3
include/asm-blackfin/mach-bf548/defBF549.h
include/asm-blackfin/mach-bf548/defBF549.h
+1
-1
include/asm-blackfin/mach-bf548/defBF54x_base.h
include/asm-blackfin/mach-bf548/defBF54x_base.h
+1
-1
include/asm-blackfin/mach-bf548/dma.h
include/asm-blackfin/mach-bf548/dma.h
+1
-1
No files found.
arch/blackfin/kernel/bfin_dma_5xx.c
View file @
452af71f
...
...
@@ -420,6 +420,32 @@ unsigned short get_dma_curr_ycount(unsigned int channel)
}
EXPORT_SYMBOL
(
get_dma_curr_ycount
);
unsigned
long
get_dma_next_desc_ptr
(
unsigned
int
channel
)
{
BUG_ON
(
!
(
dma_ch
[
channel
].
chan_status
!=
DMA_CHANNEL_FREE
&&
channel
<
MAX_BLACKFIN_DMA_CHANNEL
));
return
dma_ch
[
channel
].
regs
->
next_desc_ptr
;
}
EXPORT_SYMBOL
(
get_dma_next_desc_ptr
);
unsigned
long
get_dma_curr_desc_ptr
(
unsigned
int
channel
)
{
BUG_ON
(
!
(
dma_ch
[
channel
].
chan_status
!=
DMA_CHANNEL_FREE
&&
channel
<
MAX_BLACKFIN_DMA_CHANNEL
));
return
dma_ch
[
channel
].
regs
->
curr_desc_ptr
;
}
unsigned
long
get_dma_curr_addr
(
unsigned
int
channel
)
{
BUG_ON
(
!
(
dma_ch
[
channel
].
chan_status
!=
DMA_CHANNEL_FREE
&&
channel
<
MAX_BLACKFIN_DMA_CHANNEL
));
return
dma_ch
[
channel
].
regs
->
curr_addr_ptr
;
}
EXPORT_SYMBOL
(
get_dma_curr_addr
);
static
void
*
__dma_memcpy
(
void
*
dest
,
const
void
*
src
,
size_t
size
)
{
int
direction
;
/* 1 - address decrease, 0 - address increase */
...
...
arch/blackfin/mach-bf548/dma.c
View file @
452af71f
...
...
@@ -64,6 +64,7 @@
(
struct
dma_register
*
)
MDMA_D3_NEXT_DESC_PTR
,
(
struct
dma_register
*
)
MDMA_S3_NEXT_DESC_PTR
,
};
EXPORT_SYMBOL
(
base_addr
);
int
channel2irq
(
unsigned
int
channel
)
{
...
...
include/asm-blackfin/dma.h
View file @
452af71f
...
...
@@ -109,9 +109,7 @@ struct dma_register {
unsigned
long
curr_desc_ptr
;
/* DMA Current Descriptor Pointer
register */
unsigned
short
curr_addr_ptr_lo
;
/* DMA Current Address Pointer
register */
unsigned
short
curr_addr_ptr_hi
;
/* DMA Current Address Pointer
unsigned
long
curr_addr_ptr
;
/* DMA Current Address Pointer
register */
unsigned
short
irq_status
;
/* DMA irq status register */
unsigned
short
dummy6
;
...
...
@@ -166,6 +164,9 @@ void set_dma_curr_addr(unsigned int channel, unsigned long addr);
unsigned
short
get_dma_curr_irqstat
(
unsigned
int
channel
);
unsigned
short
get_dma_curr_xcount
(
unsigned
int
channel
);
unsigned
short
get_dma_curr_ycount
(
unsigned
int
channel
);
unsigned
long
get_dma_next_desc_ptr
(
unsigned
int
channel
);
unsigned
long
get_dma_curr_desc_ptr
(
unsigned
int
channel
);
unsigned
long
get_dma_curr_addr
(
unsigned
int
channel
);
/* set large DMA mode descriptor */
void
set_dma_sg
(
unsigned
int
channel
,
struct
dmasg
*
sg
,
int
nr_sg
);
...
...
include/asm-blackfin/mach-bf548/defBF549.h
View file @
452af71f
...
...
@@ -1178,7 +1178,7 @@
/* Bit masks for HOST_STATUS */
#define
READY 0x1
/* DMA Ready */
#define
DMA_
READY 0x1
/* DMA Ready */
#define FIFOFULL 0x2
/* FIFO Full */
#define FIFOEMPTY 0x4
/* FIFO Empty */
#define DMA_COMPLETE 0x8
/* DMA Complete */
...
...
include/asm-blackfin/mach-bf548/defBF54x_base.h
View file @
452af71f
...
...
@@ -3303,7 +3303,7 @@
#define MFD 0xf000
/* Multi channel Frame Delay */
#define FSDR 0x80
/* Frame Sync to Data Relationship */
#define
MCMEM
0x10
/* Multi channel Frame Mode Enable */
#define
MCMEN
0x10
/* Multi channel Frame Mode Enable */
#define MCDRXPE 0x8
/* Multi channel DMA Receive Packing */
#define MCDTXPE 0x4
/* Multi channel DMA Transmit Packing */
#define MCCRM 0x3
/* 2X Clock Recovery Mode */
...
...
include/asm-blackfin/mach-bf548/dma.h
View file @
452af71f
...
...
@@ -70,5 +70,5 @@
#define MAX_BLACKFIN_DMA_CHANNEL 32
extern
int
channel2irq
(
unsigned
int
channel
);
extern
struct
dma_register
*
base_addr
[];
extern
struct
dma_register
*
base_addr
[
MAX_BLACKFIN_DMA_CHANNEL
];
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment