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
cc5e4ce9
Commit
cc5e4ce9
authored
Nov 25, 2008
by
Hiroshi DOYU
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
omap mailbox: convert sequence bit checking to module paramter
Signed-off-by:
Hiroshi DOYU
<
Hiroshi.DOYU@nokia.com
>
parent
f5d125c2
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
19 deletions
+16
-19
arch/arm/plat-omap/mailbox.c
arch/arm/plat-omap/mailbox.c
+16
-19
No files found.
arch/arm/plat-omap/mailbox.c
View file @
cc5e4ce9
...
...
@@ -32,30 +32,34 @@
#include <asm/io.h>
#include <mach/mailbox.h>
static
int
enable_seq_bit
;
module_param
(
enable_seq_bit
,
bool
,
0
);
MODULE_PARM_DESC
(
enable_seq_bit
,
"Enable sequence bit checking."
);
static
struct
omap_mbox
*
mboxes
;
static
DEFINE_RWLOCK
(
mboxes_lock
);
/*
* Mailbox sequence bit API
*/
#if defined(CONFIG_ARCH_OMAP1)
# define MBOX_USE_SEQ_BIT
#elif defined(CONFIG_ARCH_OMAP2)
# define MBOX_USE_SEQ_BIT
#endif
#ifdef MBOX_USE_SEQ_BIT
/* seq_rcv should be initialized with any value other than
* 0 and 1 << 31, to allow either value for the first
* message. */
static
inline
void
mbox_seq_init
(
struct
omap_mbox
*
mbox
)
{
if
(
!
enable_seq_bit
)
return
;
/* any value other than 0 and 1 << 31 */
mbox
->
seq_rcv
=
0xffffffff
;
}
static
inline
void
mbox_seq_toggle
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
*
msg
)
{
if
(
!
enable_seq_bit
)
return
;
/* add seq_snd to msg */
*
msg
=
(
*
msg
&
0x7fffffff
)
|
mbox
->
seq_snd
;
/* flip seq_snd */
...
...
@@ -64,24 +68,17 @@ static inline void mbox_seq_toggle(struct omap_mbox *mbox, mbox_msg_t * msg)
static
inline
int
mbox_seq_test
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
msg
)
{
mbox_msg_t
seq
=
msg
&
(
1
<<
31
);
mbox_msg_t
seq
;
if
(
!
enable_seq_bit
)
return
0
;
seq
=
msg
&
(
1
<<
31
);
if
(
seq
==
mbox
->
seq_rcv
)
return
-
1
;
mbox
->
seq_rcv
=
seq
;
return
0
;
}
#else
static
inline
void
mbox_seq_init
(
struct
omap_mbox
*
mbox
)
{
}
static
inline
void
mbox_seq_toggle
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
*
msg
)
{
}
static
inline
int
mbox_seq_test
(
struct
omap_mbox
*
mbox
,
mbox_msg_t
msg
)
{
return
0
;
}
#endif
/* Mailbox FIFO handle functions */
static
inline
mbox_msg_t
mbox_fifo_read
(
struct
omap_mbox
*
mbox
)
...
...
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