Back to index

libdrm  2.4.37
Classes | Defines | Enumerations
exynos_drm.h File Reference
#include "drm.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  drm_exynos_gem_create
 User-desired buffer creation information structure. More...
struct  drm_exynos_gem_map_off
 A structure for getting buffer offset. More...
struct  drm_exynos_gem_mmap
 A structure for mapping buffer. More...
struct  drm_exynos_gem_info
 A structure to gem information. More...
struct  drm_exynos_vidi_connection
 A structure for user connection request of virtual display. More...

Defines

#define DRM_EXYNOS_GEM_CREATE   0x00
#define DRM_EXYNOS_GEM_MAP_OFFSET   0x01
#define DRM_EXYNOS_GEM_MMAP   0x02
#define DRM_EXYNOS_GEM_GET   0x04
#define DRM_EXYNOS_VIDI_CONNECTION   0x07
#define DRM_IOCTL_EXYNOS_GEM_CREATE
#define DRM_IOCTL_EXYNOS_GEM_MAP_OFFSET
#define DRM_IOCTL_EXYNOS_GEM_MMAP
#define DRM_IOCTL_EXYNOS_GEM_GET
#define DRM_IOCTL_EXYNOS_VIDI_CONNECTION

Enumerations

enum  e_drm_exynos_gem_mem_type {
  EXYNOS_BO_CONTIG = 0 << 0, EXYNOS_BO_NONCONTIG = 1 << 0, EXYNOS_BO_NONCACHABLE = 0 << 1, EXYNOS_BO_CACHABLE = 1 << 1,
  EXYNOS_BO_WC = 1 << 2, EXYNOS_BO_MASK
}

Class Documentation

struct drm_exynos_gem_create

User-desired buffer creation information structure.

: user-desired memory allocation size.

  • this size value would be page-aligned internally. : user request for setting memory type or cache attributes. : returned a handle to created gem object.
  • this handle will be set by gem module of kernel side.

Definition at line 43 of file exynos_drm.h.

Class Members
unsigned int flags
unsigned int handle
uint64_t size
struct drm_exynos_gem_map_off

A structure for getting buffer offset.

: a pointer to gem object created. : just padding to be 64-bit aligned. : relatived offset value of the memory region allocated.

  • this value should be set by user.

Definition at line 57 of file exynos_drm.h.

Class Members
unsigned int handle
uint64_t offset
unsigned int pad
struct drm_exynos_gem_mmap

A structure for mapping buffer.

: a handle to gem object created. : memory size to be mapped. : having user virtual address mmaped.

  • this variable would be filled by exynos gem module of kernel side with user virtual address which is allocated by do_mmap().

Definition at line 73 of file exynos_drm.h.

Class Members
unsigned int handle
uint64_t mapped
unsigned int size
struct drm_exynos_gem_info

A structure to gem information.

: a handle to gem object created. : flag value including memory type and cache attribute and this value would be set by driver. : size to memory region allocated by gem and this size would be set by driver.

Definition at line 88 of file exynos_drm.h.

Class Members
unsigned int flags
unsigned int handle
uint64_t size
struct drm_exynos_vidi_connection

A structure for user connection request of virtual display.

: indicate whether doing connetion or not by user. : if this value is 1 then the vidi driver would need additional 128bytes edid data. : the edid data pointer from user side.

Definition at line 102 of file exynos_drm.h.

Class Members
unsigned int connection
uint64_t edid
unsigned int extensions

Define Documentation

#define DRM_EXYNOS_GEM_CREATE   0x00

Definition at line 124 of file exynos_drm.h.

#define DRM_EXYNOS_GEM_GET   0x04

Definition at line 128 of file exynos_drm.h.

#define DRM_EXYNOS_GEM_MAP_OFFSET   0x01

Definition at line 125 of file exynos_drm.h.

#define DRM_EXYNOS_GEM_MMAP   0x02

Definition at line 126 of file exynos_drm.h.

#define DRM_EXYNOS_VIDI_CONNECTION   0x07

Definition at line 129 of file exynos_drm.h.

Value:

Definition at line 131 of file exynos_drm.h.

Value:

Definition at line 140 of file exynos_drm.h.

Value:

Definition at line 137 of file exynos_drm.h.


Enumeration Type Documentation

Enumerator:
EXYNOS_BO_CONTIG 
EXYNOS_BO_NONCONTIG 
EXYNOS_BO_NONCACHABLE 
EXYNOS_BO_CACHABLE 
EXYNOS_BO_WC 
EXYNOS_BO_MASK 

Definition at line 109 of file exynos_drm.h.

                               {
       /* Physically Continuous memory and used as default. */
       EXYNOS_BO_CONTIG     = 0 << 0,
       /* Physically Non-Continuous memory. */
       EXYNOS_BO_NONCONTIG  = 1 << 0,
       /* non-cachable mapping and used as default. */
       EXYNOS_BO_NONCACHABLE       = 0 << 1,
       /* cachable mapping. */
       EXYNOS_BO_CACHABLE   = 1 << 1,
       /* write-combine mapping. */
       EXYNOS_BO_WC         = 1 << 2,
       EXYNOS_BO_MASK              = EXYNOS_BO_NONCONTIG | EXYNOS_BO_CACHABLE |
                                   EXYNOS_BO_WC
};