OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [drivers/] [char/] [drm/] [r128.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/* r128.h -- ATI Rage 128 DRM template customization -*- linux-c -*-
2
 * Created: Wed Feb 14 16:07:10 2001 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
 * VA LINUX SYSTEMS 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
24
 * OTHER DEALINGS IN THE SOFTWARE.
25
 *
26
 * Authors:
27
 *    Gareth Hughes <gareth@valinux.com>
28
 */
29
 
30
#ifndef __R128_H__
31
#define __R128_H__
32
 
33
/* This remains constant for all DRM template files.
34
 */
35
#define DRM(x) r128_##x
36
 
37
/* General customization:
38
 */
39
#define __HAVE_AGP              1
40
#define __MUST_HAVE_AGP         0
41
#define __HAVE_MTRR             1
42
#define __HAVE_CTX_BITMAP       1
43
#define __HAVE_SG               1
44
#define __HAVE_PCI_DMA          1
45
 
46
#define DRIVER_AUTHOR           "Gareth Hughes, VA Linux Systems Inc."
47
 
48
#define DRIVER_NAME             "r128"
49
#define DRIVER_DESC             "ATI Rage 128"
50
#define DRIVER_DATE             "20010917"
51
 
52
#define DRIVER_MAJOR            2
53
#define DRIVER_MINOR            2
54
#define DRIVER_PATCHLEVEL       0
55
 
56
 
57
#define DRIVER_IOCTLS                                                       \
58
   [DRM_IOCTL_NR(DRM_IOCTL_DMA)]             = { r128_cce_buffers,  1, 0 }, \
59
   [DRM_IOCTL_NR(DRM_IOCTL_R128_INIT)]       = { r128_cce_init,     1, 1 }, \
60
   [DRM_IOCTL_NR(DRM_IOCTL_R128_CCE_START)]  = { r128_cce_start,    1, 1 }, \
61
   [DRM_IOCTL_NR(DRM_IOCTL_R128_CCE_STOP)]   = { r128_cce_stop,     1, 1 }, \
62
   [DRM_IOCTL_NR(DRM_IOCTL_R128_CCE_RESET)]  = { r128_cce_reset,    1, 1 }, \
63
   [DRM_IOCTL_NR(DRM_IOCTL_R128_CCE_IDLE)]   = { r128_cce_idle,     1, 0 }, \
64
   [DRM_IOCTL_NR(DRM_IOCTL_R128_RESET)]      = { r128_engine_reset, 1, 0 }, \
65
   [DRM_IOCTL_NR(DRM_IOCTL_R128_FULLSCREEN)] = { r128_fullscreen,   1, 0 }, \
66
   [DRM_IOCTL_NR(DRM_IOCTL_R128_SWAP)]       = { r128_cce_swap,     1, 0 }, \
67
   [DRM_IOCTL_NR(DRM_IOCTL_R128_CLEAR)]      = { r128_cce_clear,    1, 0 }, \
68
   [DRM_IOCTL_NR(DRM_IOCTL_R128_VERTEX)]     = { r128_cce_vertex,   1, 0 }, \
69
   [DRM_IOCTL_NR(DRM_IOCTL_R128_INDICES)]    = { r128_cce_indices,  1, 0 }, \
70
   [DRM_IOCTL_NR(DRM_IOCTL_R128_BLIT)]       = { r128_cce_blit,     1, 0 }, \
71
   [DRM_IOCTL_NR(DRM_IOCTL_R128_DEPTH)]      = { r128_cce_depth,    1, 0 }, \
72
   [DRM_IOCTL_NR(DRM_IOCTL_R128_STIPPLE)]    = { r128_cce_stipple,  1, 0 }, \
73
   [DRM_IOCTL_NR(DRM_IOCTL_R128_INDIRECT)]   = { r128_cce_indirect, 1, 1 },
74
 
75
/* Driver customization:
76
 */
77
#define DRIVER_PRERELEASE() do {                                        \
78
        if ( dev->dev_private ) {                                       \
79
                drm_r128_private_t *dev_priv = dev->dev_private;        \
80
                if ( dev_priv->page_flipping ) {                        \
81
                        r128_do_cleanup_pageflip( dev );                \
82
                }                                                       \
83
        }                                                               \
84
} while (0)
85
 
86
#define DRIVER_PRETAKEDOWN() do {                                       \
87
        if ( dev->dev_private ) r128_do_cleanup_cce( dev );             \
88
} while (0)
89
 
90
/* DMA customization:
91
 */
92
#define __HAVE_DMA              1
93
 
94
#if 0
95
/* GH: Remove this for now... */
96
#define __HAVE_DMA_QUIESCENT    1
97
#define DRIVER_DMA_QUIESCENT() do {                                     \
98
        drm_r128_private_t *dev_priv = dev->dev_private;                \
99
        return r128_do_cce_idle( dev_priv );                            \
100
} while (0)
101
#endif
102
 
103
/* Buffer customization:
104
 */
105
#define DRIVER_BUF_PRIV_T       drm_r128_buf_priv_t
106
 
107
#define DRIVER_AGP_BUFFERS_MAP( dev )                                   \
108
        ((drm_r128_private_t *)((dev)->dev_private))->buffers
109
 
110
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.