Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
mixart_core.c File Reference
#include <linux/interrupt.h>
#include <linux/mutex.h>
#include <asm/io.h>
#include <sound/core.h>
#include "mixart.h"
#include "mixart_hwdep.h"
#include "mixart_core.h"

Go to the source code of this file.

Macros

#define MSG_TIMEOUT_JIFFIES   (400 * HZ) / 1000 /* 400 ms */
 
#define MSG_DESCRIPTOR_SIZE   0x24
 
#define MSG_HEADER_SIZE   (MSG_DESCRIPTOR_SIZE + 4)
 
#define MSG_DEFAULT_SIZE   512
 
#define MSG_TYPE_MASK   0x00000003 /* mask for following types */
 
#define MSG_TYPE_NOTIFY   0 /* embedded -> driver (only notification, do not get_msg() !) */
 
#define MSG_TYPE_COMMAND   1 /* driver <-> embedded (a command has no answer) */
 
#define MSG_TYPE_REQUEST   2 /* driver -> embedded (request will get an answer back) */
 
#define MSG_TYPE_ANSWER   3 /* embedded -> driver */
 
#define MSG_CANCEL_NOTIFY_MASK   0x80000000 /* this bit is set for a notification that has been canceled */
 

Functions

int snd_mixart_send_msg (struct mixart_mgr *mgr, struct mixart_msg *request, int max_resp_size, void *resp_data)
 
int snd_mixart_send_msg_wait_notif (struct mixart_mgr *mgr, struct mixart_msg *request, u32 notif_event)
 
int snd_mixart_send_msg_nonblock (struct mixart_mgr *mgr, struct mixart_msg *request)
 
void snd_mixart_msg_tasklet (unsigned long arg)
 
irqreturn_t snd_mixart_interrupt (int irq, void *dev_id)
 
void snd_mixart_init_mailbox (struct mixart_mgr *mgr)
 
void snd_mixart_exit_mailbox (struct mixart_mgr *mgr)
 
void snd_mixart_reset_board (struct mixart_mgr *mgr)
 

Macro Definition Documentation

#define MSG_CANCEL_NOTIFY_MASK   0x80000000 /* this bit is set for a notification that has been canceled */

Definition at line 45 of file mixart_core.c.

#define MSG_DEFAULT_SIZE   512

Definition at line 38 of file mixart_core.c.

#define MSG_DESCRIPTOR_SIZE   0x24

Definition at line 35 of file mixart_core.c.

#define MSG_HEADER_SIZE   (MSG_DESCRIPTOR_SIZE + 4)

Definition at line 36 of file mixart_core.c.

#define MSG_TIMEOUT_JIFFIES   (400 * HZ) / 1000 /* 400 ms */

Definition at line 33 of file mixart_core.c.

#define MSG_TYPE_ANSWER   3 /* embedded -> driver */

Definition at line 44 of file mixart_core.c.

#define MSG_TYPE_COMMAND   1 /* driver <-> embedded (a command has no answer) */

Definition at line 42 of file mixart_core.c.

#define MSG_TYPE_MASK   0x00000003 /* mask for following types */

Definition at line 40 of file mixart_core.c.

#define MSG_TYPE_NOTIFY   0 /* embedded -> driver (only notification, do not get_msg() !) */

Definition at line 41 of file mixart_core.c.

#define MSG_TYPE_REQUEST   2 /* driver -> embedded (request will get an answer back) */

Definition at line 43 of file mixart_core.c.

Function Documentation

void snd_mixart_exit_mailbox ( struct mixart_mgr mgr)

Definition at line 586 of file mixart_core.c.

void snd_mixart_init_mailbox ( struct mixart_mgr mgr)

Definition at line 574 of file mixart_core.c.

irqreturn_t snd_mixart_interrupt ( int  irq,
void dev_id 
)

Definition at line 416 of file mixart_core.c.

void snd_mixart_msg_tasklet ( unsigned long  arg)

Definition at line 355 of file mixart_core.c.

void snd_mixart_reset_board ( struct mixart_mgr mgr)

Definition at line 593 of file mixart_core.c.

int snd_mixart_send_msg ( struct mixart_mgr mgr,
struct mixart_msg request,
int  max_resp_size,
void resp_data 
)

Definition at line 238 of file mixart_core.c.

int snd_mixart_send_msg_nonblock ( struct mixart_mgr mgr,
struct mixart_msg request 
)

Definition at line 333 of file mixart_core.c.

int snd_mixart_send_msg_wait_notif ( struct mixart_mgr mgr,
struct mixart_msg request,
u32  notif_event 
)

Definition at line 288 of file mixart_core.c.