5 ******************************************************************************
8 * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G
9 * integrated graphics chips.
11 * Copyright © 2004 Sylvain Meyer
13 * Author: Sylvain Meyer
15 ******************************************************************************
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
26 * You should have received a copy of the GNU General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
31 static void __devinit
get_initial_mode(struct intelfb_info
*dinfo
);
32 static void update_dinfo(struct intelfb_info
*dinfo
,
33 struct fb_var_screeninfo
*var
);
34 static int intelfb_get_fix(struct fb_fix_screeninfo
*fix
,
35 struct fb_info
*info
);
37 static int intelfb_check_var(struct fb_var_screeninfo
*var
,
38 struct fb_info
*info
);
39 static int intelfb_set_par(struct fb_info
*info
);
40 static int intelfb_setcolreg(unsigned regno
, unsigned red
, unsigned green
,
41 unsigned blue
, unsigned transp
,
42 struct fb_info
*info
);
44 static int intelfb_blank(int blank
, struct fb_info
*info
);
45 static int intelfb_pan_display(struct fb_var_screeninfo
*var
,
46 struct fb_info
*info
);
48 static void intelfb_fillrect(struct fb_info
*info
,
49 const struct fb_fillrect
*rect
);
50 static void intelfb_copyarea(struct fb_info
*info
,
51 const struct fb_copyarea
*region
);
52 static void intelfb_imageblit(struct fb_info
*info
,
53 const struct fb_image
*image
);
54 static int intelfb_cursor(struct fb_info
*info
,
55 struct fb_cursor
*cursor
);
57 static int intelfb_sync(struct fb_info
*info
);
59 static int intelfb_ioctl(struct inode
*inode
, struct file
*file
,
60 unsigned int cmd
, unsigned long arg
,
61 struct fb_info
*info
);
63 static int __devinit
intelfb_pci_register(struct pci_dev
*pdev
,
64 const struct pci_device_id
*ent
);
65 static void __devexit
intelfb_pci_unregister(struct pci_dev
*pdev
);
66 static int __devinit
intelfb_set_fbinfo(struct intelfb_info
*dinfo
);