Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
gsc-core.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <linux/bug.h>
#include <linux/interrupt.h>
#include <linux/workqueue.h>
#include <linux/device.h>
#include <linux/platform_device.h>
#include <linux/list.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/clk.h>
#include <linux/of.h>
#include <media/v4l2-ioctl.h>
#include "gsc-core.h"

Go to the source code of this file.

Macros

#define GSC_CLOCK_GATE_NAME   "gscl"
 

Functions

struct gsc_fmtget_format (int index)
 
struct gsc_fmtfind_fmt (u32 *pixelformat, u32 *mbus_code, u32 index)
 
void gsc_set_frame_size (struct gsc_frame *frame, int width, int height)
 
int gsc_cal_prescaler_ratio (struct gsc_variant *var, u32 src, u32 dst, u32 *ratio)
 
void gsc_get_prescaler_shfactor (u32 hratio, u32 vratio, u32 *sh)
 
void gsc_check_src_scale_info (struct gsc_variant *var, struct gsc_frame *s_frame, u32 *wratio, u32 tx, u32 ty, u32 *hratio)
 
int gsc_enum_fmt_mplane (struct v4l2_fmtdesc *f)
 
void gsc_set_prefbuf (struct gsc_dev *gsc, struct gsc_frame *frm)
 
int gsc_try_fmt_mplane (struct gsc_ctx *ctx, struct v4l2_format *f)
 
int gsc_g_fmt_mplane (struct gsc_ctx *ctx, struct v4l2_format *f)
 
void gsc_check_crop_change (u32 tmp_w, u32 tmp_h, u32 *w, u32 *h)
 
int gsc_g_crop (struct gsc_ctx *ctx, struct v4l2_crop *cr)
 
int gsc_try_crop (struct gsc_ctx *ctx, struct v4l2_crop *cr)
 
int gsc_check_scaler_ratio (struct gsc_variant *var, int sw, int sh, int dw, int dh, int rot, int out_path)
 
int gsc_set_scaler_info (struct gsc_ctx *ctx)
 
int gsc_ctrls_create (struct gsc_ctx *ctx)
 
void gsc_ctrls_delete (struct gsc_ctx *ctx)
 
int gsc_prepare_addr (struct gsc_ctx *ctx, struct vb2_buffer *vb, struct gsc_frame *frame, struct gsc_addr *addr)
 
 MODULE_DEVICE_TABLE (platform, gsc_driver_ids)
 
 MODULE_DEVICE_TABLE (of, exynos_gsc_match)
 
 module_platform_driver (gsc_driver)
 
 MODULE_AUTHOR ("Hyunwong Kim <[email protected]>")
 
 MODULE_DESCRIPTION ("Samsung EXYNOS5 Soc series G-Scaler driver")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define GSC_CLOCK_GATE_NAME   "gscl"

Definition at line 31 of file gsc-core.c.

Function Documentation

struct gsc_fmt* find_fmt ( u32 pixelformat,
u32 mbus_code,
u32  index 
)
read

Definition at line 199 of file gsc-core.c.

struct gsc_fmt* get_format ( int  index)
read

Definition at line 191 of file gsc-core.c.

int gsc_cal_prescaler_ratio ( struct gsc_variant var,
u32  src,
u32  dst,
u32 ratio 
)

Definition at line 230 of file gsc-core.c.

void gsc_check_crop_change ( u32  tmp_w,
u32  tmp_h,
u32 w,
u32 h 
)

Definition at line 484 of file gsc-core.c.

int gsc_check_scaler_ratio ( struct gsc_variant var,
int  sw,
int  sh,
int  dw,
int  dh,
int  rot,
int  out_path 
)

Definition at line 596 of file gsc-core.c.

void gsc_check_src_scale_info ( struct gsc_variant var,
struct gsc_frame s_frame,
u32 wratio,
u32  tx,
u32  ty,
u32 hratio 
)

Definition at line 265 of file gsc-core.c.

int gsc_ctrls_create ( struct gsc_ctx ctx)

Definition at line 750 of file gsc-core.c.

void gsc_ctrls_delete ( struct gsc_ctx ctx)

Definition at line 780 of file gsc-core.c.

int gsc_enum_fmt_mplane ( struct v4l2_fmtdesc f)

Definition at line 299 of file gsc-core.c.

int gsc_g_crop ( struct gsc_ctx ctx,
struct v4l2_crop cr 
)

Definition at line 494 of file gsc-core.c.

int gsc_g_fmt_mplane ( struct gsc_ctx ctx,
struct v4l2_format f 
)

Definition at line 455 of file gsc-core.c.

void gsc_get_prescaler_shfactor ( u32  hratio,
u32  vratio,
u32 sh 
)

Definition at line 248 of file gsc-core.c.

int gsc_prepare_addr ( struct gsc_ctx ctx,
struct vb2_buffer vb,
struct gsc_frame frame,
struct gsc_addr addr 
)

Definition at line 789 of file gsc-core.c.

void gsc_set_frame_size ( struct gsc_frame frame,
int  width,
int  height 
)

Definition at line 220 of file gsc-core.c.

void gsc_set_prefbuf ( struct gsc_dev gsc,
struct gsc_frame frm 
)

Definition at line 330 of file gsc-core.c.

int gsc_set_scaler_info ( struct gsc_ctx ctx)

Definition at line 623 of file gsc-core.c.

int gsc_try_crop ( struct gsc_ctx ctx,
struct v4l2_crop cr 
)

Definition at line 507 of file gsc-core.c.

int gsc_try_fmt_mplane ( struct gsc_ctx ctx,
struct v4l2_format f 
)

Definition at line 378 of file gsc-core.c.

MODULE_AUTHOR ( "Hyunwong Kim <[email protected]>"  )
MODULE_DESCRIPTION ( "Samsung EXYNOS5 Soc series G-Scaler driver )
MODULE_DEVICE_TABLE ( platform  ,
gsc_driver_ids   
)
MODULE_DEVICE_TABLE ( of  ,
exynos_gsc_match   
)
MODULE_LICENSE ( "GPL"  )
module_platform_driver ( gsc_driver  )