patch-2.1.132 linux/drivers/video/controlfb.h
Next file: linux/drivers/video/creatorfb.c
Previous file: linux/drivers/video/controlfb.c
Back to the patch index
Back to the overall index
- Lines: 160
- Date:
Mon Dec 21 14:48:04 1998
- Orig file:
v2.1.131/linux/drivers/video/controlfb.h
- Orig date:
Mon Oct 5 13:13:41 1998
diff -u --recursive --new-file v2.1.131/linux/drivers/video/controlfb.h linux/drivers/video/controlfb.h
@@ -73,6 +73,28 @@
struct preg res[6];
};
+struct control_regints {
+ /* Vertical parameters are in units of 1/2 scan line */
+ unsigned vswin; /* between vsblank and vssync */
+ unsigned vsblank; /* vert start blank */
+ unsigned veblank; /* vert end blank (display start) */
+ unsigned vewin; /* between vesync and veblank */
+ unsigned vesync; /* vert end sync */
+ unsigned vssync; /* vert start sync */
+ unsigned vperiod; /* vert period */
+ unsigned reg8;
+ /* Horizontal params are in units of 2 pixels */
+ /* Except, apparently, for hres > 1024 (or == 1280?) */
+ unsigned hperiod; /* horiz period - 2 */
+ unsigned hsblank; /* horiz start blank */
+ unsigned heblank; /* horiz end blank */
+ unsigned hesync; /* horiz end sync */
+ unsigned hssync; /* horiz start sync */
+ unsigned rege;
+ unsigned regf;
+ unsigned reg10;
+};
+
/*
* Register initialization tables for the control display.
*
@@ -81,9 +103,10 @@
*
* The values for vertical frequency (V) in the comments below
* are the values measured using the modes under MacOS.
+ *
+ * Pitch is always the same as bytes per line (for these video modes at least).
*/
struct control_regvals {
- int pitch[3]; /* bytes/line, indexed by color_mode */
int offset[3]; /* first pixel address */
unsigned regs[16]; /* for vswin .. reg10 */
unsigned char mode[3]; /* indexed by color_mode */
@@ -95,7 +118,6 @@
/* Register values for 1280x1024, 75Hz mode (20) */
static struct control_regvals control_reg_init_20 = {
- { 1280, 2560, 0 },
{ 0x10, 0x20, 0 },
{ 2129, 2128, 80, 42, 4, 2130, 2132, 88,
420, 411, 91, 35, 421, 18, 211, 386, },
@@ -107,7 +129,6 @@
/* Register values for 1280x960, 75Hz mode (19) */
static struct control_regvals control_reg_init_19 = {
- { 1280, 2560, 0 },
{ 0x10, 0x20, 0 },
{ 1997, 1996, 76, 40, 4, 1998, 2000, 86,
418, 409, 89, 35, 419, 18, 210, 384, },
@@ -119,7 +140,6 @@
/* Register values for 1152x870, 75Hz mode (18) */
static struct control_regvals control_reg_init_18 = {
- { 1152, 2304, 4608 },
{ 0x10, 0x28, 0x50 },
{ 1825, 1822, 82, 43, 4, 1828, 1830, 120,
726, 705, 129, 63, 727, 32, 364, 664 },
@@ -131,7 +151,6 @@
/* Register values for 1024x768, 75Hz mode (17) */
static struct control_regvals control_reg_init_17 = {
- { 1024, 2048, 4096 },
{ 0x10, 0x28, 0x50 },
{ 1603, 1600, 64, 34, 4, 1606, 1608, 120,
662, 641, 129, 47, 663, 24, 332, 616 },
@@ -141,9 +160,8 @@
1024, 768
};
-/* Register values for 1024x768, 72Hz mode (16 (15?)) */
-static struct control_regvals control_reg_init_16 = {
- { 1024, 2048, 4096 },
+/* Register values for 1024x768, 72Hz mode 16 (15?) */
+static struct control_regvals control_reg_init_15 = {
{ 0x10, 0x28, 0x50 },
{ 1607, 1604, 68, 39, 10, 1610, 1612, 132,
670, 653, 141, 67, 671, 34, 336, 604, },
@@ -155,7 +173,6 @@
/* Register values for 1024x768, 60Hz mode (14) */
static struct control_regvals control_reg_init_14 = {
- { 1024, 2048, 4096 },
{ 0x10, 0x28, 0x50 },
{ 1607, 1604, 68, 39, 10, 1610, 1612, 132,
670, 653, 141, 67, 671, 34, 336, 604, },
@@ -167,7 +184,6 @@
/* Register values for 832x624, 75Hz mode (13) */
static struct control_regvals control_reg_init_13 = {
- { 832, 1664, 3328 },
{ 0x10, 0x28, 0x50 },
{ 1331, 1330, 82, 43, 4, 1332, 1334, 128,
574, 553, 137, 31, 575, 16, 288, 544 },
@@ -178,7 +194,6 @@
/* Register values for 800x600, 75Hz mode (12) */
static struct control_regvals control_reg_init_12 = {
- { 800, 1600, 3200 },
{ 0x10, 0x28, 0x50 },
{ 1247, 1246, 46, 25, 4, 1248, 1250, 104,
526, 513, 113, 39, 527, 20, 264, 488, },
@@ -189,7 +204,6 @@
/* Register values for 800x600, 72Hz mode (11) */
static struct control_regvals control_reg_init_11 = {
- { 800, 1600, 3200 },
{ 0x10, 0x28, 0x50 },
{ 1293, 1256, 56, 33, 10, 1330, 1332, 76,
518, 485, 85, 59, 519, 30, 260, 460, },
@@ -200,7 +214,6 @@
/* Register values for 800x600, 60Hz mode (10) */
static struct control_regvals control_reg_init_10 = {
- { 800, 1600, 3200 },
{ 0x10, 0x28, 0x50 },
{ 1293, 1256, 56, 33, 10, 1330, 1332, 76,
518, 485, 85, 59, 519, 30, 260, 460, },
@@ -211,7 +224,6 @@
/* Register values for 640x870, 75Hz Full Page Display (7) */
static struct control_regvals control_reg_init_7 = {
- { 640, 1280, 2560 },
{ 0x10, 0x30, 0x68 },
{ 0x727, 0x724, 0x58, 0x2e, 0x4, 0x72a, 0x72c, 0x40,
0x19e, 0x18c, 0x4c, 0x27, 0x19f, 0x14, 0xd0, 0x178 },
@@ -222,7 +234,6 @@
/* Register values for 640x480, 67Hz mode (6) */
static struct control_regvals control_reg_init_6 = {
- { 640, 1280, 2560 },
{ 0, 8, 0x10 },
{ 1045, 1042, 82, 43, 4, 1048, 1050, 72,
430, 393, 73, 31, 431, 16, 216, 400 },
@@ -233,7 +244,6 @@
/* Register values for 640x480, 60Hz mode (5) */
static struct control_regvals control_reg_init_5 = {
- { 640, 1280, 2560 },
{ 0x10, 0x28, 0x50 },
{ 1037, 1026, 66, 34, 2, 1048, 1050, 56,
398, 385, 65, 47, 399, 24, 200, 352, },
@@ -253,8 +263,8 @@
&control_reg_init_12,
&control_reg_init_13,
&control_reg_init_14,
- &control_reg_init_16,
- &control_reg_init_16,
+ &control_reg_init_15,
+ &control_reg_init_15,
&control_reg_init_17,
&control_reg_init_18,
&control_reg_init_19,
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov