Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
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