linux/include/drm/drm_sarea.h
<<
>>
Prefs
   1/**
   2 * \file drm_sarea.h
   3 * \brief SAREA definitions
   4 *
   5 * \author Michel Dänzer <michel@daenzer.net>
   6 */
   7
   8/*
   9 * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
  10 * All Rights Reserved.
  11 *
  12 * Permission is hereby granted, free of charge, to any person obtaining a
  13 * copy of this software and associated documentation files (the "Software"),
  14 * to deal in the Software without restriction, including without limitation
  15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  16 * and/or sell copies of the Software, and to permit persons to whom the
  17 * Software is furnished to do so, subject to the following conditions:
  18 *
  19 * The above copyright notice and this permission notice (including the next
  20 * paragraph) shall be included in all copies or substantial portions of the
  21 * Software.
  22 *
  23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  25 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  26 * TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  27 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  28 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  29 * OTHER DEALINGS IN THE SOFTWARE.
  30 */
  31
  32#ifndef _DRM_SAREA_H_
  33#define _DRM_SAREA_H_
  34
  35#include "drm.h"
  36
  37/* SAREA area needs to be at least a page */
  38#if defined(__alpha__)
  39#define SAREA_MAX                       0x2000U
  40#elif defined(__ia64__)
  41#define SAREA_MAX                       0x10000U        /* 64kB */
  42#else
  43/* Intel 830M driver needs at least 8k SAREA */
  44#define SAREA_MAX                       0x2000U
  45#endif
  46
  47/** Maximum number of drawables in the SAREA */
  48#define SAREA_MAX_DRAWABLES             256
  49
  50#define SAREA_DRAWABLE_CLAIMED_ENTRY    0x80000000
  51
  52/** SAREA drawable */
  53struct drm_sarea_drawable {
  54        unsigned int stamp;
  55        unsigned int flags;
  56};
  57
  58/** SAREA frame */
  59struct drm_sarea_frame {
  60        unsigned int x;
  61        unsigned int y;
  62        unsigned int width;
  63        unsigned int height;
  64        unsigned int fullscreen;
  65};
  66
  67/** SAREA */
  68struct drm_sarea {
  69    /** first thing is always the DRM locking structure */
  70        struct drm_hw_lock lock;
  71    /** \todo Use readers/writer lock for drm_sarea::drawable_lock */
  72        struct drm_hw_lock drawable_lock;
  73        struct drm_sarea_drawable drawableTable[SAREA_MAX_DRAWABLES];   /**< drawables */
  74        struct drm_sarea_frame frame;   /**< frame */
  75        drm_context_t dummy_context;
  76};
  77
  78#ifndef __KERNEL__
  79typedef struct drm_sarea_drawable drm_sarea_drawable_t;
  80typedef struct drm_sarea_frame drm_sarea_frame_t;
  81typedef struct drm_sarea drm_sarea_t;
  82#endif
  83
  84#endif                          /* _DRM_SAREA_H_ */
  85
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.