summaryrefslogtreecommitdiff
path: root/xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h
diff options
context:
space:
mode:
Diffstat (limited to 'xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h')
-rw-r--r--xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h132
1 files changed, 88 insertions, 44 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h b/xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h
index c75b44baf..42ad21368 100644
--- a/xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h
+++ b/xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h,v 1.18 2000/06/19 15:00:59 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atistruct.h,v 1.20 2000/08/04 21:07:16 tsi Exp $ */
/*
* Copyright 1999 through 2000 by Marc Aurele La France (TSI @ UQV), tsi@ualberta.ca
*
@@ -27,6 +27,7 @@
#include "atibank.h"
#include "aticlock.h"
#include "atiregs.h"
+
#include "xf86Resources.h"
#include "xaa.h"
@@ -51,16 +52,26 @@ typedef struct _ATIHWRec
/* The CRTC used to drive the screen (VGA, 8514, Mach64) */
CARD8 crtc;
- /* VGA registers */
- CARD8 genmo, crt[25], seq[5], gra[9], attr[21], lut[256 * 3];
+ /* Colour lookup table */
+ CARD8 lut[256 * 3];
- /* Generic DAC registers */
- CARD8 dac_read, dac_write, dac_mask;
+#ifndef AVOID_CPIO
+
+ /* VGA registers */
+ CARD8 genmo, crt[25], seq[5], gra[9], attr[21];
/* VGA Wonder registers */
CARD8 a3, a6, a7, ab, ac, ad, ae,
b0, b1, b2, b3, b5, b6, b8, b9, ba, bd, be, bf;
+ /* Shadow VGA CRTC registers */
+ CARD8 shadow_vga[25];
+
+#endif /* AVOID_CPIO */
+
+ /* Generic DAC registers */
+ CARD8 dac_read, dac_write, dac_mask;
+
/* Mach64 PLL registers */
CARD8 pll_vclk_cntl, pll_vclk_post_div,
pll_vclk0_fb_div, pll_vclk1_fb_div,
@@ -79,9 +90,6 @@ typedef struct _ATIHWRec
CARD32 lcd_index, config_panel, lcd_gen_ctrl,
horz_stretching, vert_stretching, ext_vert_stretch;
- /* Shadow VGA CRTC registers */
- CARD8 shadow_vga[25];
-
/* Shadow Mach64 CRTC registers */
CARD32 shadow_h_total_disp, shadow_h_sync_strt_wid,
shadow_v_total_disp, shadow_v_sync_strt_wid;
@@ -111,10 +119,15 @@ typedef struct _ATIHWRec
/* Clock programming data */
int FeedbackDivider, ReferenceDivider, PostDivider;
+#ifndef AVOID_CPIO
+
/* This is used by ATISwap() */
pointer frame_buffer;
ATIBankProcPtr SetBank;
unsigned int nBank, nPlane;
+
+#endif /* AVOID_CPIO */
+
} ATIHWRec;
/*
@@ -130,15 +143,27 @@ typedef struct _ATIRec
/*
* Adapter-related definitions.
*/
- CARD8 Adapter, VGAAdapter;
+ CARD8 Adapter;
+
+#ifndef AVOID_CPIO
+
+ CARD8 VGAAdapter;
+
+#endif /* AVOID_CPIO */
/*
* Chip-related definitions.
*/
- CARD8 Chip, Coprocessor;
+ CARD32 config_chip_id;
CARD16 ChipType;
+ CARD8 Chip;
CARD8 ChipClass, ChipRevision, ChipRev, ChipVersion, ChipFoundry;
- CARD8 ChipHasSUBSYS_CNTL;
+
+#ifndef AVOID_CPIO
+
+ CARD8 Coprocessor, ChipHasSUBSYS_CNTL;
+
+#endif /* AVOID_CPIO */
/*
* Processor I/O decoding definitions.
@@ -146,6 +171,8 @@ typedef struct _ATIRec
CARD8 CPIODecoding;
CARD16 CPIOBase;
+#ifndef AVOID_CPIO
+
/*
* Processor I/O port definition for VGA.
*/
@@ -158,27 +185,19 @@ typedef struct _ATIRec
CARD8 B2Reg; /* The B2 mirror */
CARD8 VGAOffset; /* Low index for CPIO_VGAWonder */
- /*
- * Processor I/O port definitions for Mach64.
- */
- CARD16 CPIO_CRTC_H_TOTAL_DISP, CPIO_CRTC_H_SYNC_STRT_WID,
- CPIO_CRTC_V_TOTAL_DISP, CPIO_CRTC_V_SYNC_STRT_WID,
- CPIO_CRTC_OFF_PITCH, CPIO_CRTC_INT_CNTL, CPIO_CRTC_GEN_CNTL,
- CPIO_DSP_CONFIG, CPIO_DSP_ON_OFF, CPIO_OVR_CLR,
- CPIO_OVR_WID_LEFT_RIGHT, CPIO_OVR_WID_TOP_BOTTOM,
- CPIO_TV_OUT_INDEX, CPIO_CLOCK_CNTL, CPIO_TV_OUT_DATA,
- CPIO_BUS_CNTL, CPIO_LCD_INDEX, CPIO_LCD_DATA, CPIO_MEM_INFO,
- CPIO_MEM_VGA_WP_SEL, CPIO_MEM_VGA_RP_SEL,
- CPIO_DAC_REGS, CPIO_DAC_CNTL,
- CPIO_HORZ_STRETCHING, CPIO_VERT_STRETCHING,
- CPIO_GEN_TEST_CNTL, CPIO_LCD_GEN_CTRL,
- CPIO_POWER_MANAGEMENT, CPIO_CONFIG_CNTL;
+#endif /* AVOID_CPIO */
/*
* DAC-related definitions.
*/
- CARD16 DAC;
+
+#ifndef AVOID_CPIO
+
CARD16 CPIO_DAC_MASK, CPIO_DAC_DATA, CPIO_DAC_READ, CPIO_DAC_WRITE;
+
+#endif /* AVOID_CPIO */
+
+ CARD16 DAC;
CARD8 rgbBits;
/*
@@ -187,7 +206,14 @@ typedef struct _ATIRec
pciVideoPtr PCIInfo;
resRange VGAWonderResources[2];
CARD8 BusType;
- CARD8 SharedVGA, SharedAccelerator;
+ CARD8 SharedAccelerator;
+
+#ifndef AVOID_CPIO
+
+ CARD8 SharedVGA;
+ resRange VGAWonderResources[2];
+
+#endif /* AVOID_CPIO */
/*
* Definitions related to video memory.
@@ -203,32 +229,42 @@ typedef struct _ATIRec
/*
* Definitions related to video memory apertures.
*/
- pointer pBank, pMemory, pShadow;
- unsigned long LinearBase, ApertureBase;
- int LinearSize, ApertureSize, FBPitch, FBBytesPerPixel;
+ pointer pMemory, pShadow;
+ unsigned long LinearBase;
+ int LinearSize, FBPitch, FBBytesPerPixel;
+
+#ifndef AVOID_CPIO
+
+ pointer pBank;
CARD8 UseSmallApertures;
+#endif /* AVOID_CPIO */
+
/*
* Definitions related to MMIO register apertures.
*/
pointer pMMIO, pBlock[2];
- unsigned long PageSize, MMIOBase;
unsigned long Block0Base, Block1Base;
+#ifndef AVOID_CPIO
+
/*
* Banking interface.
*/
miBankInfoRec BankInfo;
+#endif /* AVOID_CPIO */
+
/*
* XAA interface.
*/
XAAInfoRecPtr pXAAInfo;
- int nAvailableFIFOEntries, nFIFOEntries;
+ int nAvailableFIFOEntries, nFIFOEntries, nHostFIFOEntries;
CARD8 EngineIsBusy, EngineIsLocked, XModifier;
CARD32 dst_cntl; /* For SetupFor/Subsequent communication */
- CARD32 ExpansionBitmapScanline[256];
- CARD32 *ExpansionBitmapScanlinePtr;
+ CARD16 sc_left, sc_right, sc_top, sc_bottom; /* Current scissors */
+ pointer pHOST_DATA; /* Current HOST_DATA_* transfer window address */
+ CARD32 *ExpansionBitmapScanlinePtr[2];
int ExpansionBitmapWidth;
/*
@@ -241,9 +277,10 @@ typedef struct _ATIRec
* Clock-related definitions.
*/
int ClockNumberToProgramme, ReferenceNumerator, ReferenceDenominator;
+ int ProgrammableClock;
ClockRec ClockDescriptor;
CARD16 BIOSClocks[16];
- CARD8 Clock, ProgrammableClock;
+ CARD8 Clock;
/*
* DSP register data.
@@ -286,21 +323,28 @@ typedef struct _ATIRec
*/
struct
{
+ /* Mach64 registers */
+ CARD32 bus_cntl, crtc_gen_cntl, mem_cntl, gen_test_cntl, crtc_int_cntl,
+ lcd_index;
+
+#ifndef AVOID_CPIO
+
+ CARD32 config_cntl, dac_cntl;
+
+ /* Mach8/Mach32 registers */
+ CARD16 clock_sel, misc_options, mem_bndry, mem_cfg;
+
+ /* VGA Wonder registers */
+ CARD8 a6, ab, b1, b4, b5, b6, b8, b9, be;
+
/* VGA registers */
CARD8 crt03, crt11;
/* VGA shadow registers */
CARD8 shadow_crt03, shadow_crt11;
- /* VGA Wonder registers */
- CARD8 a6, ab, b1, b4, b5, b6, b8, b9, be;
+#endif /* AVOID_CPIO */
- /* Mach8/Mach32 registers */
- CARD16 clock_sel, misc_options, mem_bndry, mem_cfg;
-
- /* Mach64 registers */
- CARD32 bus_cntl, config_cntl, crtc_gen_cntl, mem_info, gen_test_cntl,
- dac_cntl, crtc_int_cntl, lcd_index;
} LockData;
/* Mode data */