Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
mixer.h File Reference
#include <linux/fb.h>
#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/wait.h>
#include <media/v4l2-device.h>
#include <media/videobuf2-core.h>
#include "regs-mixer.h"

Go to the source code of this file.

Data Structures

struct  mxr_block
 
struct  mxr_format
 
struct  mxr_crop
 
struct  mxr_geometry
 
struct  mxr_buffer
 
struct  mxr_layer_ops
 
struct  mxr_layer
 
struct  mxr_output
 
struct  mxr_output_conf
 
struct  mxr_resources
 
struct  mxr_device
 

Macros

#define MXR_MAX_OUTPUTS   2
 
#define MXR_MAX_LAYERS   3
 
#define MXR_DRIVER_NAME   "s5p-mixer"
 
#define MXR_MAX_PLANES   2
 
#define MXR_ENABLE   1
 
#define MXR_DISABLE   0
 
#define MXR_NO_OFFSET   0x80000000
 
#define mxr_err(mdev, fmt,...)   dev_err(mdev->dev, fmt, ##__VA_ARGS__)
 
#define mxr_warn(mdev, fmt,...)   dev_warn(mdev->dev, fmt, ##__VA_ARGS__)
 
#define mxr_info(mdev, fmt,...)   dev_info(mdev->dev, fmt, ##__VA_ARGS__)
 
#define mxr_dbg(mdev, fmt,...)   do { (void) mdev; } while (0)
 

Enumerations

enum  mxr_geometry_stage { MXR_GEOMETRY_SINK, MXR_GEOMETRY_COMPOSE, MXR_GEOMETRY_CROP, MXR_GEOMETRY_SOURCE }
 
enum  mxr_layer_state { MXR_LAYER_IDLE = 0, MXR_LAYER_STREAMING, MXR_LAYER_STREAMING_FINISH }
 
enum  mxr_devide_flags { MXR_EVENT_VSYNC = 0, MXR_EVENT_TOP = 1 }
 

Functions

int __devinit mxr_acquire_video (struct mxr_device *mdev, struct mxr_output_conf *output_cont, int output_count)
 
void mxr_release_video (struct mxr_device *mdev)
 
struct mxr_layermxr_graph_layer_create (struct mxr_device *mdev, int idx)
 
struct mxr_layermxr_vp_layer_create (struct mxr_device *mdev, int idx)
 
struct mxr_layermxr_base_layer_create (struct mxr_device *mdev, int idx, char *name, struct mxr_layer_ops *ops)
 
void mxr_base_layer_release (struct mxr_layer *layer)
 
void mxr_layer_release (struct mxr_layer *layer)
 
int mxr_base_layer_register (struct mxr_layer *layer)
 
void mxr_base_layer_unregister (struct mxr_layer *layer)
 
unsigned long mxr_get_plane_size (const struct mxr_block *blk, unsigned int width, unsigned int height)
 
int __must_check mxr_power_get (struct mxr_device *mdev)
 
void mxr_power_put (struct mxr_device *mdev)
 
void mxr_output_get (struct mxr_device *mdev)
 
void mxr_output_put (struct mxr_device *mdev)
 
void mxr_streamer_get (struct mxr_device *mdev)
 
void mxr_streamer_put (struct mxr_device *mdev)
 
void mxr_get_mbus_fmt (struct mxr_device *mdev, struct v4l2_mbus_framefmt *mbus_fmt)
 
void mxr_vsync_set_update (struct mxr_device *mdev, int en)
 
void mxr_reg_reset (struct mxr_device *mdev)
 
irqreturn_t mxr_irq_handler (int irq, void *dev_data)
 
void mxr_reg_s_output (struct mxr_device *mdev, int cookie)
 
void mxr_reg_streamon (struct mxr_device *mdev)
 
void mxr_reg_streamoff (struct mxr_device *mdev)
 
int mxr_reg_wait4vsync (struct mxr_device *mdev)
 
