~ubuntu-branches/ubuntu/trusty/xserver-xorg-video-vesa/trusty-proposed

« back to all changes in this revision

Viewing changes to src/vesa.h

  • Committer: Bazaar Package Importer
  • Author(s): David Nusinow
  • Date: 2006-12-10 19:49:32 UTC
  • Revision ID: james.westby@ubuntu.com-20061210194932-7jjmkj75wwb0sjxb
Tags: upstream-1.3.0
Import upstream version 1.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com)
 
3
 * 
 
4
 * Permission is hereby granted, free of charge, to any person obtaining a
 
5
 * copy of this software and associated documentation files (the "Software"),
 
6
 * to deal in the Software without restriction, including without limitation
 
7
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 
8
 * and/or sell copies of the Software, and to permit persons to whom the
 
9
 * Software is furnished to do so, subject to the following conditions:
 
10
 * 
 
11
 * The above copyright notice and this permission notice shall be included in
 
12
 * all copies or substantial portions of the Software.
 
13
 *  
 
14
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
15
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
16
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 
17
 * CONECTIVA LINUX BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 
18
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
 
19
 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 
20
 * SOFTWARE.
 
21
 * 
 
22
 * Except as contained in this notice, the name of Conectiva Linux shall
 
23
 * not be used in advertising or otherwise to promote the sale, use or other
 
24
 * dealings in this Software without prior written authorization from
 
25
 * Conectiva Linux.
 
26
 *
 
27
 * Authors: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
 
28
 *
 
29
 * $XFree86: xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.h,v 1.12 2002/08/06 13:46:27 dawes Exp $
 
30
 */
 
31
 
 
32
#ifndef _VESA_H_
 
33
#define _VESA_H_
 
34
 
 
35
/* All drivers should typically include these */
 
36
#include "xf86.h"
 
37
#include "xf86_OSproc.h"
 
38
#include "xf86Resources.h"
 
39
 
 
40
/* All drivers need this */
 
41
 
 
42
#include "compiler.h"
 
43
 
 
44
/* Drivers for PCI hardware need this */
 
45
#include "xf86PciInfo.h"
 
46
 
 
47
#include "vgaHW.h"
 
48
 
 
49
/* Drivers that need to access the PCI config space directly need this */
 
50
#include "xf86Pci.h"
 
51
 
 
52
/* VBE/DDC support */
 
53
#include "vbe.h"
 
54
#include "vbeModes.h"
 
55
#include "xf86DDC.h"
 
56
 
 
57
/* ShadowFB support */
 
58
#include "shadow.h"
 
59
 
 
60
/* Int 10 support */
 
61
#include "xf86int10.h"
 
62
 
 
63
/* bank switching */
 
64
#include "mibank.h"
 
65
 
 
66
/* Dga definitions */
 
67
#include "dgaproc.h"
 
68
 
 
69
#include "xf86Resources.h"
 
70
#include "xf86RAC.h"
 
71
 
 
72
#include "xf1bpp.h"
 
73
#include "xf4bpp.h"
 
74
#include "fb.h"
 
75
 
 
76
#ifdef USE_AFB
 
77
#include "afb.h"
 
78
#endif
 
79
 
 
80
#include "mfb.h"
 
81
 
 
82
#define VESA_VERSION            4000
 
83
#define VESA_NAME               "VESA"
 
84
#define VESA_DRIVER_NAME        "vesa"
 
85
#define VESA_MAJOR_VERSION      1
 
86
#define VESA_MINOR_VERSION      3
 
87
#define VESA_PATCHLEVEL         0
 
88
 
 
89
/*XXX*/
 
90
 
 
91
typedef struct _VESARec
 
92
{
 
93
    vbeInfoPtr pVbe;
 
94
    EntityInfoPtr pEnt;
 
95
    CARD16 major, minor;
 
96
    VbeInfoBlock *vbeInfo;
 
97
    GDevPtr device;
 
98
    pciVideoPtr pciInfo;
 
99
    PCITAG pciTag;
 
100
    miBankInfoRec bank;
 
101
    int curBank, bankSwitchWindowB;
 
102
    CARD16 maxBytesPerScanline;
 
103
    unsigned long mapPhys, mapOff, mapSize;     /* video memory */
 
104
    void *base, *VGAbase;
 
105
    CARD8 *state, *pstate;      /* SVGA state */
 
106
    int statePage, stateSize, stateMode;
 
107
    int page;
 
108
    CARD32 *pal, *savedPal;
 
109
    CARD8 *fonts;
 
110
    xf86MonPtr monitor;
 
111
    Bool shadowFB, primary;
 
112
    CARD32 windowAoffset;
 
113
    /* Don't override the default refresh rate. */
 
114
    Bool defaultRefresh;
 
115
    /* DGA info */
 
116
    DGAModePtr pDGAMode;
 
117
    int nDGAMode;
 
118
    CloseScreenProcPtr CloseScreen;
 
119
    CreateScreenResourcesProcPtr CreateScreenResources;
 
120
    OptionInfoPtr Options;
 
121
    IOADDRESS ioBase;
 
122
    Bool ModeSetClearScreen;
 
123
    void *shadow;
 
124
    ShadowUpdateProc update;
 
125
    ShadowWindowProc window;
 
126
} VESARec, *VESAPtr;
 
127
 
 
128
 
 
129
#endif /* _VESA_H_ */