Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
ivtv-mailbox.c File Reference
#include <stdarg.h>
#include "ivtv-driver.h"
#include "ivtv-mailbox.h"

Go to the source code of this file.

Data Structures

struct  ivtv_api_info
 

Macros

#define IVTV_MBOX_FIRMWARE_DONE   0x00000004
 
#define IVTV_MBOX_DRIVER_DONE   0x00000002
 
#define IVTV_MBOX_DRIVER_BUSY   0x00000001
 
#define IVTV_MBOX_FREE   0x00000000
 
#define IVTV_API_STD_TIMEOUT   0x02000000
 
#define API_CACHE   (1 << 0) /* Allow the command to be stored in the cache */
 
#define API_RESULT   (1 << 1) /* Allow 1 second for this cmd to end */
 
#define API_FAST_RESULT   (3 << 1) /* Allow 0.1 second for this cmd to end */
 
#define API_DMA   (1 << 3) /* DMA mailbox, has special handling */
 
#define API_HIGH_VOL   (1 << 5) /* High volume command (i.e. called during encoding or decoding) */
 
#define API_NO_WAIT_MB   (1 << 4) /* Command may not wait for a free mailbox */
 
#define API_NO_WAIT_RES   (1 << 5) /* Command may not wait for the result */
 
#define API_NO_POLL   (1 << 6) /* Avoid pointless polling */
 
#define API_ENTRY(x, f)   [x] = { (f), #x }
 

Functions

int ivtv_api (struct ivtv *itv, int cmd, int args, u32 data[])
 
int ivtv_api_func (void *priv, u32 cmd, int in, int out, u32 data[CX2341X_MBOX_MAX_DATA])
 
int ivtv_vapi_result (struct ivtv *itv, u32 data[CX2341X_MBOX_MAX_DATA], int cmd, int args,...)
 
int ivtv_vapi (struct ivtv *itv, int cmd, int args,...)
 
void ivtv_api_get_data (struct ivtv_mailbox_data *mbdata, int mb, int argc, u32 data[])
 
void ivtv_mailbox_cache_invalidate (struct ivtv *itv)
 

Macro Definition Documentation

#define API_CACHE   (1 << 0) /* Allow the command to be stored in the cache */

Definition at line 36 of file ivtv-mailbox.c.

#define API_DMA   (1 << 3) /* DMA mailbox, has special handling */

Definition at line 39 of file ivtv-mailbox.c.

#define API_ENTRY (   x,
  f 
)    [x] = { (f), #x }

Definition at line 50 of file ivtv-mailbox.c.

#define API_FAST_RESULT   (3 << 1) /* Allow 0.1 second for this cmd to end */

Definition at line 38 of file ivtv-mailbox.c.

#define API_HIGH_VOL   (1 << 5) /* High volume command (i.e. called during encoding or decoding) */

Definition at line 40 of file ivtv-mailbox.c.

#define API_NO_POLL   (1 << 6) /* Avoid pointless polling */

Definition at line 43 of file ivtv-mailbox.c.

#define API_NO_WAIT_MB   (1 << 4) /* Command may not wait for a free mailbox */

Definition at line 41 of file ivtv-mailbox.c.

#define API_NO_WAIT_RES   (1 << 5) /* Command may not wait for the result */

Definition at line 42 of file ivtv-mailbox.c.

#define API_RESULT   (1 << 1) /* Allow 1 second for this cmd to end */

Definition at line 37 of file ivtv-mailbox.c.

#define IVTV_API_STD_TIMEOUT   0x02000000

Definition at line 34 of file ivtv-mailbox.c.

#define IVTV_MBOX_DRIVER_BUSY   0x00000001

Definition at line 30 of file ivtv-mailbox.c.

#define IVTV_MBOX_DRIVER_DONE   0x00000002

Definition at line 29 of file ivtv-mailbox.c.

#define IVTV_MBOX_FIRMWARE_DONE   0x00000004

Definition at line 28 of file ivtv-mailbox.c.

#define IVTV_MBOX_FREE   0x00000000

Definition at line 31 of file ivtv-mailbox.c.

Function Documentation

int ivtv_api ( struct ivtv itv,
int  cmd,
int  args,
u32  data[] 
)

Definition at line 329 of file ivtv-mailbox.c.

int ivtv_api_func ( void priv,
u32  cmd,
int  in,
int  out,
u32  data[CX2341X_MBOX_MAX_DATA] 
)

Definition at line 339 of file ivtv-mailbox.c.

void ivtv_api_get_data ( struct ivtv_mailbox_data mbdata,
int  mb,
int  argc,
u32  data[] 
)

Definition at line 372 of file ivtv-mailbox.c.

void ivtv_mailbox_cache_invalidate ( struct ivtv itv)

Definition at line 382 of file ivtv-mailbox.c.

int ivtv_vapi ( struct ivtv itv,
int  cmd,
int  args,
  ... 
)

Definition at line 357 of file ivtv-mailbox.c.

int ivtv_vapi_result ( struct ivtv itv,
u32  data[CX2341X_MBOX_MAX_DATA],
int  cmd,
int  args,
  ... 
)

Definition at line 344 of file ivtv-mailbox.c.