1 /*
2  * Copyright 1999 through 2004 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and its
5  * documentation for any purpose is hereby granted without fee, provided that
6  * the above copyright notice appear in all copies and that both that copyright
7  * notice and this permission notice appear in supporting documentation, and
8  * that the name of Marc Aurele La France not be used in advertising or
9  * publicity pertaining to distribution of the software without specific,
10  * written prior permission.  Marc Aurele La France makes no representations
11  * about the suitability of this software for any purpose.  It is provided
12  * "as-is" without express or implied warranty.
13  *
14  * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO
16  * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20  * PERFORMANCE OF THIS SOFTWARE.
21  *
22  * DRI support by:
23  *    Leif Delgass <ldelgass@retinalburn.net>
24  */
25 
26 #ifndef ___ATIOPTION_H___
27 #define ___ATIOPTION_H___ 1
28 
29 #include "xf86str.h"
30 
31 /*
32  * Documented XF86Config options.
33  */
34 typedef enum
35 {
36     ATI_OPTION_PROBE_SPARSE,
37     ATI_OPTION_ACCEL,
38     ATI_OPTION_CRT_DISPLAY,
39     ATI_OPTION_CSYNC,
40     ATI_OPTION_HWCURSOR,
41 
42 #ifdef XF86DRI_DEVEL
43 
44     ATI_OPTION_IS_PCI,
45     ATI_OPTION_DMA_MODE,
46     ATI_OPTION_AGP_MODE,
47     ATI_OPTION_AGP_SIZE,
48     ATI_OPTION_LOCAL_TEXTURES,
49     ATI_OPTION_BUFFER_SIZE,
50 
51 #endif /* XF86DRI_DEVEL */
52 
53 #ifdef TV_OUT
54 
55     ATI_OPTION_TV_OUT,
56     ATI_OPTION_TV_STD,
57 
58 #endif /* TV_OUT */
59 
60     ATI_OPTION_MMIO_CACHE,
61     ATI_OPTION_TEST_MMIO_CACHE,
62     ATI_OPTION_PANEL_DISPLAY,
63     ATI_OPTION_REFERENCE_CLOCK,
64     ATI_OPTION_SHADOW_FB,
65     ATI_OPTION_SWCURSOR,
66     ATI_OPTION_ACCELMETHOD,
67     ATI_OPTION_RENDER_ACCEL
68 } ATIPublicOptionType;
69 
70 #ifdef TV_OUT
71 
72 #define ATI_TV_STDS_MAX_VALID   11
73 #define ATI_TV_STDS_NAME_MAXLEN 9
74 
75 typedef enum {
76     ATI_TV_STD_NTSC = 0,
77     ATI_TV_STD_PAL,
78     ATI_TV_STD_PALM,
79     ATI_TV_STD_PAL60,
80     ATI_TV_STD_NTSCJ,
81     ATI_TV_STD_PALCN,
82     ATI_TV_STD_PALN,
83     ATI_TV_STD_RESERVED1, /* NOT usable */
84     ATI_TV_STD_RESERVED2, /* NOT usable */
85     ATI_TV_STD_SCARTPAL,
86     ATI_TV_STD_NONE,      /* OK, means no tv standard change requested */
87     ATI_TV_STD_INVALID    /* Invalid tv standard requested */
88 } ATITVStandard;
89 
90 extern const char          * ATITVStandardNames[];
91 
92 #endif /* TV_OUT */
93 
94 extern const OptionInfoRec * ATIOptionsWeak(void);
95 
96 extern void                  ATIProcessOptions(ScrnInfoPtr, ATIPtr);
97 
98 #endif /* ___ATIOPTION_H___ */
99