void mxr_reg_set_mbus_fmt (struct mxr_device *mdev, struct v4l2_mbus_framefmt *fmt)
 
void mxr_reg_graph_layer_stream (struct mxr_device *mdev, int idx, int en)
 
void mxr_reg_graph_buffer (struct mxr_device *mdev, int idx, dma_addr_t addr)
 
void mxr_reg_graph_format (struct mxr_device *mdev, int idx, const struct mxr_format *fmt, const struct mxr_geometry *geo)
 
void mxr_reg_vp_layer_stream (struct mxr_device *mdev, int en)
 
void mxr_reg_vp_buffer (struct mxr_device *mdev, dma_addr_t luma_addr[2], dma_addr_t chroma_addr[2])
 
void mxr_reg_vp_format (struct mxr_device *mdev, const struct mxr_format *fmt, const struct mxr_geometry *geo)
 
void mxr_reg_dump (struct mxr_device *mdev)
 

Macro Definition Documentation

#define mxr_dbg (   mdev,
  fmt,
  ... 
)    do { (void) mdev; } while (0)

Definition at line 338 of file mixer.h.

#define MXR_DISABLE   0

Definition at line 39 of file mixer.h.

#define MXR_DRIVER_NAME   "s5p-mixer"

Definition at line 34 of file mixer.h.

#define MXR_ENABLE   1

Definition at line 38 of file mixer.h.

