190b17f1bSmrg/*
290b17f1bSmrg * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
390b17f1bSmrg * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
490b17f1bSmrg *
590b17f1bSmrg * Permission is hereby granted, free of charge, to any person obtaining a
690b17f1bSmrg * copy of this software and associated documentation files (the "Software"),
790b17f1bSmrg * to deal in the Software without restriction, including without limitation
890b17f1bSmrg * the rights to use, copy, modify, merge, publish, distribute, sub license,
990b17f1bSmrg * and/or sell copies of the Software, and to permit persons to whom the
1090b17f1bSmrg * Software is furnished to do so, subject to the following conditions:
1190b17f1bSmrg *
1290b17f1bSmrg * The above copyright notice and this permission notice (including the
1390b17f1bSmrg * next paragraph) shall be included in all copies or substantial portions
1490b17f1bSmrg * of the Software.
1590b17f1bSmrg *
1690b17f1bSmrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1790b17f1bSmrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1890b17f1bSmrg * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
1990b17f1bSmrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2090b17f1bSmrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2190b17f1bSmrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2290b17f1bSmrg * DEALINGS IN THE SOFTWARE.
2390b17f1bSmrg */
2490b17f1bSmrg
2590b17f1bSmrg#ifndef _VIA_VIDEO_H_
2690b17f1bSmrg#define _VIA_VIDEO_H_ 1
2790b17f1bSmrg
2890b17f1bSmrg/*
2990b17f1bSmrg * I N C L U D E S
3090b17f1bSmrg */
3190b17f1bSmrg
3290b17f1bSmrg/*#define   XV_DEBUG        1            write log msg to /var/log/XFree86.0.log */
3390b17f1bSmrg#define   COLOR_KEY       1	       /* set color key value from driver layer */
3490b17f1bSmrg
3590b17f1bSmrg#define HW_3123
3690b17f1bSmrg
3790b17f1bSmrg/* Definition for VideoStatus */
3890b17f1bSmrg#define VIDEO_NULL                  0x00000000
3990b17f1bSmrg#define VIDEO_SWOV_SURFACE_CREATED  0x00000001
4090b17f1bSmrg#define VIDEO_SWOV_ON               0x00000002
4190b17f1bSmrg
4290b17f1bSmrg#define SINGLE_3205_100 0.41
4390b17f1bSmrg#define SINGLE_3205_133 0.70
4490b17f1bSmrg
4590b17f1bSmrg#define VIDEO_BPP 2
4690b17f1bSmrg
4790b17f1bSmrg
4890b17f1bSmrg#define V1_COMMAND_FIRE               0x80000000  /* V1 commands fire */
4990b17f1bSmrg#define V3_COMMAND_FIRE               0x40000000  /* V3 commands fire */
5090b17f1bSmrg
5190b17f1bSmrgtypedef struct
5290b17f1bSmrg{
5390b17f1bSmrg    CARD32 interruptflag;	       /* 200 */
5490b17f1bSmrg    CARD32 ramtab;		       /* 204 */
5590b17f1bSmrg    CARD32 alphawin_hvstart;	       /* 208 */
5690b17f1bSmrg    CARD32 alphawin_size;	       /* 20c */
5790b17f1bSmrg    CARD32 alphawin_ctl;	       /* 210 */
5890b17f1bSmrg    CARD32 crt_startaddr;	       /* 214 */
5990b17f1bSmrg    CARD32 crt_startaddr_2;	       /* 218 */
6090b17f1bSmrg    CARD32 alphafb_stride;	       /* 21c */
6190b17f1bSmrg    CARD32 color_key;		       /* 220 */
6290b17f1bSmrg    CARD32 alphafb_addr;	       /* 224 */
6390b17f1bSmrg    CARD32 chroma_low;		       /* 228 */
6490b17f1bSmrg    CARD32 chroma_up;		       /* 22c */
6590b17f1bSmrg    CARD32 video1_ctl;		       /* 230 */
6690b17f1bSmrg    CARD32 video1_fetch;	       /* 234 */
6790b17f1bSmrg    CARD32 video1y_addr1;	       /* 238 */
6890b17f1bSmrg    CARD32 video1_stride;	       /* 23c */
6990b17f1bSmrg    CARD32 video1_hvstart;	       /* 240 */
7090b17f1bSmrg    CARD32 video1_size;		       /* 244 */
7190b17f1bSmrg    CARD32 video1y_addr2;	       /* 248 */
7290b17f1bSmrg    CARD32 video1_zoom;		       /* 24c */
7390b17f1bSmrg    CARD32 video1_mictl;	       /* 250 */
7490b17f1bSmrg    CARD32 video1y_addr0;	       /* 254 */
7590b17f1bSmrg    CARD32 video1_fifo;		       /* 258 */
7690b17f1bSmrg    CARD32 video1y_addr3;	       /* 25c */
7790b17f1bSmrg    CARD32 hi_control;		       /* 260 */
7890b17f1bSmrg    CARD32 snd_color_key;	       /* 264 */
7990b17f1bSmrg    CARD32 v3alpha_prefifo;	       /* 268 */
8090b17f1bSmrg    CARD32 v1_source_w_h;	       /* 26c */
8190b17f1bSmrg    CARD32 hi_transparent_color;       /* 270 */
8290b17f1bSmrg    CARD32 v_display_temp;	       /* 274 :No use */
8390b17f1bSmrg    CARD32 v3alpha_fifo;	       /* 278 */
8490b17f1bSmrg    CARD32 v3_source_width;	       /* 27c */
8590b17f1bSmrg    CARD32 dummy1;		       /* 280 */
8690b17f1bSmrg    CARD32 video1_CSC1;		       /* 284 */
8790b17f1bSmrg    CARD32 video1_CSC2;		       /* 288 */
8890b17f1bSmrg    CARD32 video1u_addr0;	       /* 28c */
8990b17f1bSmrg    CARD32 video1_opqctl;	       /* 290 */
9090b17f1bSmrg    CARD32 video3_opqctl;	       /* 294 */
9190b17f1bSmrg    CARD32 compose;		       /* 298 */
9290b17f1bSmrg    CARD32 dummy2;		       /* 29c */
9390b17f1bSmrg    CARD32 video3_ctl;		       /* 2a0 */
9490b17f1bSmrg    CARD32 video3_addr0;	       /* 2a4 */
9590b17f1bSmrg    CARD32 video3_addr1;	       /* 2a8 */
9690b17f1bSmrg    CARD32 video3_stride;	       /* 2ac */
9790b17f1bSmrg    CARD32 video3_hvstart;	       /* 2b0 */
9890b17f1bSmrg    CARD32 video3_size;		       /* 2b4 */
9990b17f1bSmrg    CARD32 v3alpha_fetch;	       /* 2b8 */
10090b17f1bSmrg    CARD32 video3_zoom;		       /* 2bc */
10190b17f1bSmrg    CARD32 video3_mictl;	       /* 2c0 */
10290b17f1bSmrg    CARD32 video3_CSC1;		       /* 2c4 */
10390b17f1bSmrg    CARD32 video3_CSC2;		       /* 2c8 */
10490b17f1bSmrg    CARD32 v3_display_temp;	       /* 2cc */
10590b17f1bSmrg    CARD32 reserved[5];		       /* 2d0 */
10690b17f1bSmrg    CARD32 video1u_addr1;	       /* 2e4 */
10790b17f1bSmrg    CARD32 video1u_addr2;	       /* 2e8 */
10890b17f1bSmrg    CARD32 video1u_addr3;	       /* 2ec */
10990b17f1bSmrg    CARD32 video1v_addr0;	       /* 2f0 */
11090b17f1bSmrg    CARD32 video1v_addr1;	       /* 2f4 */
11190b17f1bSmrg    CARD32 video1v_addr2;	       /* 2f8 */
11290b17f1bSmrg    CARD32 video1v_addr3;	       /* 2fc */
11390b17f1bSmrg} video_via_regs;
11490b17f1bSmrg
11590b17f1bSmrg#define vmmtr volatile video_via_regs *
11690b17f1bSmrg
11790b17f1bSmrg#endif /* _VIA_VIDEO_H_ */
118