/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * Copyright (C) 2013 Red Hat * Author: Rob Clark <[email protected]> */ #ifndef __MSM_FORMAT_H__ #define __MSM_FORMAT_H__ #include "mdp_common.xml.h" enum msm_format_flags { … }; #define MSM_FORMAT_FLAG_YUV … #define MSM_FORMAT_FLAG_DX … #define MSM_FORMAT_FLAG_COMPRESSED … #define MSM_FORMAT_FLAG_UNPACK_TIGHT … #define MSM_FORMAT_FLAG_UNPACK_ALIGN_MSB … /** * DPU HW,Component order color map */ enum { … }; /** * struct msm_format: defines the format configuration * @pixel_format: format fourcc * @element: element color ordering * @fetch_type: how the color components are packed in pixel format * @chroma_sample: chroma sub-samplng type * @alpha_enable: whether the format has an alpha channel * @unpack_count: number of the components to unpack * @bpp: bytes per pixel * @flags: usage bit flags * @num_planes: number of planes (including meta data planes) * @fetch_mode: linear, tiled, or ubwc hw fetch behavior * @tile_height: format tile height */ struct msm_format { … }; #define MSM_FORMAT_IS_YUV(X) … #define MSM_FORMAT_IS_DX(X) … #define MSM_FORMAT_IS_LINEAR(X) … #define MSM_FORMAT_IS_TILE(X) … #define MSM_FORMAT_IS_UBWC(X) … #endif