linux/drivers/video/fbdev/i810/i810_main.h
<<
>>
Prefs
   1/*-*- linux-c -*-
   2 *  linux/drivers/video/i810fb_main.h -- Intel 810 frame buffer device 
   3 *                                       main header file
   4 *
   5 *      Copyright (C) 2001 Antonino Daplas<adaplas@pol.net>
   6 *      All Rights Reserved      
   7 *
   8 *
   9 *  This file is subject to the terms and conditions of the GNU General Public
  10 *  License. See the file COPYING in the main directory of this archive for
  11 *  more details.
  12 */
  13
  14#ifndef __I810_MAIN_H__
  15#define __I810_MAIN_H__
  16
  17/* Video Timings */
  18extern void round_off_xres         (u32 *xres);
  19extern void round_off_yres         (u32 *xres, u32 *yres);
  20extern u32 i810_get_watermark      (const struct fb_var_screeninfo *var,
  21                                    struct i810fb_par *par);
  22extern void i810fb_encode_registers(const struct fb_var_screeninfo *var,
  23                                    struct i810fb_par *par, u32 xres, u32 yres);
  24extern void i810fb_fill_var_timings(struct fb_var_screeninfo *var);
  25                                    
  26/* Accelerated Functions */
  27extern void i810fb_fillrect (struct fb_info *p, 
  28                             const struct fb_fillrect *rect);
  29extern void i810fb_copyarea (struct fb_info *p, 
  30                             const struct fb_copyarea *region);
  31extern void i810fb_imageblit(struct fb_info *p, const struct fb_image *image);
  32extern int  i810fb_sync     (struct fb_info *p);
  33
  34extern void i810fb_init_ringbuffer(struct fb_info *info);
  35extern void i810fb_load_front     (u32 offset, struct fb_info *info);
  36
  37#ifdef CONFIG_FB_I810_I2C
  38/* I2C */
  39extern int i810_probe_i2c_connector(struct fb_info *info, u8 **out_edid,
  40                                    int conn);
  41extern void i810_create_i2c_busses(struct i810fb_par *par);
  42extern void i810_delete_i2c_busses(struct i810fb_par *par);
  43#else
  44static inline int i810_probe_i2c_connector(struct fb_info *info, u8 **out_edid,
  45                                    int conn)
  46{
  47        return 1;
  48}
  49static inline void i810_create_i2c_busses(struct i810fb_par *par) { }
  50static inline void i810_delete_i2c_busses(struct i810fb_par *par) { }
  51#endif
  52
  53/* Conditionals */
  54#ifdef CONFIG_X86
  55static inline void flush_cache(void)
  56{
  57        asm volatile ("wbinvd":::"memory");
  58}
  59#else
  60#define flush_cache() do { } while(0)
  61#endif 
  62
  63#ifdef CONFIG_FB_I810_GTF
  64#define IS_DVT (0)
  65#else
  66#define IS_DVT (1)
  67#endif
  68
  69#endif /* __I810_MAIN_H__ */
  70