summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorClarence Ip <cip@codeaurora.org>2016-09-08 14:21:35 -0400
committerClarence Ip <cip@codeaurora.org>2016-10-05 10:54:02 -0400
commitf651c2aeb81934f534ef7f1817ad8283742be2be (patch)
tree82dda03f23d781f5d624f04bcb9f7933c8771e04 /include
parent0043536acfd2dd8890eb58004866e0cf14e73d81 (diff)
drm/msm/sde: update scaler property definition and type
Blob properties under DRM require a new blob to be created for each unique set of incoming data. By changing the scaler property to accept an incoming user space pointer and using copy_from_user to explicitly copy out the structure data each time the property is set, the user space client avoids the need to create new DRM blob objects when the scaler config needs to be updated. Change-Id: I07d4d095b69ddd38e2bf03de61ad51714df84adb Signed-off-by: Clarence Ip <cip@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/uapi/drm/sde_drm.h73
1 files changed, 0 insertions, 73 deletions
diff --git a/include/uapi/drm/sde_drm.h b/include/uapi/drm/sde_drm.h
index 35b3bc782921..07a02c721da1 100644
--- a/include/uapi/drm/sde_drm.h
+++ b/include/uapi/drm/sde_drm.h
@@ -1,36 +1,6 @@
#ifndef _SDE_DRM_H_
#define _SDE_DRM_H_
-/*
- * Each top level structure is of the following format:
- *
- * struct {
- * uint64_t version;
- * union {
- * struct version v1;
- * ...
- * } u;
- *
- * Each top level structure maintains independent versioning and is defined
- * as follows:
- *
- * #define STRUCTNAME_V1 0x1
- * ...
- * #define STRUCTNAME_Vn 0x###
- * #define STRUCTNAME_VERSION STRUCTNAME_Vn
- *
- * Version fields should ALWAYS be declared as type uint64_t. This is because
- * 64-bit compilers tend to pad the structure to 64-bit align the start of
- * union structure members. Having an explicit 64-bit version helps to maintain
- * consistent structure layout between 32-bit and 64-bit compilers.
- *
- * Updates to the structures UAPI should always define a new sub-structure to
- * place within the union, and update STRUCTNAME_VERSION to reference the
- * new version number.
- *
- * User mode code should always set the 'version' field to STRUCTNAME_VERSION.
- */
-
/* Total number of supported color planes */
#define SDE_MAX_PLANES 4
@@ -105,25 +75,9 @@ struct sde_drm_pix_ext_v1 {
};
/**
- * Enable mask bits for "scaler" property
- *
- * @SDE_DRM_SCALER_PIX_EXT: pix ext sub-structures are valid
- * @SDE_DRM_SCALER_SCALER_2: scaler 2 sub-structures are valid
- * @SDE_DRM_SCALER_SCALER_3: scaler 3 sub-structures are valid
- * @SDE_DRM_SCALER_DECIMATE: decimation fields are valid
- */
-#define SDE_DRM_SCALER_PIX_EXT 0x1
-#define SDE_DRM_SCALER_SCALER_2 0x2
-#define SDE_DRM_SCALER_SCALER_3 0x4
-#define SDE_DRM_SCALER_DECIMATE 0x8
-
-/**
* struct sde_drm_scaler_v1 - version 1 of struct sde_drm_scaler
- * @enable: Mask of SDE_DRM_SCALER_ bits
* @lr: Pixel extension settings for left/right
* @tb: Pixel extension settings for top/botton
- * @horz_decimate: Horizontal decimation factor
- * @vert_decimate: Vertical decimation factor
* @init_phase_x: Initial scaler phase values for x
* @phase_step_x: Phase step values for x
* @init_phase_y: Initial scaler phase values for y
@@ -133,23 +87,12 @@ struct sde_drm_pix_ext_v1 {
*/
struct sde_drm_scaler_v1 {
/*
- * General definitions
- */
- uint32_t enable;
-
- /*
* Pix ext settings
*/
struct sde_drm_pix_ext_v1 lr;
struct sde_drm_pix_ext_v1 tb;
/*
- * Decimation settings
- */
- uint32_t horz_decimate;
- uint32_t vert_decimate;
-
- /*
* Phase settings
*/
int32_t init_phase_x[SDE_MAX_PLANES];
@@ -165,22 +108,6 @@ struct sde_drm_scaler_v1 {
uint32_t vert_filter[SDE_MAX_PLANES];
};
-/* Scaler version definition, see top of file for guidelines */
-#define SDE_DRM_SCALER_V1 0x1
-#define SDE_DRM_SCALER_VERSION SDE_DRM_SCALER_V1
-
-/**
- * struct sde_drm_scaler - scaler structure
- * @version: Structure version, set to SDE_DRM_SCALER_VERSION
- * @v1: Version 1 of scaler structure
- */
-struct sde_drm_scaler {
- uint64_t version;
- union {
- struct sde_drm_scaler_v1 v1;
- };
-};
-
/*
* Define constants for struct sde_drm_csc
*/