Annotation of sys/arch/sparc/dev/btvar.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: btvar.h,v 1.5 2003/06/02 23:27:53 millert Exp $ */
2: /* $NetBSD: btvar.h,v 1.2 1994/11/20 20:51:56 deraadt Exp $ */
3:
4: /*
5: * Copyright (c) 1993
6: * The Regents of the University of California. All rights reserved.
7: *
8: * This software was developed by the Computer Systems Engineering group
9: * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
10: * contributed to Berkeley.
11: *
12: * All advertising materials mentioning features or use of this software
13: * must display the following acknowledgement:
14: * This product includes software developed by the University of
15: * California, Lawrence Berkeley Laboratory.
16: *
17: * Redistribution and use in source and binary forms, with or without
18: * modification, are permitted provided that the following conditions
19: * are met:
20: * 1. Redistributions of source code must retain the above copyright
21: * notice, this list of conditions and the following disclaimer.
22: * 2. Redistributions in binary form must reproduce the above copyright
23: * notice, this list of conditions and the following disclaimer in the
24: * documentation and/or other materials provided with the distribution.
25: * 3. Neither the name of the University nor the names of its contributors
26: * may be used to endorse or promote products derived from this software
27: * without specific prior written permission.
28: *
29: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
30: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
32: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
33: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
34: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
35: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
38: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
39: * SUCH DAMAGE.
40: *
41: * @(#)btvar.h 8.2 (Berkeley) 1/21/94
42: */
43:
44: /*
45: * Brooktree color frame buffer state variables (see btreg.h).
46: *
47: * Unfortunately, remarkably little code can be shared between the
48: * cg3 and cg6 drivers here, as the cg3 registers do longword-ops
49: * `as expected', but the cg6 ones use only the upper byte.
50: *
51: * Still, the software color map manipulation is not completely trivial.
52: */
53: union bt_cmap {
54: u_char cm_map[256][3]; /* 256 R/G/B entries */
55: u_int cm_chip[256 * 3 / 4]; /* the way the chip gets loaded */
56: };
57:
58: /*
59: * Routines in bt_subr.c.
60: */
61: int bt_getcmap(union bt_cmap *, struct wsdisplay_cmap *);
62: int bt_putcmap(union bt_cmap *, struct wsdisplay_cmap *);
63: void bt_loadcmap(union bt_cmap *, volatile struct bt_regs *,
64: u_int, u_int, int);
65: void bt_setcolor(union bt_cmap *, volatile struct bt_regs *,
66: u_int, u_int8_t, u_int8_t, u_int8_t, int);
67:
68: /*
69: * Compute (x / 4) * 3 and (x / 4) * 4. These are used in turning
70: * RGB indices (which are in multiples of three) into `chip RGB' values
71: * (which are in multiples of four).
72: */
73: #define BT_D4M3(x) ((((x) >> 2) << 1) + ((x) >> 2)) /* (x / 4) * 3 */
74: #define BT_D4M4(x) ((x) & ~3) /* (x / 4) * 4 */
CVSweb