blob: 3796501fe87e5671bf4fd55b1a72e4c595ac83a2 [file] [log] [blame]
/****************************************************************************
****************************************************************************
***
*** This header was automatically generated from a Linux kernel header
*** of the same name, to make information necessary for userspace to
*** call into the kernel available to libc. It contains only constants,
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
*** To edit the content of this header, modify the corresponding
*** source file (e.g. under external/kernel-headers/original/) then
*** run bionic/libc/kernel/tools/update_all.py
***
*** Any manual change here will be lost the next time this script will
*** be run. You've been warned!
***
****************************************************************************
****************************************************************************/
#ifndef _DECON_COMMON_HELPER_H
#define _DECON_COMMON_HELPER_H
#define HDR_CAPABILITIES_NUM 4
#define MAX_FMT_CNT 64
#define MAX_DPP_CNT 7
typedef unsigned int u32;
enum decon_psr_mode {
DECON_VIDEO_MODE = 0,
DECON_DP_PSR_MODE = 1,
DECON_MIPI_COMMAND_MODE = 2,
};
enum decon_pixel_format {
DECON_PIXEL_FORMAT_ARGB_8888 = 0,
DECON_PIXEL_FORMAT_ABGR_8888,
DECON_PIXEL_FORMAT_RGBA_8888,
DECON_PIXEL_FORMAT_BGRA_8888,
DECON_PIXEL_FORMAT_XRGB_8888,
DECON_PIXEL_FORMAT_XBGR_8888,
DECON_PIXEL_FORMAT_RGBX_8888,
DECON_PIXEL_FORMAT_BGRX_8888,
DECON_PIXEL_FORMAT_RGBA_5551,
DECON_PIXEL_FORMAT_BGRA_5551,
DECON_PIXEL_FORMAT_ABGR_4444,
DECON_PIXEL_FORMAT_RGBA_4444,
DECON_PIXEL_FORMAT_BGRA_4444,
DECON_PIXEL_FORMAT_RGB_565,
DECON_PIXEL_FORMAT_BGR_565,
DECON_PIXEL_FORMAT_ARGB_2101010,
DECON_PIXEL_FORMAT_ABGR_2101010,
DECON_PIXEL_FORMAT_RGBA_1010102,
DECON_PIXEL_FORMAT_BGRA_1010102,
DECON_PIXEL_FORMAT_NV16,
DECON_PIXEL_FORMAT_NV61,
DECON_PIXEL_FORMAT_YVU422_3P,
DECON_PIXEL_FORMAT_NV12,
DECON_PIXEL_FORMAT_NV21,
DECON_PIXEL_FORMAT_NV12M,
DECON_PIXEL_FORMAT_NV21M,
DECON_PIXEL_FORMAT_YUV420,
DECON_PIXEL_FORMAT_YVU420,
DECON_PIXEL_FORMAT_YUV420M,
DECON_PIXEL_FORMAT_YVU420M,
DECON_PIXEL_FORMAT_NV12N,
DECON_PIXEL_FORMAT_NV12N_10B,
DECON_PIXEL_FORMAT_NV12M_P010,
DECON_PIXEL_FORMAT_NV21M_P010,
DECON_PIXEL_FORMAT_NV12M_S10B,
DECON_PIXEL_FORMAT_NV21M_S10B,
DECON_PIXEL_FORMAT_NV16M_P210,
DECON_PIXEL_FORMAT_NV61M_P210,
DECON_PIXEL_FORMAT_NV16M_S10B,
DECON_PIXEL_FORMAT_NV61M_S10B,
DECON_PIXEL_FORMAT_NV12_P010,
DECON_PIXEL_FORMAT_MAX,
};
enum decon_blending {
DECON_BLENDING_NONE = 0,
DECON_BLENDING_PREMULT = 1,
DECON_BLENDING_COVERAGE = 2,
DECON_BLENDING_MAX = 3,
};
enum dpp_rotate {
DPP_ROT_NORMAL = 0x0,
DPP_ROT_XFLIP,
DPP_ROT_YFLIP,
DPP_ROT_180,
DPP_ROT_90,
DPP_ROT_90_XFLIP,
DPP_ROT_90_YFLIP,
DPP_ROT_270,
};
enum dpp_comp_src {
DPP_COMP_SRC_NONE = 0,
DPP_COMP_SRC_G2D,
DPP_COMP_SRC_GPU
};
enum dpp_csc_eq {
CSC_STANDARD_SHIFT = 0,
CSC_BT_601 = 0,
CSC_BT_709 = 1,
CSC_BT_2020 = 2,
CSC_DCI_P3 = 3,
CSC_BT_601_625,
CSC_BT_601_625_UNADJUSTED,
CSC_BT_601_525,
CSC_BT_601_525_UNADJUSTED,
CSC_BT_2020_CONSTANT_LUMINANCE,
CSC_BT_470M,
CSC_FILM,
CSC_ADOBE_RGB,
CSC_UNSPECIFIED = 63,
CSC_RANGE_SHIFT = 6,
CSC_RANGE_LIMITED = 0x0,
CSC_RANGE_FULL = 0x1,
CSC_RANGE_EXTENDED,
CSC_RANGE_UNSPECIFIED = 7
};
enum dpp_hdr_standard {
DPP_HDR_OFF = 0,
DPP_HDR_ST2084,
DPP_HDR_HLG,
DPP_TRANSFER_LINEAR,
DPP_TRANSFER_SRGB,
DPP_TRANSFER_SMPTE_170M,
DPP_TRANSFER_GAMMA2_2,
DPP_TRANSFER_GAMMA2_6,
DPP_TRANSFER_GAMMA2_8
};
enum hwc_ver {
HWC_INIT = 0,
HWC_1_0 = 1,
HWC_2_0 = 2,
};
enum disp_pwr_mode {
DECON_POWER_MODE_OFF = 0,
DECON_POWER_MODE_DOZE,
DECON_POWER_MODE_NORMAL,
DECON_POWER_MODE_DOZE_SUSPEND,
};
struct decon_color_mode_info {
int index;
uint32_t color_mode;
};
enum dpp_attr {
DPP_ATTR_AFBC = 0,
DPP_ATTR_BLOCK = 1,
DPP_ATTR_FLIP = 2,
DPP_ATTR_ROT = 3,
DPP_ATTR_CSC = 4,
DPP_ATTR_SCALE = 5,
DPP_ATTR_HDR = 6,
DPP_ATTR_C_HDR = 7,
DPP_ATTR_C_HDR10_PLUS = 8,
DPP_ATTR_WCG = 9,
DPP_ATTR_IDMA = 16,
DPP_ATTR_ODMA = 17,
DPP_ATTR_DPP = 18,
};
struct decon_hdr_capabilities {
unsigned int out_types[HDR_CAPABILITIES_NUM];
};
struct decon_hdr_capabilities_info {
int out_num;
int max_luminance;
int max_average_luminance;
int min_luminance;
};
struct dpp_size_range {
u32 min;
u32 max;
u32 align;
};
struct dpp_restriction {
struct dpp_size_range src_f_w;
struct dpp_size_range src_f_h;
struct dpp_size_range src_w;
struct dpp_size_range src_h;
u32 src_x_align;
u32 src_y_align;
struct dpp_size_range dst_f_w;
struct dpp_size_range dst_f_h;
struct dpp_size_range dst_w;
struct dpp_size_range dst_h;
u32 dst_x_align;
u32 dst_y_align;
struct dpp_size_range blk_w;
struct dpp_size_range blk_h;
u32 blk_x_align;
u32 blk_y_align;
u32 src_h_rot_max;
u32 format[MAX_FMT_CNT];
int format_cnt;
u32 scale_down;
u32 scale_up;
u32 reserved[6];
};
struct dpp_ch_restriction {
int id;
unsigned long attr;
struct dpp_restriction restriction;
u32 reserved[4];
};
struct dpp_restrictions_info {
u32 ver;
struct dpp_ch_restriction dpp_ch[MAX_DPP_CNT];
int dpp_cnt;
u32 reserved[4];
};
#define S3CFB_SET_VSYNC_INT _IOW('F', 206, __u32)
#define S3CFB_DECON_SELF_REFRESH _IOW('F', 207, __u32)
#define S3CFB_WIN_CONFIG _IOW('F', 209, struct decon_win_config_data)
#define EXYNOS_DISP_INFO _IOW('F', 260, struct decon_disp_info)
#define S3CFB_FORCE_PANIC _IOW('F', 211, __u32)
#define S3CFB_WIN_POSITION _IOW('F', 222, struct decon_user_window)
#define S3CFB_POWER_MODE _IOW('F', 223, __u32)
#define EXYNOS_DISP_RESTRICTIONS _IOW('F', 261, struct dpp_restrictions_info)
#define S3CFB_START_CRC _IOW('F', 270, u32)
#define S3CFB_SEL_CRC_BITS _IOW('F', 271, u32)
#define S3CFB_GET_CRC_DATA _IOR('F', 272, u32)
#define EXYNOS_GET_DISPLAYPORT_CONFIG _IOW('F', 300, struct exynos_displayport_data)
#define EXYNOS_SET_DISPLAYPORT_CONFIG _IOW('F', 301, struct exynos_displayport_data)
#define EXYNOS_DPU_DUMP _IOW('F', 302, struct decon_win_config_data)
#define S3CFB_GET_HDR_CAPABILITIES _IOW('F', 400, struct decon_hdr_capabilities)
#define S3CFB_GET_HDR_CAPABILITIES_NUM _IOW('F', 401, struct decon_hdr_capabilities_info)
#define EXYNOS_GET_COLOR_MODE_NUM _IOW('F', 600, __u32)
#define EXYNOS_GET_COLOR_MODE _IOW('F', 601, struct decon_color_mode_info)
#define EXYNOS_SET_COLOR_MODE _IOW('F', 602, __u32)
#endif