Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

mx27_pp.c File Reference

Detailed Description

MX27 V4L2 Video Output Driver.

Video4Linux2 Output Device using MX27 eMMA Post-processing functionality.

Definition in file mx27_pp.c.

#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/module.h>
#include <linux/fb.h>
#include <linux/clk.h>
#include <linux/interrupt.h>
#include <asm/io.h>
#include "mx27_pp.h"
#include "mxc_v4l2_output.h"

Go to the source code of this file.


#define PP_DUMP(reg)   pr_debug("%s\t = 0x%08X\n", #reg, __raw_readl(reg))
#define PP_SKIP   1
#define PP_TBL_MAX   40
#define SCALE_RETRY   32


static int gcd (int x, int y)
 PP resizing routines.
irqreturn_t mxc_v4l2out_pp_in_irq_handler (int irq, void *dev_id)
int pp_cfg (vout_data *vout)
 Configure PP.
void pp_dump (void)
int pp_enable (int flag)
 Enable or disable PP.
void pp_exit (vout_data *vout)
 Deinitialize PP.
int pp_init (vout_data *vout)
 Initialize PP.
static irqreturn_t pp_isr (int irq, void *dev_id)
 PP IRQ handler.
int pp_num_last (void)
 Get the display No. of last completed PP frame.
int pp_ptr (unsigned long ptr)
 Set PP input address.
static int pphw_cfg (emma_pp_cfg *cfg)
 Configuration PP.
static int pphw_enable (int flag)
 Enable or disable PP.
static void pphw_exit (void)
 PP module clock disable.
static void pphw_init (void)
 PP module clock enable.
static int pphw_isr (void)
 Check PP interrupt status.
static int pphw_outptr (emma_pp_cfg *cfg)
 Set PP output address.
static int pphw_ptr (emma_pp_cfg *cfg)
 Set PP input address.
static int pphw_reset (void)
 Reset PP.
static int pphw_scale (emma_pp_scale *sz)
 Set PP resizing registers.
static int ratio (int x, int y, int *den)
 Get ratio.
static int scale_0d (int k, int coeff, int base, int nxt)
 Build PP coefficient entry Build one or more coefficient entries for PP coefficient table based on given coefficient.
static int scale_1d (int inv, int outv, int k)
static int scale_1d_smart (int *inv, int *outv, int index)
static int scale_2d (emma_pp_scale *sz)
static int set_output_addr (emma_pp_cfg *cfg, vout_data *vout)
 Set PP output address.


static struct clk * emma_clk
static int g_disp_num = 0
static int g_hlen
static emma_pp_cfg g_pp_cfg
static int g_vlen
static char pp_dev [] = "emma_pp"
static unsigned short scale_tbl [PP_TBL_MAX]

Generated by  Doxygen 1.6.0   Back to index