122851890Sopenharmony_ci/*
222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py,
322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants,
422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information.
522851890Sopenharmony_ci */
622851890Sopenharmony_ci#ifndef _DRM_SAREA_H_
722851890Sopenharmony_ci#define _DRM_SAREA_H_
822851890Sopenharmony_ci#include "drm.h"
922851890Sopenharmony_ci#if defined(__cplusplus)
1022851890Sopenharmony_ciextern "C" {
1122851890Sopenharmony_ci#endif
1222851890Sopenharmony_ci#if defined(__alpha__)
1322851890Sopenharmony_ci#define SAREA_MAX                       0x2000U
1422851890Sopenharmony_ci#elif defined(__mips__)
1522851890Sopenharmony_ci#define SAREA_MAX                       0x4000U
1622851890Sopenharmony_ci#elif defined(__ia64__)
1722851890Sopenharmony_ci#define SAREA_MAX                       0x10000U
1822851890Sopenharmony_ci#else
1922851890Sopenharmony_ci#define SAREA_MAX                       0x2000U
2022851890Sopenharmony_ci#endif
2122851890Sopenharmony_ci#define SAREA_MAX_DRAWABLES		256
2222851890Sopenharmony_ci#define SAREA_DRAWABLE_CLAIMED_ENTRY    0x80000000
2322851890Sopenharmony_cistruct drm_sarea_drawable {
2422851890Sopenharmony_ci	unsigned int stamp;
2522851890Sopenharmony_ci	unsigned int flags;
2622851890Sopenharmony_ci};
2722851890Sopenharmony_cistruct drm_sarea_frame {
2822851890Sopenharmony_ci	unsigned int x;
2922851890Sopenharmony_ci	unsigned int y;
3022851890Sopenharmony_ci	unsigned int width;
3122851890Sopenharmony_ci	unsigned int height;
3222851890Sopenharmony_ci	unsigned int fullscreen;
3322851890Sopenharmony_ci};
3422851890Sopenharmony_cistruct drm_sarea {
3522851890Sopenharmony_ci
3622851890Sopenharmony_ci	struct drm_hw_lock lock;
3722851890Sopenharmony_ci
3822851890Sopenharmony_ci	struct drm_hw_lock drawable_lock;
3922851890Sopenharmony_ci	struct drm_sarea_drawable drawableTable[SAREA_MAX_DRAWABLES];
4022851890Sopenharmony_ci	struct drm_sarea_frame frame;
4122851890Sopenharmony_ci	drm_context_t dummy_context;
4222851890Sopenharmony_ci};
4322851890Sopenharmony_ci#ifndef __KERNEL__
4422851890Sopenharmony_citypedef struct drm_sarea_drawable drm_sarea_drawable_t;
4522851890Sopenharmony_citypedef struct drm_sarea_frame drm_sarea_frame_t;
4622851890Sopenharmony_citypedef struct drm_sarea drm_sarea_t;
4722851890Sopenharmony_ci#endif
4822851890Sopenharmony_ci#if defined(__cplusplus)
4922851890Sopenharmony_ci}
5022851890Sopenharmony_ci#endif
5122851890Sopenharmony_ci#endif
52