#define mxr_err (   mdev,
  fmt,
  ... 
)    dev_err(mdev->dev, fmt, ##__VA_ARGS__)

Definition at line 331 of file mixer.h.

#define mxr_info (   mdev,
  fmt,
  ... 
)    dev_info(mdev->dev, fmt, ##__VA_ARGS__)

Definition at line 333 of file mixer.h.

#define MXR_MAX_LAYERS   3

maximum number of input interfaces (layers)

Definition at line 33 of file mixer.h.

#define MXR_MAX_OUTPUTS   2

maximum number of output interfaces

Definition at line 31 of file mixer.h.

#define MXR_MAX_PLANES   2

maximal number of planes for every layer

Definition at line 36 of file mixer.h.

#define MXR_NO_OFFSET   0x80000000

Definition at line 98 of file mixer.h.

#define mxr_warn (   mdev,
  fmt,
  ... 
)    dev_warn(mdev->dev, fmt, ##__VA_ARGS__)

Definition at line 332 of file mixer.h.

Enumeration Type Documentation

Enumerator:
MXR_EVENT_VSYNC 
MXR_EVENT_TOP 

Definition at line 227 of file mixer.h.

stages of geometry operations

Enumerator:
MXR_GEOMETRY_SINK 
MXR_GEOMETRY_COMPOSE 
MXR_GEOMETRY_CROP 
MXR_GEOMETRY_SOURCE 

Definition at line 90 of file mixer.h.

internal states of layer

Enumerator:
MXR_LAYER_IDLE 

layers is not shown

MXR_LAYER_STREAMING 

layer is shown

MXR_LAYER_STREAMING_FINISH 

state before STREAMOFF is finished

Definition at line 122 of file mixer.h.

Function Documentation

int __devinit mxr_acquire_video ( struct mxr_device mdev,
struct mxr_output_conf output_cont,
int  output_count 
)

acquiring common video resources

Definition at line 66 of file mixer_video.c.

struct mxr_layer* mxr_base_layer_create ( struct mxr_device mdev,
int  idx,
char name,
struct mxr_layer_ops ops 
)
read

Definition at line 1060 of file mixer_video.c.

int mxr_base_layer_register ( struct mxr_layer layer)

Definition at line 1025 of file mixer_video.c.

void mxr_base_layer_release ( struct mxr_layer layer)

Definition at line 1050 of file mixer_video.c.

void mxr_base_layer_unregister ( struct mxr_layer layer)

Definition at line 1039 of file mixer_video.c.

void mxr_get_mbus_fmt ( struct mxr_device mdev,
struct v4l2_mbus_framefmt *  mbus_fmt 
)

returns format of data delivared to current output

Definition at line 45 of file mixer_drv.c.

unsigned long mxr_get_plane_size ( const struct mxr_block blk,
unsigned int  width,
unsigned int  height 
)

Definition at line 263 of file mixer_video.c.

struct mxr_layer* mxr_graph_layer_create ( struct mxr_device mdev,
int  idx 
)
read

Definition at line 234 of file mixer_grp_layer.c.

irqreturn_t mxr_irq_handler ( int  irq,
void dev_data 
)

Definition at line 288 of file mixer_reg.c.

void mxr_layer_release ( struct mxr_layer layer)

Definition at line 1044 of file mixer_video.c.

void mxr_output_get ( struct mxr_device mdev)

add new client for output configuration

Definition at line 112 of file mixer_drv.c.

void mxr_output_put ( struct mxr_device mdev)

removes new client for output configuration

Definition at line 123 of file mixer_drv.c.

int __must_check mxr_power_get ( struct mxr_device mdev)

adds new consumer for mixer's power

Definition at line 136 of file mixer_drv.c.

void mxr_power_put ( struct mxr_device mdev)

removes consumer for mixer's power

Definition at line 147 of file mixer_drv.c.

void mxr_reg_dump ( struct mxr_device mdev)

Definition at line 548 of file mixer_reg.c.

void mxr_reg_graph_buffer ( struct mxr_device mdev,
int  idx,
dma_addr_t  addr 
)

Definition at line 214 of file mixer_reg.c.

void mxr_reg_graph_format ( struct mxr_device mdev,
int  idx,
const struct mxr_format fmt,
const struct mxr_geometry geo 
)

Definition at line 136 of file mixer_reg.c.

void mxr_reg_graph_layer_stream ( struct mxr_device mdev,
int  idx,
int  en 
)

Definition at line 419 of file mixer_reg.c.

void mxr_reg_reset ( struct mxr_device mdev)

Definition at line 84 of file mixer_reg.c.

void mxr_reg_s_output ( struct mxr_device mdev,
int  cookie 
)

Definition at line 323 of file mixer_reg.c.

void mxr_reg_set_mbus_fmt ( struct mxr_device mdev,
struct v4l2_mbus_framefmt *  fmt 
)

Definition at line 375 of file mixer_reg.c.

void mxr_reg_streamoff ( struct mxr_device mdev)

Definition at line 345 of file mixer_reg.c.

void mxr_reg_streamon ( struct mxr_device mdev)

Definition at line 331 of file mixer_reg.c.

void mxr_reg_vp_buffer ( struct mxr_device mdev,
dma_addr_t  luma_addr[2],
dma_addr_t  chroma_addr[2] 
)

Definition at line 232 of file mixer_reg.c.

void mxr_reg_vp_format ( struct mxr_device mdev,
const struct mxr_format fmt,
const struct mxr_geometry geo 
)

Definition at line 171 of file mixer_reg.c.

void mxr_reg_vp_layer_stream ( struct mxr_device mdev,
int  en 
)

Definition at line 424 of file mixer_reg.c.

int mxr_reg_wait4vsync ( struct mxr_device mdev)

Definition at line 358 of file mixer_reg.c.

void mxr_release_video ( struct mxr_device mdev)

releasing common video resources

Definition at line 145 of file mixer_video.c.

void mxr_streamer_get ( struct mxr_device mdev)

add new client for streaming

Definition at line 58 of file mixer_drv.c.

void mxr_streamer_put ( struct mxr_device mdev)

removes new client for streaming

Definition at line 90 of file mixer_drv.c.

struct mxr_layer* mxr_vp_layer_create ( struct mxr_device mdev,
int  idx 
)
read

Definition at line 205 of file mixer_vp_layer.c.

void mxr_vsync_set_update ( struct mxr_device mdev,
int  en 
)

Definition at line 60 of file mixer_reg.c.