Home | History | Annotate | Line # | Download | only in src
      1 /*
      2  * Copyright 2000 ATI Technologies Inc., Markham, Ontario,
      3  *                VA Linux Systems Inc., Fremont, California.
      4  *
      5  * All Rights Reserved.
      6  *
      7  * Permission is hereby granted, free of charge, to any person obtaining
      8  * a copy of this software and associated documentation files (the
      9  * "Software"), to deal in the Software without restriction, including
     10  * without limitation on the rights to use, copy, modify, merge,
     11  * publish, distribute, sublicense, and/or sell copies of the Software,
     12  * and to permit persons to whom the Software is furnished to do so,
     13  * subject to the following conditions:
     14  *
     15  * The above copyright notice and this permission notice (including the
     16  * next paragraph) shall be included in all copies or substantial
     17  * portions of the Software.
     18  *
     19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     20  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     21  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     22  * NON-INFRINGEMENT.  IN NO EVENT SHALL ATI, VA LINUX SYSTEMS AND/OR
     23  * THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     24  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
     25  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     26  * DEALINGS IN THE SOFTWARE.
     27  */
     28 
     29 /*
     30  * Authors:
     31  *   Kevin E. Martin <martin (at) xfree86.org>
     32  *   Rickard E. Faith <faith (at) valinux.com>
     33  *
     34  */
     35 
     36 #ifndef _RADEON_DRI_
     37 #define _RADEON_DRI_
     38 
     39 #include "xf86drm.h"
     40 
     41 /* DRI Driver defaults */
     42 #define RADEON_DEFAULT_GART_SIZE      8 /* MB (must be 2^n and > 4MB) */
     43 #define R300_DEFAULT_GART_SIZE        32 /* MB (for R300 and above) */
     44 #define RADEON_DEFAULT_RING_SIZE      1 /* MB (must be page aligned) */
     45 #define RADEON_DEFAULT_BUFFER_SIZE    2 /* MB (must be page aligned) */
     46 #define RADEON_DEFAULT_GART_TEX_SIZE  1 /* MB (must be page aligned) */
     47 
     48 #define RADEON_DEFAULT_CP_TIMEOUT     100000  /* usecs */
     49 
     50 #define RADEON_DEFAULT_PCI_APER_SIZE 32 /* in MB */
     51 
     52 #define RADEON_CARD_TYPE_RADEON       1
     53 
     54 typedef struct {
     55     /* DRI screen private data */
     56     int           deviceID;	/* PCI device ID */
     57     int           width;	/* Width in pixels of display */
     58     int           height;	/* Height in scanlines of display */
     59     int           depth;	/* Depth of display (8, 15, 16, 24) */
     60     int           bpp;		/* Bit depth of display (8, 16, 24, 32) */
     61 
     62     int           IsPCI;	/* Current card is a PCI card */
     63     int           AGPMode;
     64 
     65     int           frontOffset;  /* Start of front buffer */
     66     int           frontPitch;
     67     int           backOffset;   /* Start of shared back buffer */
     68     int           backPitch;
     69     int           depthOffset;  /* Start of shared depth buffer */
     70     int           depthPitch;
     71     int           textureOffset;/* Start of texture data in frame buffer */
     72     int           textureSize;
     73     int           log2TexGran;
     74 
     75     /* MMIO register data */
     76     drm_handle_t     registerHandle;
     77     drmSize       registerSize;
     78 
     79     /* CP in-memory status information */
     80     drm_handle_t     statusHandle;
     81     drmSize       statusSize;
     82 
     83     /* CP GART Texture data */
     84     drm_handle_t     gartTexHandle;
     85     drmSize       gartTexMapSize;
     86     int           log2GARTTexGran;
     87     int           gartTexOffset;
     88     unsigned int  sarea_priv_offset;
     89 } RADEONDRIRec, *RADEONDRIPtr;
     90 
     91 #endif
     92