Commit 205e5d8f authored by Hiroshi DOYU's avatar Hiroshi DOYU Committed by Juha Yrjola

ARM: OMAP: DSPGW: rename mbx -> mbox

Signed-off-by: default avatarHiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: default avatarJuha Yrjola <juha.yrjola@solidboot.com>
parent a44ca244
...@@ -116,10 +116,10 @@ struct mb_exarg { ...@@ -116,10 +116,10 @@ struct mb_exarg {
u16 *argv; u16 *argv;
}; };
extern struct mbx *mbx_dsp; extern struct mbox *mbox_dsp;
extern void dsp_mbx_start(void); extern void dsp_mbox_start(void);
extern void dsp_mbx_stop(void); extern void dsp_mbox_stop(void);
extern int dsp_mbx_config(void *p); extern int dsp_mbox_config(void *p);
extern int sync_with_dsp(u16 *syncwd, u16 tid, int try_cnt); extern int sync_with_dsp(u16 *syncwd, u16 tid, int try_cnt);
extern int __dsp_mbcmd_send_exarg(struct mbcmd *mb, struct mb_exarg *arg, extern int __dsp_mbcmd_send_exarg(struct mbcmd *mb, struct mb_exarg *arg,
int recovery_flag); int recovery_flag);
...@@ -138,11 +138,11 @@ static __inline__ int __mbcompose_send_exarg(u8 cmd_h, u8 cmd_l, u16 data, ...@@ -138,11 +138,11 @@ static __inline__ int __mbcompose_send_exarg(u8 cmd_h, u8 cmd_l, u16 data,
return __dsp_mbcmd_send_exarg(&mb, arg, recovery_flag); return __dsp_mbcmd_send_exarg(&mb, arg, recovery_flag);
} }
#define mbcompose_send(cmd_h, cmd_l, data) \ #define mbcompose_send(cmd_h, cmd_l, data) \
__mbcompose_send_exarg(MBX_CMD_DSP_##cmd_h, (cmd_l), (data), NULL, 0) __mbcompose_send_exarg(MBOX_CMD_DSP_##cmd_h, (cmd_l), (data), NULL, 0)
#define mbcompose_send_exarg(cmd_h, cmd_l, data, arg) \ #define mbcompose_send_exarg(cmd_h, cmd_l, data, arg) \
__mbcompose_send_exarg(MBX_CMD_DSP_##cmd_h, (cmd_l), (data), arg, 0) __mbcompose_send_exarg(MBOX_CMD_DSP_##cmd_h, (cmd_l), (data), arg, 0)
#define mbcompose_send_recovery(cmd_h, cmd_l, data) \ #define mbcompose_send_recovery(cmd_h, cmd_l, data) \
__mbcompose_send_exarg(MBX_CMD_DSP_##cmd_h, (cmd_l), (data), NULL, 1) __mbcompose_send_exarg(MBOX_CMD_DSP_##cmd_h, (cmd_l), (data), NULL, 1)
static __inline__ int __mbcompose_send_and_wait_exarg(u8 cmd_h, u8 cmd_l, static __inline__ int __mbcompose_send_and_wait_exarg(u8 cmd_h, u8 cmd_l,
u16 data, u16 data,
...@@ -153,10 +153,10 @@ static __inline__ int __mbcompose_send_and_wait_exarg(u8 cmd_h, u8 cmd_l, ...@@ -153,10 +153,10 @@ static __inline__ int __mbcompose_send_and_wait_exarg(u8 cmd_h, u8 cmd_l,
return dsp_mbcmd_send_and_wait_exarg(&mb, arg, q); return dsp_mbcmd_send_and_wait_exarg(&mb, arg, q);
} }
#define mbcompose_send_and_wait(cmd_h, cmd_l, data, q) \ #define mbcompose_send_and_wait(cmd_h, cmd_l, data, q) \
__mbcompose_send_and_wait_exarg(MBX_CMD_DSP_##cmd_h, (cmd_l), (data), \ __mbcompose_send_and_wait_exarg(MBOX_CMD_DSP_##cmd_h, (cmd_l), (data), \
NULL, (q)) NULL, (q))
#define mbcompose_send_and_wait_exarg(cmd_h, cmd_l, data, arg, q) \ #define mbcompose_send_and_wait_exarg(cmd_h, cmd_l, data, arg, q) \
__mbcompose_send_and_wait_exarg(MBX_CMD_DSP_##cmd_h, (cmd_l), (data), \ __mbcompose_send_and_wait_exarg(MBOX_CMD_DSP_##cmd_h, (cmd_l), (data), \
(arg), (q)) (arg), (q))
extern struct ipbuf_head *bid_to_ipbuf(u16 bid); extern struct ipbuf_head *bid_to_ipbuf(u16 bid);
...@@ -176,7 +176,7 @@ extern void unuse_ipbuf_nowait(struct ipbuf_head *ipb_h); ...@@ -176,7 +176,7 @@ extern void unuse_ipbuf_nowait(struct ipbuf_head *ipb_h);
(ipbuf_pvt)->s = TID_FREE; \ (ipbuf_pvt)->s = TID_FREE; \
} while(0) } while(0)
extern int mbx_revision; extern int mbox_revision;
extern int dsp_cfgstat_request(enum cfgstat_e st); extern int dsp_cfgstat_request(enum cfgstat_e st);
extern enum cfgstat_e dsp_cfgstat_get_stat(void); extern enum cfgstat_e dsp_cfgstat_get_stat(void);
......
This diff is collapsed.
...@@ -54,7 +54,7 @@ static enum fbstat_e { ...@@ -54,7 +54,7 @@ static enum fbstat_e {
#endif #endif
static enum cfgstat_e cfgstat; static enum cfgstat_e cfgstat;
int mbx_revision; int mbox_revision;
static u8 n_stask; static u8 n_stask;
static ssize_t ifver_show(struct device *dev, struct device_attribute *attr, static ssize_t ifver_show(struct device *dev, struct device_attribute *attr,
...@@ -115,7 +115,7 @@ static int __misc_mbcompose_send_and_wait(u8 cmd_h, u8 cmd_l, u16 data, ...@@ -115,7 +115,7 @@ static int __misc_mbcompose_send_and_wait(u8 cmd_h, u8 cmd_l, u16 data,
} }
#define misc_mbcompose_send_and_wait(cmd_h, cmd_l, data, retvp) \ #define misc_mbcompose_send_and_wait(cmd_h, cmd_l, data, retvp) \
__misc_mbcompose_send_and_wait(MBX_CMD_DSP_##cmd_h, (cmd_l), \ __misc_mbcompose_send_and_wait(MBOX_CMD_DSP_##cmd_h, (cmd_l), \
(data), (retvp)); (data), (retvp));
static int misc_mbcmd_response(struct mbcmd *mb, int argc, int match_cmd_l_flag) static int misc_mbcmd_response(struct mbcmd *mb, int argc, int match_cmd_l_flag)
...@@ -135,24 +135,24 @@ static int misc_mbcmd_response(struct mbcmd *mb, int argc, int match_cmd_l_flag) ...@@ -135,24 +135,24 @@ static int misc_mbcmd_response(struct mbcmd *mb, int argc, int match_cmd_l_flag)
else else
strcpy(cmdstr, ci->name); strcpy(cmdstr, ci->name);
printk(KERN_WARNING printk(KERN_WARNING
"mbx: unexpected command %s received!\n", cmdstr); "mbox: unexpected command %s received!\n", cmdstr);
return -1; return -1;
} }
/* /*
* if argc == 1, receive data through mbx:data register. * if argc == 1, receive data through mbox:data register.
* if argc > 1, receive through ipbuf_sys. * if argc > 1, receive through ipbuf_sys.
*/ */
if (argc == 1) if (argc == 1)
misc_mb_wait.retvp[0] = mb->data; misc_mb_wait.retvp[0] = mb->data;
else if (argc > 1) { else if (argc > 1) {
if (dsp_mem_enable(ipbuf_sys_da) < 0) { if (dsp_mem_enable(ipbuf_sys_da) < 0) {
printk(KERN_ERR "mbx: %s - ipbuf_sys_da read failed!\n", printk(KERN_ERR "mbox: %s - ipbuf_sys_da read failed!\n",
cmdinfo[mb->cmd_h]->name); cmdinfo[mb->cmd_h]->name);
return -1; return -1;
} }
if (sync_with_dsp(&ipbuf_sys_da->s, TID_ANON, 10) < 0) { if (sync_with_dsp(&ipbuf_sys_da->s, TID_ANON, 10) < 0) {
printk(KERN_ERR "mbx: %s - IPBUF sync failed!\n", printk(KERN_ERR "mbox: %s - IPBUF sync failed!\n",
cmdinfo[mb->cmd_h]->name); cmdinfo[mb->cmd_h]->name);
dsp_mem_disable(ipbuf_sys_da); dsp_mem_disable(ipbuf_sys_da);
return -1; return -1;
...@@ -233,12 +233,12 @@ static int dsp_cfg(void) ...@@ -233,12 +233,12 @@ static int dsp_cfg(void)
*/ */
dsp_mem_enable((void *)dspmem_base); dsp_mem_enable((void *)dspmem_base);
dsp_mbx_start(); dsp_mbox_start();
dsp_twch_start(); dsp_twch_start();
dsp_mem_start(); dsp_mem_start();
dsp_err_start(); dsp_err_start();
mbx_revision = -1; mbox_revision = -1;
ret = misc_mbcompose_send_and_wait(DSPCFG, DSPCFG_REQ, 0, NULL); ret = misc_mbcompose_send_and_wait(DSPCFG, DSPCFG_REQ, 0, NULL);
if (ret < 0) { if (ret < 0) {
...@@ -253,8 +253,8 @@ static int dsp_cfg(void) ...@@ -253,8 +253,8 @@ static int dsp_cfg(void)
* MBREV 3.2 or earlier doesn't assume DMA domain is on * MBREV 3.2 or earlier doesn't assume DMA domain is on
* when DSPCFG command is sent * when DSPCFG command is sent
*/ */
if ((mbx_revision == MBREV_3_0) || if ((mbox_revision == MBREV_3_0) ||
(mbx_revision == MBREV_3_2)) { (mbox_revision == MBREV_3_2)) {
if ((ret = mbcompose_send(PM, PM_ENABLE, DSPREG_ICR_DMA)) < 0) if ((ret = mbcompose_send(PM, PM_ENABLE, DSPREG_ICR_DMA)) < 0)
goto out; goto out;
} }
...@@ -292,7 +292,7 @@ static int dsp_uncfg(void) ...@@ -292,7 +292,7 @@ static int dsp_uncfg(void)
/* remove runtime sysfs entries */ /* remove runtime sysfs entries */
device_remove_file(&dsp_device.dev, &dev_attr_loadinfo); device_remove_file(&dsp_device.dev, &dev_attr_loadinfo);
dsp_mbx_stop(); dsp_mbox_stop();
dsp_twch_stop(); dsp_twch_stop();
dsp_mem_stop(); dsp_mem_stop();
dsp_err_stop(); dsp_err_stop();
...@@ -555,7 +555,7 @@ static int dsp_ctl_ioctl(struct inode *inode, struct file *file, ...@@ -555,7 +555,7 @@ static int dsp_ctl_ioctl(struct inode *inode, struct file *file,
case DSPCTL_IOCTL_MBSEND: case DSPCTL_IOCTL_MBSEND:
{ {
struct omap_dsp_mailbox_cmd u_cmd; struct omap_dsp_mailbox_cmd u_cmd;
mbx_msg_t msg; mbox_msg_t msg;
if (copy_from_user(&u_cmd, (void *)arg, sizeof(u_cmd))) if (copy_from_user(&u_cmd, (void *)arg, sizeof(u_cmd)))
return -EFAULT; return -EFAULT;
msg = (u_cmd.cmd << 16) | u_cmd.data; msg = (u_cmd.cmd << 16) | u_cmd.data;
...@@ -699,45 +699,45 @@ static int dsp_ctl_ioctl(struct inode *inode, struct file *file, ...@@ -699,45 +699,45 @@ static int dsp_ctl_ioctl(struct inode *inode, struct file *file,
/* /*
* functions called from mailbox interrupt routine * functions called from mailbox interrupt routine
*/ */
void mbx_suspend(struct mbcmd *mb) void mbox_suspend(struct mbcmd *mb)
{ {
misc_mbcmd_response(mb, 0, 0); misc_mbcmd_response(mb, 0, 0);
} }
void mbx_dspcfg(struct mbcmd *mb) void mbox_dspcfg(struct mbcmd *mb)
{ {
u8 last = mb->cmd_l & 0x80; u8 last = mb->cmd_l & 0x80;
u8 cfgcmd = mb->cmd_l & 0x7f; u8 cfgcmd = mb->cmd_l & 0x7f;
static dsp_long_t tmp_ipb_adr; static dsp_long_t tmp_ipb_adr;
if (!waitqueue_active(&misc_mb_wait.wait_q) || if (!waitqueue_active(&misc_mb_wait.wait_q) ||
(misc_mb_wait.cmd_h != MBX_CMD_DSP_DSPCFG)) { (misc_mb_wait.cmd_h != MBOX_CMD_DSP_DSPCFG)) {
printk(KERN_WARNING printk(KERN_WARNING
"mbx: DSPCFG command received, " "mbox: DSPCFG command received, "
"but nobody is waiting for it...\n"); "but nobody is waiting for it...\n");
return; return;
} }
/* mailbox protocol check */ /* mailbox protocol check */
if (cfgcmd == DSPCFG_PROTREV) { if (cfgcmd == DSPCFG_PROTREV) {
mbx_revision = mb->data; mbox_revision = mb->data;
if (mbx_revision == MBPROT_REVISION) if (mbox_revision == MBPROT_REVISION)
return; return;
#ifdef OLD_BINARY_SUPPORT #ifdef OLD_BINARY_SUPPORT
else if ((mbx_revision == MBREV_3_0) || else if ((mbox_revision == MBREV_3_0) ||
(mbx_revision == MBREV_3_2)) { (mbox_revision == MBREV_3_2)) {
printk(KERN_WARNING printk(KERN_WARNING
"mbx: ***** old DSP binary *****\n" "mbox: ***** old DSP binary *****\n"
" Please update your DSP application.\n"); " Please update your DSP application.\n");
return; return;
} }
#endif #endif
else { else {
printk(KERN_ERR printk(KERN_ERR
"mbx: protocol revision check error!\n" "mbox: protocol revision check error!\n"
" expected=0x%04x, received=0x%04x\n", " expected=0x%04x, received=0x%04x\n",
MBPROT_REVISION, mb->data); MBPROT_REVISION, mb->data);
mbx_revision = -1; mbox_revision = -1;
goto abort1; goto abort1;
} }
} }
...@@ -746,9 +746,9 @@ void mbx_dspcfg(struct mbcmd *mb) ...@@ -746,9 +746,9 @@ void mbx_dspcfg(struct mbcmd *mb)
* following commands are accepted only after * following commands are accepted only after
* revision check has been passed. * revision check has been passed.
*/ */
if (!mbx_revision < 0) { if (!mbox_revision < 0) {
printk(KERN_INFO printk(KERN_INFO
"mbx: DSPCFG command received, " "mbox: DSPCFG command received, "
"but revision check has not been passed.\n"); "but revision check has not been passed.\n");
return; return;
} }
...@@ -767,7 +767,7 @@ void mbx_dspcfg(struct mbcmd *mb) ...@@ -767,7 +767,7 @@ void mbx_dspcfg(struct mbcmd *mb)
default: default:
printk(KERN_ERR printk(KERN_ERR
"mbx: Unknown CFG command: cmd_l=0x%02x, data=0x%04x\n", "mbox: Unknown CFG command: cmd_l=0x%02x, data=0x%04x\n",
mb->cmd_l, mb->data); mb->cmd_l, mb->data);
return; return;
} }
...@@ -788,11 +788,11 @@ void mbx_dspcfg(struct mbcmd *mb) ...@@ -788,11 +788,11 @@ void mbx_dspcfg(struct mbcmd *mb)
goto abort1; goto abort1;
if (dsp_mem_enable(ipbuf_sys_da) < 0) { if (dsp_mem_enable(ipbuf_sys_da) < 0) {
printk(KERN_ERR "mbx: DSPCFG - ipbuf_sys_da read failed!\n"); printk(KERN_ERR "mbox: DSPCFG - ipbuf_sys_da read failed!\n");
goto abort1; goto abort1;
} }
if (sync_with_dsp(&ipbuf_sys_da->s, TID_ANON, 10) < 0) { if (sync_with_dsp(&ipbuf_sys_da->s, TID_ANON, 10) < 0) {
printk(KERN_ERR "mbx: DSPCFG - IPBUF sync failed!\n"); printk(KERN_ERR "mbox: DSPCFG - IPBUF sync failed!\n");
dsp_mem_disable(ipbuf_sys_da); dsp_mem_disable(ipbuf_sys_da);
goto abort1; goto abort1;
} }
...@@ -801,7 +801,7 @@ void mbx_dspcfg(struct mbcmd *mb) ...@@ -801,7 +801,7 @@ void mbx_dspcfg(struct mbcmd *mb)
* we must read with 16bit-access * we must read with 16bit-access
*/ */
#ifdef OLD_BINARY_SUPPORT #ifdef OLD_BINARY_SUPPORT
if (mbx_revision == MBPROT_REVISION) { if (mbox_revision == MBPROT_REVISION) {
#endif #endif
buf = ipbuf_sys_da->d; buf = ipbuf_sys_da->d;
n_stask = buf[0]; n_stask = buf[0];
...@@ -819,7 +819,7 @@ void mbx_dspcfg(struct mbcmd *mb) ...@@ -819,7 +819,7 @@ void mbx_dspcfg(struct mbcmd *mb)
mem_sync.SDRAM = MKVIRT(buf[19], buf[20]); mem_sync.SDRAM = MKVIRT(buf[19], buf[20]);
mem_syncp = &mem_sync; mem_syncp = &mem_sync;
#ifdef OLD_BINARY_SUPPORT #ifdef OLD_BINARY_SUPPORT
} else if (mbx_revision == MBREV_3_2) { } else if (mbox_revision == MBREV_3_2) {
buf = ipbuf_sys_da->d; buf = ipbuf_sys_da->d;
n_stask = buf[0]; n_stask = buf[0];
bln = buf[1]; bln = buf[1];
...@@ -832,7 +832,7 @@ void mbx_dspcfg(struct mbcmd *mb) ...@@ -832,7 +832,7 @@ void mbx_dspcfg(struct mbcmd *mb)
dbg_buf_sz = 0; dbg_buf_sz = 0;
dbg_line_sz = 0; dbg_line_sz = 0;
mem_syncp = NULL; mem_syncp = NULL;
} else if (mbx_revision == MBREV_3_0) { } else if (mbox_revision == MBREV_3_0) {
buf = ipbuf_sys_da->d; buf = ipbuf_sys_da->d;
n_stask = buf[0]; n_stask = buf[0];
bln = buf[1]; bln = buf[1];
...@@ -863,7 +863,7 @@ void mbx_dspcfg(struct mbcmd *mb) ...@@ -863,7 +863,7 @@ void mbx_dspcfg(struct mbcmd *mb)
goto abort1; goto abort1;
if (ipbuf_config(bln, bsz, badr) < 0) if (ipbuf_config(bln, bsz, badr) < 0)
goto abort1; goto abort1;
if (dsp_mbx_config(mbseq) < 0) if (dsp_mbox_config(mbseq) < 0)
goto abort2; goto abort2;
if (dsp_dbg_config(dbg_buf, dbg_buf_sz, dbg_line_sz) < 0) if (dsp_dbg_config(dbg_buf, dbg_buf_sz, dbg_line_sz) < 0)
goto abort2; goto abort2;
...@@ -882,12 +882,12 @@ abort1: ...@@ -882,12 +882,12 @@ abort1:
return; return;
} }
void mbx_poll(struct mbcmd *mb) void mbox_poll(struct mbcmd *mb)
{ {
misc_mbcmd_response(mb, 0, 0); misc_mbcmd_response(mb, 0, 0);
} }
void mbx_regrw(struct mbcmd *mb) void mbox_regrw(struct mbcmd *mb)
{ {
switch (mb->cmd_l) { switch (mb->cmd_l) {
case REGRW_DATA: case REGRW_DATA:
...@@ -895,13 +895,13 @@ void mbx_regrw(struct mbcmd *mb) ...@@ -895,13 +895,13 @@ void mbx_regrw(struct mbcmd *mb)
break; break;
default: default:
printk(KERN_ERR printk(KERN_ERR
"mbx: Illegal REGRW command: " "mbox: Illegal REGRW command: "
"cmd_l=0x%02x, data=0x%04x\n", mb->cmd_l, mb->data); "cmd_l=0x%02x, data=0x%04x\n", mb->cmd_l, mb->data);
return; return;
} }
} }
void mbx_getvar(struct mbcmd *mb) void mbox_getvar(struct mbcmd *mb)
{ {
switch (mb->cmd_l) { switch (mb->cmd_l) {
case VARID_ICRMASK: case VARID_ICRMASK:
...@@ -912,13 +912,13 @@ void mbx_getvar(struct mbcmd *mb) ...@@ -912,13 +912,13 @@ void mbx_getvar(struct mbcmd *mb)
break; break;
default: default:
printk(KERN_ERR printk(KERN_ERR
"mbx: Illegal GETVAR command: " "mbox: Illegal GETVAR command: "
"cmd_l=0x%02x, data=0x%04x\n", mb->cmd_l, mb->data); "cmd_l=0x%02x, data=0x%04x\n", mb->cmd_l, mb->data);
return; return;
} }
} }
void mbx_fbctl_disable(struct mbcmd *mb) void mbox_fbctl_disable(struct mbcmd *mb)
{ {
misc_mbcmd_response(mb, 0, 0); misc_mbcmd_response(mb, 0, 0);
} }
......
...@@ -361,7 +361,7 @@ int dsp_mem_sync_inc(void) ...@@ -361,7 +361,7 @@ int dsp_mem_sync_inc(void)
} }
/* /*
* dsp_mem_sync_config() is called from mbx1 workqueue * dsp_mem_sync_config() is called from mbox1 workqueue
*/ */
int dsp_mem_sync_config(struct mem_sync_struct *sync) int dsp_mem_sync_config(struct mem_sync_struct *sync)
{ {
...@@ -2002,7 +2002,7 @@ static int dsp_mem_open(struct inode *inode, struct file *file) ...@@ -2002,7 +2002,7 @@ static int dsp_mem_open(struct inode *inode, struct file *file)
* fb update functions: * fb update functions:
* fbupd_response() is executed by the workqueue. * fbupd_response() is executed by the workqueue.
* fbupd_cb() is called when fb update is done, in interrupt context. * fbupd_cb() is called when fb update is done, in interrupt context.
* mbx_fbupd() is called when KFUNC:FBCTL:UPD is received from DSP. * mbox_fbupd() is called when KFUNC:FBCTL:UPD is received from DSP.
*/ */
static void fbupd_response(void *arg) static void fbupd_response(void *arg)
{ {
...@@ -2025,7 +2025,7 @@ static void fbupd_cb(void *arg) ...@@ -2025,7 +2025,7 @@ static void fbupd_cb(void *arg)
schedule_work(&fbupd_response_work); schedule_work(&fbupd_response_work);
} }
void mbx_fbctl_upd(void) void mbox_fbctl_upd(void)
{ {
struct omapfb_update_window win; struct omapfb_update_window win;
volatile unsigned short *buf = ipbuf_sys_da->d; volatile unsigned short *buf = ipbuf_sys_da->d;
...@@ -2053,7 +2053,7 @@ void mbx_fbctl_upd(void) ...@@ -2053,7 +2053,7 @@ void mbx_fbctl_upd(void)
#else /* CONFIG_FB_OMAP_LCDC_EXTERNAL */ #else /* CONFIG_FB_OMAP_LCDC_EXTERNAL */
void mbx_fbctl_upd(void) void mbox_fbctl_upd(void)
{ {
} }
#endif /* CONFIG_FB_OMAP_LCDC_EXTERNAL */ #endif /* CONFIG_FB_OMAP_LCDC_EXTERNAL */
......
...@@ -158,23 +158,23 @@ int dsp_err_isset(enum errcode_e code) ...@@ -158,23 +158,23 @@ int dsp_err_isset(enum errcode_e code)
/* /*
* functions called from mailbox interrupt routine * functions called from mailbox interrupt routine
*/ */
static void mbx_err_wdt(u16 data) static void mbox_err_wdt(u16 data)
{ {
dsp_err_set(DSP_ERR_WDT, (unsigned long)data); dsp_err_set(DSP_ERR_WDT, (unsigned long)data);
} }
#ifdef OLD_BINARY_SUPPORT #ifdef OLD_BINARY_SUPPORT
/* v3.3 obsolete */ /* v3.3 obsolete */
void mbx_wdt(struct mbcmd *mb) void mbox_wdt(struct mbcmd *mb)
{ {
mbx_err_wdt(mb->data); mbox_err_wdt(mb->data);
} }
#endif #endif
extern void mbx_err_ipbfull(void); extern void mbox_err_ipbfull(void);
extern void mbx_err_fatal(u8 tid); extern void mbox_err_fatal(u8 tid);
void mbx_err(struct mbcmd *mb) void mbox_err(struct mbcmd *mb)
{ {
u8 eid = mb->cmd_l; u8 eid = mb->cmd_l;
char *eidnm = subcmd_name(mb); char *eidnm = subcmd_name(mb);
...@@ -182,25 +182,25 @@ void mbx_err(struct mbcmd *mb) ...@@ -182,25 +182,25 @@ void mbx_err(struct mbcmd *mb)
if (eidnm) { if (eidnm) {
printk(KERN_WARNING printk(KERN_WARNING
"mbx: ERR from DSP (%s): 0x%04x\n", eidnm, mb->data); "mbox: ERR from DSP (%s): 0x%04x\n", eidnm, mb->data);
} else { } else {
printk(KERN_WARNING printk(KERN_WARNING
"mbx: ERR from DSP (unknown EID=%02x): %04x\n", "mbox: ERR from DSP (unknown EID=%02x): %04x\n",
eid, mb->data); eid, mb->data);
} }
switch (eid) { switch (eid) {
case EID_IPBFULL: case EID_IPBFULL:
mbx_err_ipbfull(); mbox_err_ipbfull();
break; break;
case EID_FATAL: case EID_FATAL:
tid = mb->data & 0x00ff; tid = mb->data & 0x00ff;
mbx_err_fatal(tid); mbox_err_fatal(tid);
break; break;
case EID_WDT: case EID_WDT:
mbx_err_wdt(mb->data); mbox_err_wdt(mb->data);
break; break;
} }
} }
......
...@@ -287,7 +287,7 @@ void unuse_ipbuf_nowait(struct ipbuf_head *ipb_h) ...@@ -287,7 +287,7 @@ void unuse_ipbuf_nowait(struct ipbuf_head *ipb_h)
* functions called from mailbox interrupt routine * functions called from mailbox interrupt routine
*/ */
void mbx_err_ipbfull(void) void mbox_err_ipbfull(void)
{ {
ipbcfg.cnt_full++; ipbcfg.cnt_full++;
} }
......
...@@ -63,16 +63,16 @@ extern struct ipbuf_sys *ipbuf_sys_da, *ipbuf_sys_ad; ...@@ -63,16 +63,16 @@ extern struct ipbuf_sys *ipbuf_sys_da, *ipbuf_sys_ad;
#define ipb_bsycnt_inc(ipbcfg) \ #define ipb_bsycnt_inc(ipbcfg) \
do { \ do { \
disable_mbx_irq(mbx_dsp); \ disable_mbox_irq(mbox_dsp); \
(ipbcfg)->bsycnt++; \ (ipbcfg)->bsycnt++; \
enable_mbx_irq(mbx_dsp); \ enable_mbox_irq(mbox_dsp); \
} while(0) } while(0)
#define ipb_bsycnt_dec(ipbcfg) \ #define ipb_bsycnt_dec(ipbcfg) \
do { \ do { \
disable_mbx_irq(mbx_dsp); \ disable_mbox_irq(mbox_dsp); \
(ipbcfg)->bsycnt--; \ (ipbcfg)->bsycnt--; \
enable_mbx_irq(mbx_dsp); \ enable_mbox_irq(mbox_dsp); \
} while(0) } while(0)
#define dsp_mem_enable_ipbuf() dsp_mem_enable(ipbcfg.base) #define dsp_mem_enable_ipbuf() dsp_mem_enable(ipbcfg.base)
......
...@@ -34,22 +34,22 @@ char *subcmd_name(struct mbcmd *mb) ...@@ -34,22 +34,22 @@ char *subcmd_name(struct mbcmd *mb)
char *s; char *s;
switch (cmd_h) { switch (cmd_h) {
case MBX_CMD_DSP_RUNLEVEL: case MBOX_CMD_DSP_RUNLEVEL:
s = (cmd_l == RUNLEVEL_USER) ? "USER": s = (cmd_l == RUNLEVEL_USER) ? "USER":
(cmd_l == RUNLEVEL_SUPER) ? "SUPER": (cmd_l == RUNLEVEL_SUPER) ? "SUPER":
(cmd_l == RUNLEVEL_RECOVERY) ? "RECOVERY": (cmd_l == RUNLEVEL_RECOVERY) ? "RECOVERY":
NULL; NULL;
break; break;
case MBX_CMD_DSP_PM: case MBOX_CMD_DSP_PM:
s = (cmd_l == PM_DISABLE) ? "DISABLE": s = (cmd_l == PM_DISABLE) ? "DISABLE":
(cmd_l == PM_ENABLE) ? "ENABLE": (cmd_l == PM_ENABLE) ? "ENABLE":
NULL; NULL;
break; break;
case MBX_CMD_DSP_KFUNC: case MBOX_CMD_DSP_KFUNC:
s = (cmd_l == KFUNC_FBCTL) ? "FBCTL": s = (cmd_l == KFUNC_FBCTL) ? "FBCTL":
NULL; NULL;
break; break;
case MBX_CMD_DSP_DSPCFG: case MBOX_CMD_DSP_DSPCFG:
{ {
u8 cfgc = cmd_l & 0x7f; u8 cfgc = cmd_l & 0x7f;
s = (cfgc == DSPCFG_REQ) ? "REQ": s = (cfgc == DSPCFG_REQ) ? "REQ":
...@@ -60,7 +60,7 @@ char *subcmd_name(struct mbcmd *mb) ...@@ -60,7 +60,7 @@ char *subcmd_name(struct mbcmd *mb)
NULL; NULL;
break; break;
} }
case MBX_CMD_DSP_REGRW: case MBOX_CMD_DSP_REGRW:
s = (cmd_l == REGRW_MEMR) ? "MEMR": s = (cmd_l == REGRW_MEMR) ? "MEMR":
(cmd_l == REGRW_MEMW) ? "MEMW": (cmd_l == REGRW_MEMW) ? "MEMW":
(cmd_l == REGRW_IOR) ? "IOR": (cmd_l == REGRW_IOR) ? "IOR":
...@@ -68,13 +68,13 @@ char *subcmd_name(struct mbcmd *mb) ...@@ -68,13 +68,13 @@ char *subcmd_name(struct mbcmd *mb)
(cmd_l == REGRW_DATA) ? "DATA": (cmd_l == REGRW_DATA) ? "DATA":
NULL; NULL;
break; break;
case MBX_CMD_DSP_GETVAR: case MBOX_CMD_DSP_GETVAR:
case MBX_CMD_DSP_SETVAR: case MBOX_CMD_DSP_SETVAR:
s = (cmd_l == VARID_ICRMASK) ? "ICRMASK": s = (cmd_l == VARID_ICRMASK) ? "ICRMASK":
(cmd_l == VARID_LOADINFO) ? "LOADINFO": (cmd_l == VARID_LOADINFO) ? "LOADINFO":
NULL; NULL;
break; break;
case MBX_CMD_DSP_ERR: case MBOX_CMD_DSP_ERR:
s = (cmd_l == EID_BADTID) ? "BADTID": s = (cmd_l == EID_BADTID) ? "BADTID":
(cmd_l == EID_BADTCN) ? "BADTCN": (cmd_l == EID_BADTCN) ? "BADTCN":
(cmd_l == EID_BADBID) ? "BADBID": (cmd_l == EID_BADBID) ? "BADBID":
...@@ -110,7 +110,7 @@ char *subcmd_name(struct mbcmd *mb) ...@@ -110,7 +110,7 @@ char *subcmd_name(struct mbcmd *mb)
struct mblogent { struct mblogent {
unsigned long jiffies; unsigned long jiffies;
mbx_msg_t msg; mbox_msg_t msg;
enum arm_dsp_dir_e dir; enum arm_dsp_dir_e dir;
}; };
...@@ -130,7 +130,7 @@ void mblog_add(struct mbcmd *mb, enum arm_dsp_dir_e dir) ...@@ -130,7 +130,7 @@ void mblog_add(struct mbcmd *mb, enum arm_dsp_dir_e dir)
spin_lock(&mblog.lock); spin_lock(&mblog.lock);
ent = &mblog.ent[mblog.wp]; ent = &mblog.ent[mblog.wp];
ent->jiffies = jiffies; ent->jiffies = jiffies;
ent->msg = *(mbx_msg_t *)mb; ent->msg = *(mbox_msg_t *)mb;
ent->dir = dir; ent->dir = dir;
if (mblog.cnt < 0xffffffff) if (mblog.cnt < 0xffffffff)
mblog.cnt++; mblog.cnt++;
...@@ -240,19 +240,19 @@ void mblog_printcmd(struct mbcmd *mb, enum arm_dsp_dir_e dir) ...@@ -240,19 +240,19 @@ void mblog_printcmd(struct mbcmd *mb, enum arm_dsp_dir_e dir)
if ((subname = subcmd_name(mb)) == NULL) if ((subname = subcmd_name(mb)) == NULL)
subname = "Unknown"; subname = "Unknown";
printk(KERN_DEBUG printk(KERN_DEBUG
"mbx: %s cmd=%02x:%02x(%s:%s), data=%04x\n", "mbox: %s cmd=%02x:%02x(%s:%s), data=%04x\n",
dir_str, mb->cmd_h, mb->cmd_l, dir_str, mb->cmd_h, mb->cmd_l,
ci->name, subname, mb->data); ci->name, subname, mb->data);
break; break;
case CMD_L_TYPE_TID: case CMD_L_TYPE_TID:
printk(KERN_DEBUG printk(KERN_DEBUG
"mbx: %s cmd=%02x:%02x(%s:task %d), data=%04x\n", "mbox: %s cmd=%02x:%02x(%s:task %d), data=%04x\n",
dir_str, mb->cmd_h, mb->cmd_l, dir_str, mb->cmd_h, mb->cmd_l,
ci->name, mb->cmd_l, mb->data); ci->name, mb->cmd_l, mb->data);
break; break;
case CMD_L_TYPE_NULL: case CMD_L_TYPE_NULL:
printk(KERN_DEBUG printk(KERN_DEBUG
"mbx: %s cmd=%02x:%02x(%s), data=%04x\n", "mbox: %s cmd=%02x:%02x(%s), data=%04x\n",
dir_str, mb->cmd_h, mb->cmd_l, ci->name, mb->data); dir_str, mb->cmd_h, mb->cmd_l, ci->name, mb->data);
break; break;
} }
......
This diff is collapsed.
This diff is collapsed.
...@@ -3,52 +3,52 @@ ...@@ -3,52 +3,52 @@
#ifndef MAILBOX_H #ifndef MAILBOX_H
#define MAILBOX_H #define MAILBOX_H
typedef u32 mbx_msg_t; typedef u32 mbox_msg_t;
typedef void (mbx_receiver_t)(mbx_msg_t msg); typedef void (mbox_receiver_t)(mbox_msg_t msg);
struct mbx; /* contents are private */ struct mbox; /* contents are private */
struct mbx *mbx_get(const char *id); struct mbox *mbox_get(const char *id);
extern int mbx_send(struct mbx *mbx_h, mbx_msg_t msg); extern int mbox_send(struct mbox *mbox_h, mbox_msg_t msg);
extern int register_mbx_receiver(struct mbx *mbx, unsigned char cmd, extern int register_mbox_receiver(struct mbox *mbox, unsigned char cmd,
mbx_receiver_t *rcv); mbox_receiver_t *rcv);
extern int unregister_mbx_receiver(struct mbx *mbx, unsigned char cmd, extern int unregister_mbox_receiver(struct mbox *mbox, unsigned char cmd,
mbx_receiver_t *rcv); mbox_receiver_t *rcv);
extern void enable_mbx_irq(struct mbx *mbx); extern void enable_mbox_irq(struct mbox *mbox);
extern void disable_mbx_irq(struct mbx *mbx); extern void disable_mbox_irq(struct mbox *mbox);
extern void mbx_init_seq(struct mbx *mbx); extern void mbox_init_seq(struct mbox *mbox);
/* /*
* mailbox command: 0x00 - 0x7f * mailbox command: 0x00 - 0x7f
* when a driver wants to use mailbox, it must reserve mailbox commands here. * when a driver wants to use mailbox, it must reserve mailbox commands here.
*/ */
#define MBX_CMD_MAX 0x80 #define MBOX_CMD_MAX 0x80
/* DSP Gateway */ /* DSP Gateway */
#define MBX_CMD_DSP_WDSND 0x10 #define MBOX_CMD_DSP_WDSND 0x10
#define MBX_CMD_DSP_WDREQ 0x11 #define MBOX_CMD_DSP_WDREQ 0x11
#define MBX_CMD_DSP_BKSND 0x20 #define MBOX_CMD_DSP_BKSND 0x20
#define MBX_CMD_DSP_BKREQ 0x21 #define MBOX_CMD_DSP_BKREQ 0x21
#define MBX_CMD_DSP_BKYLD 0x23 #define MBOX_CMD_DSP_BKYLD 0x23
#define MBX_CMD_DSP_BKSNDP 0x24 #define MBOX_CMD_DSP_BKSNDP 0x24
#define MBX_CMD_DSP_BKREQP 0x25 #define MBOX_CMD_DSP_BKREQP 0x25
#define MBX_CMD_DSP_TCTL 0x30 #define MBOX_CMD_DSP_TCTL 0x30
#define MBX_CMD_DSP_TCTLDATA 0x31 #define MBOX_CMD_DSP_TCTLDATA 0x31
#define MBX_CMD_DSP_POLL 0x32 #define MBOX_CMD_DSP_POLL 0x32
#define MBX_CMD_DSP_WDT 0x50 #define MBOX_CMD_DSP_WDT 0x50
#define MBX_CMD_DSP_RUNLEVEL 0x51 #define MBOX_CMD_DSP_RUNLEVEL 0x51
#define MBX_CMD_DSP_PM 0x52 #define MBOX_CMD_DSP_PM 0x52
#define MBX_CMD_DSP_SUSPEND 0x53 #define MBOX_CMD_DSP_SUSPEND 0x53
#define MBX_CMD_DSP_KFUNC 0x54 #define MBOX_CMD_DSP_KFUNC 0x54
#define MBX_CMD_DSP_TCFG 0x60 #define MBOX_CMD_DSP_TCFG 0x60
#define MBX_CMD_DSP_TADD 0x62 #define MBOX_CMD_DSP_TADD 0x62
#define MBX_CMD_DSP_TDEL 0x63 #define MBOX_CMD_DSP_TDEL 0x63
#define MBX_CMD_DSP_TSTOP 0x65 #define MBOX_CMD_DSP_TSTOP 0x65
#define MBX_CMD_DSP_DSPCFG 0x70 #define MBOX_CMD_DSP_DSPCFG 0x70
#define MBX_CMD_DSP_REGRW 0x72 #define MBOX_CMD_DSP_REGRW 0x72
#define MBX_CMD_DSP_GETVAR 0x74 #define MBOX_CMD_DSP_GETVAR 0x74
#define MBX_CMD_DSP_SETVAR 0x75 #define MBOX_CMD_DSP_SETVAR 0x75
#define MBX_CMD_DSP_ERR 0x78 #define MBOX_CMD_DSP_ERR 0x78
#define MBX_CMD_DSP_DBG 0x79 #define MBOX_CMD_DSP_DBG 0x79
#endif /* MAILBOX_H */ #endif /* MAILBOX_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment