16ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh/**************************************************************************** 26ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh **************************************************************************** 36ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** 46ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** This header was automatically generated from a Linux kernel header 56ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** of the same name, to make information necessary for userspace to 66ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** call into the kernel available to libc. It contains only constants, 76ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** structures, and macros generated from the original header, and thus, 86ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** contains no copyrightable information. 96ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** 106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh **************************************************************************** 116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************/ 126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#ifndef _LINUX_FB_H 136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define _LINUX_FB_H 146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <asm/types.h> 166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_MAJOR 29 186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_MAX 32 196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGET_VSCREENINFO 0x4600 216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOPUT_VSCREENINFO 0x4601 226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGET_FSCREENINFO 0x4602 236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGETCMAP 0x4604 246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOPUTCMAP 0x4605 256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOPAN_DISPLAY 0x4606 266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor) 276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGET_CON2FBMAP 0x460F 296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOPUT_CON2FBMAP 0x4610 306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOBLANK 0x4611 316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank) 326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIO_ALLOC 0x4613 336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIO_FREE 0x4614 346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGET_GLYPH 0x4615 356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGET_HWCINFO 0x4616 366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOPUT_MODEINFO 0x4617 376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FBIOGET_DISPINFO 0x4618 386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_TYPE_PACKED_PIXELS 0 406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_TYPE_PLANES 1 416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_TYPE_INTERLEAVED_PLANES 2 426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_TYPE_TEXT 3 436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_TYPE_VGA_PLANES 4 446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_TEXT_MDA 0 466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_TEXT_CGA 1 476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_TEXT_S3_MMIO 2 486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_TEXT_MGA_STEP16 3 496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_TEXT_MGA_STEP8 4 506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_VGA_PLANES_VGA4 0 526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_VGA_PLANES_CFB4 1 536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_AUX_VGA_PLANES_CFB8 2 546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VISUAL_MONO01 0 566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VISUAL_MONO10 1 576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VISUAL_TRUECOLOR 2 586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VISUAL_PSEUDOCOLOR 3 596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VISUAL_DIRECTCOLOR 4 606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NONE 0 636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_ATARIBLITT 1 646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_AMIGABLITT 2 656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_S3_TRIO64 3 666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NCR_77C32BLT 4 676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_S3_VIRGE 5 686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_ATI_MACH64GX 6 696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_DEC_TGA 7 706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_ATI_MACH64CT 8 716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_ATI_MACH64VT 9 726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_ATI_MACH64GT 10 736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUN_CREATOR 11 746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUN_CGSIX 12 756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUN_LEO 13 766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_IMS_TWINTURBO 14 776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_3DLABS_PERMEDIA2 15 786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_MATROX_MGA2064W 16 796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_MATROX_MGA1064SG 17 806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_MATROX_MGA2164W 18 816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_MATROX_MGA2164W_AGP 19 826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_MATROX_MGAG100 20 836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_MATROX_MGAG200 21 846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUN_CG14 22 856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUN_BWTWO 23 866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUN_CGTHREE 24 876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUN_TCX 25 886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_MATROX_MGAG400 26 896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NV3 27 906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NV4 28 916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NV5 29 926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_CT_6555x 30 936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_3DFX_BANSHEE 31 946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_ATI_RAGE128 32 956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_IGS_CYBER2000 33 966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_IGS_CYBER2010 34 976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_IGS_CYBER5000 35 986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SIS_GLAMOUR 36 996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_3DLABS_PERMEDIA3 37 1006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_ATI_RADEON 38 1016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_I810 39 1026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SIS_GLAMOUR_2 40 1036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SIS_XABRE 41 1046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_I830 42 1056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NV_10 43 1066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NV_20 44 1076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NV_30 45 1086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NV_40 46 1096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_XGI_VOLARI_V 47 1106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_XGI_VOLARI_Z 48 1116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_OMAP1610 49 1126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2070 90 1136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2090 91 1146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2093 92 1156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2097 93 1166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2160 94 1176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2200 95 1186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2230 96 1196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2360 97 1206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_NEOMAGIC_NM2380 98 1216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE4 0x80 1236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE3D 0x81 1246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE3D_MV 0x82 1256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE2000 0x83 1266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE_MX_MV 0x84 1276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE_MX 0x85 1286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE_IX_MV 0x86 1296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SAVAGE_IX 0x87 1306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_PROSAVAGE_PM 0x88 1316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_PROSAVAGE_KM 0x89 1326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_S3TWISTER_P 0x8a 1336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_S3TWISTER_K 0x8b 1346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_SUPERSAVAGE 0x8c 1356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_PROSAVAGE_DDR 0x8d 1366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCEL_PROSAVAGE_DDRK 0x8e 1376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_fix_screeninfo { 1396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh char id[16]; 1406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long smem_start; 1416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 smem_len; 1436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 type; 1446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 type_aux; 1456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 visual; 1466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 xpanstep; 1476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 ypanstep; 1486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 ywrapstep; 1496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 line_length; 1506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned long mmio_start; 1516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 mmio_len; 1536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 accel; 1546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 reserved[3]; 1566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 1576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_bitfield { 1596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 offset; 1606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 length; 1616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 msb_right; 1626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 1646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_NONSTD_HAM 1 1666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_NOW 0 1686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_NXTOPEN 1 1696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_TEST 2 1706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_MASK 15 1716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_VBL 16 1736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CHANGE_CMAP_VBL 32 1746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_ALL 64 1756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_FORCE 128 1766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACTIVATE_INV_MODE 256 1776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ACCELF_TEXT 1 1796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_SYNC_HOR_HIGH_ACT 1 1816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_SYNC_VERT_HIGH_ACT 2 1826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_SYNC_EXT 4 1836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_SYNC_COMP_HIGH_ACT 8 1846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_SYNC_BROADCAST 16 1856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_SYNC_ON_GREEN 32 1876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VMODE_NONINTERLACED 0 1896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VMODE_INTERLACED 1 1906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VMODE_DOUBLE 2 1916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VMODE_MASK 255 1926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VMODE_YWRAP 256 1946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VMODE_SMOOTH_XPAN 512 1956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VMODE_CONUPDATE 512 1966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ROTATE_UR 0 1986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ROTATE_CW 1 1996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ROTATE_UD 2 2006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_ROTATE_CCW 3 2016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define PICOS2KHZ(a) (1000000000UL/(a)) 2036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KHZ2PICOS(a) (1000000000UL/(a)) 2046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_var_screeninfo { 2066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 xres; 2076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 yres; 2086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 xres_virtual; 2096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 yres_virtual; 2106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 xoffset; 2116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 yoffset; 2126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 bits_per_pixel; 2146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 grayscale; 2156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct fb_bitfield red; 2176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct fb_bitfield green; 2186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct fb_bitfield blue; 2196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct fb_bitfield transp; 2206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 nonstd; 2226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 activate; 2246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 height; 2266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 width; 2276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 accel_flags; 2296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 pixclock; 2316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 left_margin; 2326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 right_margin; 2336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 upper_margin; 2346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 lower_margin; 2356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 hsync_len; 2366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 vsync_len; 2376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 sync; 2386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 vmode; 2396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 rotate; 2406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 reserved[5]; 2416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 2426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_cmap { 2446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 start; 2456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 len; 2466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 *red; 2476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 *green; 2486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 *blue; 2496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 *transp; 2506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 2516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_con2fbmap { 2536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 console; 2546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 framebuffer; 2556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 2566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define VESA_NO_BLANKING 0 2586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define VESA_VSYNC_SUSPEND 1 2596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define VESA_HSYNC_SUSPEND 2 2606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define VESA_POWERDOWN 3 2616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehenum { 2636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh FB_BLANK_UNBLANK = VESA_NO_BLANKING, 2656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh FB_BLANK_NORMAL = VESA_NO_BLANKING + 1, 2676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1, 2696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1, 2716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1 2736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 2746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_VBLANKING 0x001 2766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_HBLANKING 0x002 2776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_HAVE_VBLANK 0x004 2786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_HAVE_HBLANK 0x008 2796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_HAVE_COUNT 0x010 2806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_HAVE_VCOUNT 0x020 2816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_HAVE_HCOUNT 0x040 2826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_VSYNCING 0x080 2836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_VBLANK_HAVE_VSYNC 0x100 2846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_vblank { 2866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 flags; 2876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 count; 2886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 vcount; 2896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 hcount; 2906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 reserved[4]; 2916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 2926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ROP_COPY 0 2946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ROP_XOR 1 2956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_copyarea { 2976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 dx; 2986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 dy; 2996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 width; 3006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 height; 3016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 sx; 3026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 sy; 3036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 3046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_fillrect { 3066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 dx; 3076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 dy; 3086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 width; 3096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 height; 3106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 color; 3116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 rop; 3126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 3136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_image { 3156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 dx; 3166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 dy; 3176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 width; 3186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 height; 3196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 fg_color; 3206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 bg_color; 3216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u8 depth; 3226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh const char *data; 3236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct fb_cmap cmap; 3246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 3256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CUR_SETIMAGE 0x01 3276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CUR_SETPOS 0x02 3286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CUR_SETHOT 0x04 3296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CUR_SETCMAP 0x08 3306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CUR_SETSHAPE 0x10 3316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CUR_SETSIZE 0x20 3326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FB_CUR_SETALL 0xFF 3336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fbcurpos { 3356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 x, y; 3366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 3376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct fb_cursor { 3396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 set; 3406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 enable; 3416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 rop; 3426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh const char *mask; 3436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct fbcurpos hot; 3446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct fb_image image; 3456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 3466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif 348