linux/drivers/gpu/drm/sis/sis_drv.h
<<
>>
Prefs
   1/* sis_drv.h -- Private header for sis driver -*- linux-c -*- */
   2/*
   3 * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
   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 * PRECISION INSIGHT 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 OTHER
  24 * DEALINGS IN THE SOFTWARE.
  25 *
  26 */
  27
  28#ifndef _SIS_DRV_H_
  29#define _SIS_DRV_H_
  30
  31#include <drm/drm_ioctl.h>
  32#include <drm/drm_legacy.h>
  33#include <drm/drm_mm.h>
  34
  35/* General customization:
  36 */
  37
  38#define DRIVER_AUTHOR           "SIS, Tungsten Graphics"
  39#define DRIVER_NAME             "sis"
  40#define DRIVER_DESC             "SIS 300/630/540 and XGI V3XE/V5/V8"
  41#define DRIVER_DATE             "20070626"
  42#define DRIVER_MAJOR            1
  43#define DRIVER_MINOR            3
  44#define DRIVER_PATCHLEVEL       0
  45
  46enum sis_family {
  47        SIS_OTHER = 0,
  48        SIS_CHIP_315 = 1,
  49};
  50
  51#define SIS_READ(reg)         readl(((void __iomem *)dev_priv->mmio->handle) + (reg))
  52#define SIS_WRITE(reg, val)   writel(val, ((void __iomem *)dev_priv->mmio->handle) + (reg))
  53
  54typedef struct drm_sis_private {
  55        drm_local_map_t *mmio;
  56        unsigned int idle_fault;
  57        unsigned int chipset;
  58        int vram_initialized;
  59        int agp_initialized;
  60        unsigned long vram_offset;
  61        unsigned long agp_offset;
  62        struct drm_mm vram_mm;
  63        struct drm_mm agp_mm;
  64        /** Mapping of userspace keys to mm objects */
  65        struct idr object_idr;
  66} drm_sis_private_t;
  67
  68struct sis_file_private {
  69        struct list_head obj_list;
  70};
  71
  72extern int sis_idle(struct drm_device *dev);
  73extern void sis_reclaim_buffers_locked(struct drm_device *dev,
  74                                       struct drm_file *file_priv);
  75extern void sis_lastclose(struct drm_device *dev);
  76
  77extern const struct drm_ioctl_desc sis_ioctls[];
  78extern int sis_max_ioctl;
  79
  80#endif
  81