2006-01-02 14:44:12 +11:00
/* sis_drv.h -- Private header for sis driver -*- linux-c -*- */
/*
2005-04-16 15:20:36 -07:00
* Copyright 1999 Precision Insight , Inc . , Cedar Park , Texas .
* Copyright 2000 VA Linux Systems , Inc . , Sunnyvale , California .
* All rights reserved .
*
* Permission is hereby granted , free of charge , to any person obtaining a
* copy of this software and associated documentation files ( the " Software " ) ,
* to deal in the Software without restriction , including without limitation
* the rights to use , copy , modify , merge , publish , distribute , sublicense ,
* and / or sell copies of the Software , and to permit persons to whom the
* Software is furnished to do so , subject to the following conditions :
2005-09-25 14:28:13 +10:00
*
2005-04-16 15:20:36 -07:00
* The above copyright notice and this permission notice ( including the next
* paragraph ) shall be included in all copies or substantial portions of the
* Software .
2005-09-25 14:28:13 +10:00
*
2005-04-16 15:20:36 -07:00
* THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
* IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL
* PRECISION INSIGHT AND / OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM , DAMAGES OR
* OTHER LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE ,
* ARISING FROM , OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE .
2005-09-25 14:28:13 +10:00
*
2005-04-16 15:20:36 -07:00
*/
# ifndef _SIS_DRV_H_
# define _SIS_DRV_H_
2014-09-10 12:43:49 +02:00
# include <drm/drm_legacy.h>
2005-04-16 15:20:36 -07:00
/* General customization:
*/
2006-08-07 22:03:22 +10:00
# define DRIVER_AUTHOR "SIS, Tungsten Graphics"
2005-04-16 15:20:36 -07:00
# define DRIVER_NAME "sis"
2007-06-27 06:38:00 +10:00
# define DRIVER_DESC "SIS 300 / 630 / 540 and XGI V3XE / V5 / V8"
# define DRIVER_DATE "20070626"
2005-04-16 15:20:36 -07:00
# define DRIVER_MAJOR 1
2007-06-27 06:38:00 +10:00
# define DRIVER_MINOR 3
# define DRIVER_PATCHLEVEL 0
2005-04-16 15:20:36 -07:00
2006-08-08 21:34:46 +10:00
enum sis_family {
SIS_OTHER = 0 ,
SIS_CHIP_315 = 1 ,
} ;
2012-10-02 18:01:07 +01:00
# include <drm/drm_mm.h>
2005-04-16 15:20:36 -07:00
2007-07-12 10:21:05 +10:00
2006-08-08 21:34:46 +10:00
# define SIS_BASE (dev_priv->mmio)
2011-07-14 15:07:13 +03:00
# define SIS_READ(reg) DRM_READ32(SIS_BASE, reg)
# define SIS_WRITE(reg, val) DRM_WRITE32(SIS_BASE, reg, val)
2006-08-08 21:34:46 +10:00
2005-04-16 15:20:36 -07:00
typedef struct drm_sis_private {
2006-08-07 22:03:22 +10:00
drm_local_map_t * mmio ;
unsigned int idle_fault ;
unsigned int chipset ;
int vram_initialized ;
int agp_initialized ;
unsigned long vram_offset ;
unsigned long agp_offset ;
2011-10-26 22:22:59 +02:00
struct drm_mm vram_mm ;
struct drm_mm agp_mm ;
2011-10-25 18:00:41 +02:00
/** Mapping of userspace keys to mm objects */
struct idr object_idr ;
2005-04-16 15:20:36 -07:00
} drm_sis_private_t ;
2015-10-15 07:55:50 +02:00
struct sis_file_private {
struct list_head obj_list ;
} ;
2007-07-11 15:53:27 +10:00
extern int sis_idle ( struct drm_device * dev ) ;
2007-08-25 20:23:09 +10:00
extern void sis_reclaim_buffers_locked ( struct drm_device * dev ,
struct drm_file * file_priv ) ;
2007-07-11 15:53:27 +10:00
extern void sis_lastclose ( struct drm_device * dev ) ;
2005-04-16 15:20:36 -07:00
2013-08-02 13:27:49 -04:00
extern const struct drm_ioctl_desc sis_ioctls [ ] ;
2005-09-30 18:37:36 +10:00
extern int sis_max_ioctl ;
2005-04-16 15:20:36 -07:00
# endif