linux/drivers/video/fbdev/core/fbcvt.c

/*
 * linux/drivers/video/fbcvt.c - VESA(TM) Coordinated Video Timings
 *
 * Copyright (C) 2005 Antonino Daplas <[email protected]>
 *
 *      Based from the VESA(TM) Coordinated Video Timing Generator by
 *      Graham Loveridge April 9, 2003 available at
 *      http://www.elo.utfsm.cl/~elo212/docs/CVTd6r1.xls
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive
 * for more details.
 *
 */
#include <linux/fb.h>
#include <linux/slab.h>

#define FB_CVT_CELLSIZE
#define FB_CVT_GTF_C
#define FB_CVT_GTF_J
#define FB_CVT_GTF_K
#define FB_CVT_GTF_M
#define FB_CVT_MIN_VSYNC_BP
#define FB_CVT_MIN_VPORCH
#define FB_CVT_MIN_BPORCH

#define FB_CVT_RB_MIN_VBLANK
#define FB_CVT_RB_HBLANK
#define FB_CVT_RB_V_FPORCH

#define FB_CVT_FLAG_REDUCED_BLANK
#define FB_CVT_FLAG_MARGINS
#define FB_CVT_FLAG_INTERLACED

struct fb_cvt_data {};

static const unsigned char fb_cvt_vbi_tab[] =;

/* returns hperiod * 1000 */
static u32 fb_cvt_hperiod(struct fb_cvt_data *cvt)
{}

/* returns ideal duty cycle * 1000 */
static u32 fb_cvt_ideal_duty_cycle(struct fb_cvt_data *cvt)
{}

static u32 fb_cvt_hblank(struct fb_cvt_data *cvt)
{}

static u32 fb_cvt_hsync(struct fb_cvt_data *cvt)
{}

static u32 fb_cvt_vbi_lines(struct fb_cvt_data *cvt)
{}

static u32 fb_cvt_vtotal(struct fb_cvt_data *cvt)
{}

static u32 fb_cvt_pixclock(struct fb_cvt_data *cvt)
{}

static u32 fb_cvt_aspect_ratio(struct fb_cvt_data *cvt)
{}

static void fb_cvt_print_name(struct fb_cvt_data *cvt)
{}

static void fb_cvt_convert_to_mode(struct fb_cvt_data *cvt,
				   struct fb_videomode *mode)
{}

/*
 * fb_find_mode_cvt - calculate mode using VESA(TM) CVT
 * @mode: pointer to fb_videomode; xres, yres, refresh and vmode must be
 *        pre-filled with the desired values
 * @margins: add margin to calculation (1.8% of xres and yres)
 * @rb: compute with reduced blanking (for flatpanels)
 *
 * RETURNS:
 * 0 for success
 * @mode is filled with computed values.  If interlaced, the refresh field
 * will be filled with the field rate (2x the frame rate)
 *
 * DESCRIPTION:
 * Computes video timings using VESA(TM) Coordinated Video Timings
 */
int fb_find_mode_cvt(struct fb_videomode *mode, int margins, int rb)
{}