]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/dev/drm/gamma.h
This commit was generated by cvs2svn to compensate for changes in r98005,
[FreeBSD/FreeBSD.git] / sys / dev / drm / gamma.h
1 /* gamma.c -- 3dlabs GMX 2000 driver -*- linux-c -*-
2  * Created: Mon Jan  4 08:58:31 1999 by gareth@valinux.com
3  *
4  * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
5  * All Rights Reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a
8  * copy of this software and associated documentation files (the "Software"),
9  * to deal in the Software without restriction, including without limitation
10  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11  * and/or sell copies of the Software, and to permit persons to whom the
12  * Software is furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice (including the next
15  * paragraph) shall be included in all copies or substantial portions of the
16  * Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
21  * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
22  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
23  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24  * DEALINGS IN THE SOFTWARE.
25  *
26  * Authors:
27  *    Gareth Hughes <gareth@valinux.com>
28  *
29  * $FreeBSD$
30  */
31
32 #ifndef __GAMMA_H__
33 #define __GAMMA_H__
34
35 /* This remains constant for all DRM template files.
36  */
37 #define DRM(x) gamma_##x
38
39 /* General customization:
40  */
41 #define __HAVE_MTRR                     1
42
43 /* DMA customization:
44  */
45 #define __HAVE_DMA                      1
46 #define __HAVE_OLD_DMA                  1
47 #define __HAVE_PCI_DMA                  1
48
49 #define __HAVE_MULTIPLE_DMA_QUEUES      1
50 #define __HAVE_DMA_WAITQUEUE            1
51
52 #define __HAVE_DMA_WAITLIST             1
53 #define __HAVE_DMA_FREELIST             1
54
55 #define __HAVE_DMA_FLUSH                1
56 #define __HAVE_DMA_SCHEDULE             1
57
58 #define __HAVE_DMA_READY                1
59 #define DRIVER_DMA_READY() do {                                         \
60         gamma_dma_ready(dev);                                           \
61 } while (0)
62
63 #define __HAVE_DMA_QUIESCENT            1
64 #define DRIVER_DMA_QUIESCENT() do {                                     \
65         /* FIXME ! */                                                   \
66         gamma_dma_quiescent_dual(dev);                                  \
67         return 0;                                                       \
68 } while (0)
69
70 #define __HAVE_DMA_IRQ                  1
71 #define __HAVE_DMA_IRQ_BH               1
72 #define DRIVER_PREINSTALL() do {                                        \
73         drm_gamma_private_t *dev_priv =                                 \
74                                 (drm_gamma_private_t *)dev->dev_private;\
75         GAMMA_WRITE( GAMMA_GCOMMANDMODE,        0x00000000 );           \
76         GAMMA_WRITE( GAMMA_GDMACONTROL,         0x00000000 );           \
77 } while (0)
78
79 #define DRIVER_POSTINSTALL() do {                                       \
80         drm_gamma_private_t *dev_priv =                                 \
81                                 (drm_gamma_private_t *)dev->dev_private;\
82         GAMMA_WRITE( GAMMA_GINTENABLE,          0x00002001 );           \
83         GAMMA_WRITE( GAMMA_COMMANDINTENABLE,    0x00000008 );           \
84         GAMMA_WRITE( GAMMA_GDELAYTIMER,         0x00039090 );           \
85 } while (0)
86
87 #define DRIVER_UNINSTALL() do {                                         \
88         drm_gamma_private_t *dev_priv =                                 \
89                                 (drm_gamma_private_t *)dev->dev_private;\
90         GAMMA_WRITE( GAMMA_GDELAYTIMER,         0x00000000 );           \
91         GAMMA_WRITE( GAMMA_COMMANDINTENABLE,    0x00000000 );           \
92         GAMMA_WRITE( GAMMA_GINTENABLE,          0x00000000 );           \
93 } while (0)
94
95 #endif /* __GAMMA_H__ */