130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* sis_drv.h -- Private header for sis driver -*- linux-c -*- */
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/*
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright 2005 Eric Anholt
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * All Rights Reserved.
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Permission is hereby granted, free of charge, to any person obtaining a
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * copy of this software and associated documentation files (the "Software"),
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * to deal in the Software without restriction, including without limitation
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * and/or sell copies of the Software, and to permit persons to whom the
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Software is furnished to do so, subject to the following conditions:
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * The above copyright notice and this permission notice (including the next
1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * paragraph) shall be included in all copies or substantial portions of the
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Software.
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * SOFTWARE.
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef __SIS_DRM_H__
2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define __SIS_DRM_H__
2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* SiS specific ioctls */
3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NOT_USED_0_3
3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_SIS_FB_ALLOC	0x04
3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_SIS_FB_FREE	        0x05
3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define NOT_USED_6_12
3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_SIS_AGP_INIT	0x13
3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_SIS_AGP_ALLOC	0x14
3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_SIS_AGP_FREE	0x15
3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_SIS_FB_INIT	        0x16
3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_FB_ALLOC		DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_FB_ALLOC, drm_sis_mem_t)
4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_FB_FREE		DRM_IOW( DRM_COMMAND_BASE + DRM_SIS_FB_FREE, drm_sis_mem_t)
4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_AGP_INIT		DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_AGP_INIT, drm_sis_agp_t)
4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_AGP_ALLOC		DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_AGP_ALLOC, drm_sis_mem_t)
4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_AGP_FREE		DRM_IOW( DRM_COMMAND_BASE + DRM_SIS_AGP_FREE, drm_sis_mem_t)
4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_FB_INIT		DRM_IOW( DRM_COMMAND_BASE + DRM_SIS_FB_INIT, drm_sis_fb_t)
4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/*
4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_FLIP		DRM_IOW( 0x48, drm_sis_flip_t)
4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_FLIP_INIT		DRM_IO(  0x49)
4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define DRM_IOCTL_SIS_FLIP_FINAL	DRM_IO(  0x50)
5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng*/
5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5230692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef struct {
5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	int context;
5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned long offset;
5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned long size;
5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned long free;
5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng} drm_sis_mem_t;
5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5930692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef struct {
6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned long offset, size;
6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng} drm_sis_agp_t;
6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
6330692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef struct {
6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	unsigned long offset, size;
6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng} drm_sis_fb_t;
6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
6730692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct sis_file_private {
6830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	struct list_head obj_list;
6930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
7030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
7130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif				/* __SIS_DRM_H__ */
72