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 __OMAP_DRM_H__
722851890Sopenharmony_ci#define __OMAP_DRM_H__
822851890Sopenharmony_ci#include "drm.h"
922851890Sopenharmony_ci#if defined(__cplusplus)
1022851890Sopenharmony_ciextern "C" {
1122851890Sopenharmony_ci#endif
1222851890Sopenharmony_ci#define OMAP_PARAM_CHIPSET_ID	1
1322851890Sopenharmony_cistruct drm_omap_param {
1422851890Sopenharmony_ci	__u64 param;
1522851890Sopenharmony_ci	__u64 value;
1622851890Sopenharmony_ci};
1722851890Sopenharmony_ci#define OMAP_BO_SCANOUT		0x00000001
1822851890Sopenharmony_ci#define OMAP_BO_CACHE_MASK	0x00000006
1922851890Sopenharmony_ci#define OMAP_BO_TILED_MASK	0x00000f00
2022851890Sopenharmony_ci#define OMAP_BO_CACHED		0x00000000
2122851890Sopenharmony_ci#define OMAP_BO_WC		0x00000002
2222851890Sopenharmony_ci#define OMAP_BO_UNCACHED	0x00000004
2322851890Sopenharmony_ci#define OMAP_BO_TILED_8		0x00000100
2422851890Sopenharmony_ci#define OMAP_BO_TILED_16	0x00000200
2522851890Sopenharmony_ci#define OMAP_BO_TILED_32	0x00000300
2622851890Sopenharmony_ci#define OMAP_BO_TILED		(OMAP_BO_TILED_8 | OMAP_BO_TILED_16 | OMAP_BO_TILED_32)
2722851890Sopenharmony_ciunion omap_gem_size {
2822851890Sopenharmony_ci	__u32 bytes;
2922851890Sopenharmony_ci	struct {
3022851890Sopenharmony_ci		__u16 width;
3122851890Sopenharmony_ci		__u16 height;
3222851890Sopenharmony_ci	} tiled;
3322851890Sopenharmony_ci};
3422851890Sopenharmony_cistruct drm_omap_gem_new {
3522851890Sopenharmony_ci	union omap_gem_size size;
3622851890Sopenharmony_ci	__u32 flags;
3722851890Sopenharmony_ci	__u32 handle;
3822851890Sopenharmony_ci	__u32 __pad;
3922851890Sopenharmony_ci};
4022851890Sopenharmony_cienum omap_gem_op {
4122851890Sopenharmony_ci	OMAP_GEM_READ = 0x01,
4222851890Sopenharmony_ci	OMAP_GEM_WRITE = 0x02,
4322851890Sopenharmony_ci};
4422851890Sopenharmony_cistruct drm_omap_gem_cpu_prep {
4522851890Sopenharmony_ci	__u32 handle;
4622851890Sopenharmony_ci	__u32 op;
4722851890Sopenharmony_ci};
4822851890Sopenharmony_cistruct drm_omap_gem_cpu_fini {
4922851890Sopenharmony_ci	__u32 handle;
5022851890Sopenharmony_ci	__u32 op;
5122851890Sopenharmony_ci
5222851890Sopenharmony_ci	__u32 nregions;
5322851890Sopenharmony_ci	__u32 __pad;
5422851890Sopenharmony_ci};
5522851890Sopenharmony_cistruct drm_omap_gem_info {
5622851890Sopenharmony_ci	__u32 handle;
5722851890Sopenharmony_ci	__u32 pad;
5822851890Sopenharmony_ci	__u64 offset;
5922851890Sopenharmony_ci
6022851890Sopenharmony_ci	__u32 size;
6122851890Sopenharmony_ci	__u32 __pad;
6222851890Sopenharmony_ci};
6322851890Sopenharmony_ci#define DRM_OMAP_GET_PARAM		0x00
6422851890Sopenharmony_ci#define DRM_OMAP_SET_PARAM		0x01
6522851890Sopenharmony_ci#define DRM_OMAP_GEM_NEW		0x03
6622851890Sopenharmony_ci#define DRM_OMAP_GEM_CPU_PREP		0x04
6722851890Sopenharmony_ci#define DRM_OMAP_GEM_CPU_FINI		0x05
6822851890Sopenharmony_ci#define DRM_OMAP_GEM_INFO		0x06
6922851890Sopenharmony_ci#define DRM_OMAP_NUM_IOCTLS		0x07
7022851890Sopenharmony_ci#define DRM_IOCTL_OMAP_GET_PARAM	DRM_IOWR(DRM_COMMAND_BASE + DRM_OMAP_GET_PARAM, struct drm_omap_param)
7122851890Sopenharmony_ci#define DRM_IOCTL_OMAP_SET_PARAM	DRM_IOW (DRM_COMMAND_BASE + DRM_OMAP_SET_PARAM, struct drm_omap_param)
7222851890Sopenharmony_ci#define DRM_IOCTL_OMAP_GEM_NEW		DRM_IOWR(DRM_COMMAND_BASE + DRM_OMAP_GEM_NEW, struct drm_omap_gem_new)
7322851890Sopenharmony_ci#define DRM_IOCTL_OMAP_GEM_CPU_PREP	DRM_IOW (DRM_COMMAND_BASE + DRM_OMAP_GEM_CPU_PREP, struct drm_omap_gem_cpu_prep)
7422851890Sopenharmony_ci#define DRM_IOCTL_OMAP_GEM_CPU_FINI	DRM_IOW (DRM_COMMAND_BASE + DRM_OMAP_GEM_CPU_FINI, struct drm_omap_gem_cpu_fini)
7522851890Sopenharmony_ci#define DRM_IOCTL_OMAP_GEM_INFO		DRM_IOWR(DRM_COMMAND_BASE + DRM_OMAP_GEM_INFO, struct drm_omap_gem_info)
7622851890Sopenharmony_ci#if defined(__cplusplus)
7722851890Sopenharmony_ci}
7822851890Sopenharmony_ci#endif
7922851890Sopenharmony_ci#endif
80