meson_display: regression ROKU in meson_display modifying to trunk [1/1]

PD#SWPL-158515

Problem:
regression ROKU in meson_display modifying to trunk

Solution:
regression ROKU in meson_display modifying to trunk

Verify:
AH212

Change-Id: I55285171704231acbf7a52bf9e0a081efc72037b
Signed-off-by: chen.wang1 <chen.wang1@amlogic.com>
diff --git a/display_framework/src/extension/display_settings/displayattribute/display_attribute.c b/display_framework/src/extension/display_settings/displayattribute/display_attribute.c
index 9650f22..2d627ad 100644
--- a/display_framework/src/extension/display_settings/displayattribute/display_attribute.c
+++ b/display_framework/src/extension/display_settings/displayattribute/display_attribute.c
@@ -66,13 +66,10 @@
 }
 
 ENUM_DISPLAY_HDCPAUTH_STATUS getDisplayHdcpAuthStatus(DISPLAY_CONNECTOR_TYPE connType ) {
-    int fd = 0;
-    fd = display_meson_get_open();
     ENUM_DISPLAY_HDCPAUTH_STATUS hdcpAuthStatus = DISPLAY_AUTH_STATUS_FAIL;
-    int ret = meson_drm_getHdcpAuthStatus(fd, connType );
-    if (ret == 0) {
-        hdcpAuthStatus = DISPLAY_AUTH_STATUS_FAIL;
-    } else if(ret == 1) {
+    int fd = display_meson_get_open();
+    ENUM_MESON_HDCPAUTH_STATUS mesonAuthStatus = meson_drm_getHdcpAuthStatus(fd, connType );
+    if (mesonAuthStatus == MESON_AUTH_STATUS_SUCCESS) {
         hdcpAuthStatus = DISPLAY_AUTH_STATUS_SUCCESS;
     }
     meson_close_drm(fd);
@@ -102,30 +99,34 @@
 ENUM_DISPLAY_COLOR_SPACE getDisplayColorSpace(DISPLAY_CONNECTOR_TYPE connType) {
     int fd = 0;
     char* str = NULL;
+    ENUM_DISPLAY_COLOR_SPACE displayColorSpace = DISPLAY_COLOR_SPACE_RESERVED;
     fd = display_meson_get_open();
-    ENUM_DISPLAY_COLOR_SPACE colorSpace = DISPLAY_COLOR_SPACE_RESERVED;
-    colorSpace = meson_drm_getColorSpace(fd, connType);
+    ENUM_MESON_COLOR_SPACE colorSpace = meson_drm_getColorSpace(fd, connType);
     meson_close_drm(fd);
-    switch (colorSpace)
-    {
-        case 0:
+    switch (colorSpace) {
+        case MESON_COLOR_SPACE_RGB:
             str = "DISPLAY_COLOR_SPACE_RGB";
+            displayColorSpace = DISPLAY_COLOR_SPACE_RGB;
             break;
-        case 1:
+        case MESON_COLOR_SPACE_YCBCR422:
             str = "DISPLAY_COLOR_SPACE_YCBCR422";
+            displayColorSpace = DISPLAY_COLOR_SPACE_YCBCR422;
             break;
-        case 2:
+        case MESON_COLOR_SPACE_YCBCR444:
             str = "DISPLAY_COLOR_SPACE_YCBCR444";
+            displayColorSpace = DISPLAY_COLOR_SPACE_YCBCR444;
             break;
-        case 3:
+        case MESON_COLOR_SPACE_YCBCR420:
             str = "DISPLAY_COLOR_SPACE_YCBCR420";
+            displayColorSpace = DISPLAY_COLOR_SPACE_YCBCR420;
             break;
         default:
             str = "DISPLAY_COLOR_SPACE_RESERVED";
+            displayColorSpace = DISPLAY_COLOR_SPACE_RESERVED;
             break;
     }
     DEBUG("%s %d get colorSpace: %s",__FUNCTION__,__LINE__,str);
-    return colorSpace;
+    return displayColorSpace;
 }
 
 uint32_t getDisplayColorDepth(DISPLAY_CONNECTOR_TYPE connType) {
@@ -139,49 +140,51 @@
 }
 
 ENUM_DISPLAY_CONNECTION getDisplayConnectionStatus(DISPLAY_CONNECTOR_TYPE connType) {
-    int fd = 0;
     char* str = NULL;
-    fd = display_meson_get_open();
-    ENUM_DISPLAY_CONNECTION ConnStatus = DISPLAY_UNKNOWNCONNECTION;
-    ConnStatus = meson_drm_getConnectionStatus(fd, connType);
+    ENUM_DISPLAY_CONNECTION displayConnStatus = DISPLAY_UNKNOWNCONNECTION;
+    int fd = display_meson_get_open();
+    ENUM_MESON_CONN_CONNECTION connStatus = meson_drm_getConnectionStatus(fd, connType);
     meson_close_drm(fd);
-    switch (ConnStatus)
-    {
-        case 0:
+    switch (connStatus) {
+        case MESON_DISCONNECTED:
             str = "DISPLAY_DISCONNECTED";
+            displayConnStatus = DISPLAY_DISCONNECTED;
             break;
-        case 1:
+        case MESON_CONNECTED:
             str = "DISPLAY_CONNECTED";
+            displayConnStatus = DISPLAY_CONNECTED;
             break;
         default:
             str = "DISPLAY_UNKNOWNCONNECTION";
+            displayConnStatus = DISPLAY_UNKNOWNCONNECTION;
             break;
     }
     DEBUG("%s %d get connection status: %s",__FUNCTION__,__LINE__,str);
-    return ConnStatus;
+    return displayConnStatus;
 }
 
 ENUM_DISPLAY_HDCP_VERSION getDisplayHdcpVersion(DISPLAY_CONNECTOR_TYPE connType ) {
-    int fd = 0;
     char* str = NULL;
-    fd = display_meson_get_open();
-    ENUM_DISPLAY_HDCP_VERSION hdcpVersion = DISPLAY_HDCP_RESERVED;
-    hdcpVersion = meson_drm_getHdcpVersion(fd, connType);
+    ENUM_DISPLAY_HDCP_VERSION displayHdcpVersion = DISPLAY_HDCP_RESERVED;
+    int fd = display_meson_get_open();
+    ENUM_MESON_HDCP_VERSION hdcpVersion = meson_drm_getHdcpVersion(fd, connType);
     meson_close_drm(fd);
-    switch (hdcpVersion)
-    {
-        case 0:
+    switch (hdcpVersion) {
+        case MESON_HDCP_14:
             str = "DISPLAY_HDCP_14";
+            displayHdcpVersion = DISPLAY_HDCP_14;
             break;
-        case 1:
+        case MESON_HDCP_22:
             str = "DISPLAY_HDCP_22";
+            displayHdcpVersion = DISPLAY_HDCP_22;
             break;
         default:
             str = "DISPLAY_HDCP_RESERVED";
+            displayHdcpVersion = DISPLAY_HDCP_RESERVED;
             break;
     }
     DEBUG("%s %d get hdcp version: %s",__FUNCTION__,__LINE__,str);
-    return hdcpVersion;
+    return displayHdcpVersion;
 }
 
 int getDisplayMode(DisplayModeInfo* modeInfo, DISPLAY_CONNECTOR_TYPE connType) {
@@ -203,30 +206,30 @@
 }
 
 ENUM_DISPLAY_HDR_POLICY getDisplayHDRPolicy(DISPLAY_CONNECTOR_TYPE connType) {
-    int fd = 0;
-    fd = display_meson_get_open();
     char* str = NULL;
-    ENUM_DISPLAY_HDR_POLICY hdrPolicy = DISPLAY_HDR_POLICY_FOLLOW_SINK;
-    ENUM_DISPLAY_FORCE_MODE forcemode = DISPLAY_UNKNOWN_FMT;
-    hdrPolicy = meson_drm_getHDRPolicy(fd, connType);
-    forcemode = meson_drm_getHdrForceMode(fd, connType);
+    ENUM_DISPLAY_HDR_POLICY displayHdrPolicy = DISPLAY_HDR_POLICY_FOLLOW_SOURCE;
+    int fd = display_meson_get_open();
+    ENUM_MESON_HDR_POLICY hdrPolicy = meson_drm_getHDRPolicy(fd, connType);
     meson_close_drm(fd);
-    switch (hdrPolicy)
-    {
-        case 0:
+    switch (hdrPolicy) {
+        case MESON_HDR_POLICY_FOLLOW_SINK:
             str = "DISPLAY_HDR_POLICY_FOLLOW_SINK";
+            displayHdrPolicy = DISPLAY_HDR_POLICY_FOLLOW_SINK;
             break;
-        case 1:
+        case MESON_HDR_POLICY_FOLLOW_SOURCE:
             str = "DISPLAY_HDR_POLICY_FOLLOW_SOURCE";
+            displayHdrPolicy = DISPLAY_HDR_POLICY_FOLLOW_SOURCE;
             break;
-        case 2:
+        case MESON_HDR_POLICY_FOLLOW_FORCE_MODE:
             str = "DISPLAY_HDR_POLICY_FOLLOW_FORCE_MODE";
+            displayHdrPolicy = DISPLAY_HDR_POLICY_FOLLOW_FORCE_MODE;
             break;
         default:
+            str = "DISPLAY_HDR_POLICY_FOLLOW_SOURCE";
             break;
     }
-    DEBUG("%s %d get hdr policy: %s,force mode: %d",__FUNCTION__,__LINE__,str,forcemode);
-    return hdrPolicy;
+    DEBUG("%s %d get hdr policy: %s",__FUNCTION__,__LINE__,str);
+    return displayHdrPolicy;
 }
 
 int getDisplayModesList(DisplayModeInfo** modeInfo, int* modeCount,DISPLAY_CONNECTOR_TYPE connType) {
@@ -266,61 +269,65 @@
 }
 
 ENUM_DISPLAY_HDCP_Content_Type getDisplayHDCPContentType(DISPLAY_CONNECTOR_TYPE connType) {
-    int fd = 0;
     char* str = NULL;
-    fd = display_meson_get_open();
-    ENUM_DISPLAY_HDCP_Content_Type ContentType = DISPLAY_HDCP_Type_RESERVED;
-    ContentType = meson_drm_getHDCPContentType(fd, connType);
+    ENUM_DISPLAY_HDCP_Content_Type displayHDCPType = DISPLAY_HDCP_Type_RESERVED;
+    int fd = display_meson_get_open();
+    ENUM_MESON_HDCP_Content_Type HDCPType = meson_drm_getHDCPContentType(fd, connType);
     meson_close_drm(fd);
-    switch (ContentType)
-    {
-        case 0:
+    switch (HDCPType) {
+        case MESON_HDCP_Type0:
             str = "DISPLAY_HDCP_Type0";
+            displayHDCPType = DISPLAY_HDCP_Type0;
             break;
-        case 1:
+        case MESON_HDCP_Type1:
             str = "DISPLAY_HDCP_Type1";
+            displayHDCPType = DISPLAY_HDCP_Type1;
             break;
         default:
             str = "DISPLAY_HDCP_Type_RESERVED";
+            displayHDCPType = DISPLAY_HDCP_Type_RESERVED;
             break;
     }
     DEBUG("%s %d get hdcp content type: %s",__FUNCTION__,__LINE__,str);
-    return ContentType;
+    return displayHDCPType;
 }
 
 ENUM_DISPLAY_Content_Type getDisplayContentType( DISPLAY_CONNECTOR_TYPE connType) {
-    int fd = 0;
     char* str = NULL;
-    fd = display_meson_get_open();
-    ENUM_DISPLAY_Content_Type ContentType = DISPLAY_Content_Type_RESERVED;
-    ContentType = meson_drm_getContentType(fd, connType);
+    ENUM_DISPLAY_Content_Type displayContentType = DISPLAY_Content_Type_RESERVED;
+    int fd = display_meson_get_open();
+    MESON_CONTENT_TYPE contentType = meson_drm_getContentType(fd, connType);
     meson_close_drm(fd);
-    switch (ContentType)
-    {
-        case 0:
+    switch (contentType) {
+        case MESON_CONTENT_TYPE_Data:
             str = "DISPLAY_Content_Type_Data";
+            displayContentType = DISPLAY_Content_Type_Data;
             break;
-        case 1:
+        case MESON_CONTENT_TYPE_Graphics:
             str = "DISPLAY_Content_Type_Graphics";
+            displayContentType = DISPLAY_Content_Type_Graphics;
             break;
-         case 2:
+         case MESON_CONTENT_TYPE_Photo:
             str = "DISPLAY_Content_Type_Photo";
+            displayContentType = DISPLAY_Content_Type_Photo;
             break;
-        case 3:
+        case MESON_CONTENT_TYPE_Cinema:
             str = "DISPLAY_Content_Type_Cinema";
+            displayContentType = DISPLAY_Content_Type_Cinema;
             break;
-         case 4:
+         case MESON_CONTENT_TYPE_Game:
             str = "DISPLAY_Content_Type_Game";
+            displayContentType = DISPLAY_Content_Type_Game;
             break;
         default:
             str = "DISPLAY_Content_Type_RESERVED";
+            displayContentType = DISPLAY_Content_Type_RESERVED;
             break;
     }
     DEBUG("%s %d get content type: %s",__FUNCTION__,__LINE__,str);
-    return ContentType;
+    return displayContentType;
 }
 
-
 int getDisplayDvEnable(DISPLAY_CONNECTOR_TYPE connType ) {
     int fd = 0;
     int ret = -1;
@@ -372,41 +379,47 @@
 }
 
 ENUM_DISPLAY_HDR_MODE getDisplayHdrStatus(DISPLAY_CONNECTOR_TYPE connType ) {
-    int fd = 0;
     char* str = NULL;
-    fd = display_meson_get_open();
-    ENUM_DISPLAY_HDR_MODE hdrMode = MESON_DISPLAY_SDR;
-    hdrMode = meson_drm_getHdrStatus(fd, connType);
+    int fd = display_meson_get_open();
+    ENUM_MESON_HDR_MODE hdrMode = meson_drm_getHdrStatus(fd, connType);
+    ENUM_DISPLAY_HDR_MODE displayHdrMode = MESON_DISPLAY_SDR;
     meson_close_drm(fd);
-    switch (hdrMode)
-    {
-        case 0:
+    switch (hdrMode) {
+        case MESON_HDR10PLUS:
             str = "MESON_DISPLAY_HDR10PLUS";
+            displayHdrMode = MESON_DISPLAY_HDR10PLUS;
             break;
-        case 1:
+        case MESON_DOLBYVISION_STD:
             str = "MESON_DISPLAY_DolbyVision_STD";
+            displayHdrMode = MESON_DISPLAY_DolbyVision_STD;
             break;
-        case 2:
+        case MESON_DOLBYVISION_LL:
             str = "MESON_DISPLAY_DolbyVision_Lowlatency";
+            displayHdrMode = MESON_DISPLAY_DolbyVision_Lowlatency;
             break;
-        case 3:
+        case MESON_HDR10_ST2084:
             str = "MESON_DISPLAY_HDR10_ST2084";
+            displayHdrMode = MESON_DISPLAY_HDR10_ST2084;
             break;
-        case 4:
+        case MESON_HDR10_TRADITIONAL:
             str = "MESON_DISPLAY_HDR10_TRADITIONAL";
+            displayHdrMode = MESON_DISPLAY_HDR10_TRADITIONAL;
             break;
-        case 5:
+        case MESON_HDR_HLG:
             str = "MESON_DISPLAY_HDR_HLG";
+            displayHdrMode = MESON_DISPLAY_HDR_HLG;
             break;
-        case 6:
+        case MESON_SDR:
             str = "MESON_DISPLAY_SDR";
+            displayHdrMode = MESON_DISPLAY_SDR;
             break;
         default:
             str = "MESON_DISPLAY_SDR";
+            displayHdrMode = MESON_DISPLAY_SDR;
             break;
     }
     DEBUG("%s %d get hdr status: %s",__FUNCTION__,__LINE__,str);
-    return hdrMode;
+    return displayHdrMode;
 }
 
 bool modeAttrSupportedCheck(char* modeName, ENUM_DISPLAY_COLOR_SPACE colorSpace,
@@ -458,28 +471,30 @@
 }
 
 ENUM_DISPLAY_ASPECT_RATIO getDisplayAspectRatioValue(DISPLAY_CONNECTOR_TYPE connType ) {
-    int fd = 0;
     char* str = NULL;
-    fd = display_meson_get_open();
-    ENUM_DISPLAY_ASPECT_RATIO ASPECTRATIO = meson_drm_getAspectRatioValue(fd, connType );
-    meson_close_drm(fd);
-    switch (ASPECTRATIO)
-    {
-    case 0:
-        str = "DISPLAY_ASPECT_RATIO_AUTOMATIC";
-        break;
-    case 1:
-        str = "DISPLAY_ASPECT_RATIO_4_3";
-        break;
-    case 2:
-        str = "DISPLAY_ASPECT_RATIO_16_9";
-        break;
-    default:
-        str = "DISPLAY_ASPECT_RATIO_RESERVED";
-        break;
+    int fd = display_meson_get_open();
+    ENUM_MESON_ASPECT_RATIO aspectRatio = meson_drm_getAspectRatioValue(fd, connType );
+    ENUM_DISPLAY_ASPECT_RATIO displayAspectRatio = DISPLAY_ASPECT_RATIO_RESERVED;
+    switch (aspectRatio) {
+        case MESON_ASPECT_RATIO_AUTOMATIC:
+            str = "DISPLAY_ASPECT_RATIO_AUTOMATIC";
+            displayAspectRatio = DISPLAY_ASPECT_RATIO_AUTOMATIC;
+            break;
+        case MESON_ASPECT_RATIO_4_3:
+            str = "DISPLAY_ASPECT_RATIO_4_3";
+            displayAspectRatio = DISPLAY_ASPECT_RATIO_4_3;
+            break;
+        case MESON_ASPECT_RATIO_16_9:
+            str = "DISPLAY_ASPECT_RATIO_16_9";
+            displayAspectRatio = DISPLAY_ASPECT_RATIO_16_9;
+            break;
+        default:
+            str = "DISPLAY_ASPECT_RATIO_RESERVED";
+            displayAspectRatio = DISPLAY_ASPECT_RATIO_RESERVED;
+            break;
     }
     DEBUG("%s %d get aspect ratio %s",__FUNCTION__,__LINE__,str);
-    return ASPECTRATIO;
+    return displayAspectRatio;
 }
 
 int getDisplayFracRatePolicy(DISPLAY_CONNECTOR_TYPE connType ) {
diff --git a/display_framework/src/extension/display_settings/meson/meson_settings.c b/display_framework/src/extension/display_settings/meson/meson_settings.c
index b2f02f0..ad39106 100644
--- a/display_framework/src/extension/display_settings/meson/meson_settings.c
+++ b/display_framework/src/extension/display_settings/meson/meson_settings.c
@@ -115,27 +115,34 @@
 
 int setDisplayColorSpacedDepth(uint32_t colorDepth, ENUM_DISPLAY_COLOR_SPACE colorSpace,
                                     DISPLAY_CONNECTOR_TYPE connType) {
-    int res = -1;
+    int res1 = -1;
+    int res2 = -1;
     int ret = -1;
     int fd = 0;
     drmModeAtomicReq *req = NULL;
     char* str = NULL;
+    ENUM_MESON_COLOR_SPACE mesonColorSpace = MESON_COLOR_SPACE_RESERVED;
     switch (colorSpace)
     {
-        case 0:
+        case DISPLAY_COLOR_SPACE_RGB:
             str = "DISPLAY_COLOR_SPACE_RGB";
+            mesonColorSpace = MESON_COLOR_SPACE_RGB;
             break;
-        case 1:
+        case DISPLAY_COLOR_SPACE_YCBCR422:
             str = "DISPLAY_COLOR_SPACE_YCBCR422";
+            mesonColorSpace = MESON_COLOR_SPACE_YCBCR422;
             break;
-        case 2:
+        case DISPLAY_COLOR_SPACE_YCBCR444:
             str = "DISPLAY_COLOR_SPACE_YCBCR444";
+            mesonColorSpace = MESON_COLOR_SPACE_YCBCR444;
             break;
-        case 3:
+        case DISPLAY_COLOR_SPACE_YCBCR420:
             str = "DISPLAY_COLOR_SPACE_YCBCR420";
+            mesonColorSpace = MESON_COLOR_SPACE_YCBCR420;
             break;
         default:
             str = "DISPLAY_COLOR_SPACE_RESERVED";
+            mesonColorSpace = MESON_COLOR_SPACE_RESERVED;
             break;
     }
     DEBUG(" %s %d set colorDepth: %d colorSpace: %s",__FUNCTION__,__LINE__,colorDepth,str);
@@ -145,9 +152,9 @@
         ERROR(" %s %d invalid parameter return",__FUNCTION__,__LINE__);
         goto out;
     }
-    res = meson_drm_setColorDepth(fd, req, colorDepth, connType);
-    res = meson_drm_setColorSpace(fd, req, colorSpace, connType);
-    if (res == -1) {
+    res1 = meson_drm_setColorDepth(fd, req, colorDepth, connType);
+    res2 = meson_drm_setColorSpace(fd, req, mesonColorSpace, connType);
+    if (res1 == -1 || res2 == -1) {
         ERROR("%s %d set <colorDepth,colorSpace> fail",__FUNCTION__,__LINE__);
         goto out;
     }
@@ -171,23 +178,38 @@
     int ret = -1;
     int fd = 0;
     drmModeAtomicReq *req = NULL;
-    ENUM_DISPLAY_FORCE_MODE forcemode = DISPLAY_UNKNOWN_FMT;
+    ENUM_MESON_DRM_FORCE_MODE forcemode = MESON_DRM_UNKNOWN_FMT;
+    ENUM_MESON_HDR_POLICY mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SOURCE;
     DEBUG("%s %d set hdr policy %d",__FUNCTION__,__LINE__,hdrPolicy);
-    fd = display_meson_set_open();
     req = drmModeAtomicAlloc();
     if (req == NULL) {
         DEBUG("%s %d invalid parameter return",__FUNCTION__,__LINE__);
         goto out;
     }
-    respolicy = meson_drm_setHDRPolicy(fd, req, hdrPolicy, connType);
+    switch (hdrPolicy) {
+        case DISPLAY_HDR_POLICY_FOLLOW_SINK:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SINK;
+            break;
+        case DISPLAY_HDR_POLICY_FOLLOW_SOURCE:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SOURCE;
+            break;
+         case DISPLAY_HDR_POLICY_FOLLOW_FORCE_MODE:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_FORCE_MODE;
+            break;
+        default:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SOURCE;
+            break;
+    }
+    fd = display_meson_set_open();
+    respolicy = meson_drm_setHDRPolicy(fd, req, mesonHdrPolicy, connType);
     if (respolicy == -1) {
         ERROR("%s %d set hdr policy fail",__FUNCTION__,__LINE__);
         goto out;
     }
     if (hdrPolicy == DISPLAY_HDR_POLICY_FOLLOW_FORCE_MODE) {
-        forcemode = DISPLAY_BT709;
+        forcemode = MESON_DRM_BT709;
     } else {
-        forcemode = DISPLAY_UNKNOWN_FMT;
+        forcemode = MESON_DRM_UNKNOWN_FMT;
     }
     DEBUG("%s %d set force mode %d",__FUNCTION__,__LINE__,forcemode);
     resforce = meson_drm_setHdrForceMode(fd, req, forcemode, connType);
@@ -453,36 +475,39 @@
     return ret;
 }
 
-
-int setDisplayAspectRatioValue(ENUM_DISPLAY_ASPECT_RATIO ASPECTRATIO, DISPLAY_CONNECTOR_TYPE connType) {
+int setDisplayAspectRatioValue(ENUM_DISPLAY_ASPECT_RATIO aspectRatio, DISPLAY_CONNECTOR_TYPE connType) {
     int res = -1;
     int ret = -1;
     int fd = 0;
     drmModeAtomicReq *req = NULL;
     char* str = NULL;
-    switch (ASPECTRATIO)
-    {
-    case 0:
-        str = "DISPLAY_ASPECT_RATIO_AUTOMATIC";
-        break;
-    case 1:
-        str = "DISPLAY_ASPECT_RATIO_4_3";
-        break;
-    case 2:
-        str = "DISPLAY_ASPECT_RATIO_16_9";
-        break;
-    default:
-        str = "DISPLAY_ASPECT_RATIO_RESERVED";
-        break;
+    ENUM_MESON_ASPECT_RATIO mesonAspectRatio = MESON_ASPECT_RATIO_RESERVED;
+    switch (aspectRatio) {
+        case DISPLAY_ASPECT_RATIO_AUTOMATIC:
+            str = "DISPLAY_ASPECT_RATIO_AUTOMATIC";
+            mesonAspectRatio = MESON_ASPECT_RATIO_AUTOMATIC;
+            break;
+        case DISPLAY_ASPECT_RATIO_4_3:
+            str = "DISPLAY_ASPECT_RATIO_4_3";
+            mesonAspectRatio = MESON_ASPECT_RATIO_4_3;
+            break;
+        case DISPLAY_ASPECT_RATIO_16_9:
+            str = "DISPLAY_ASPECT_RATIO_16_9";
+            mesonAspectRatio = MESON_ASPECT_RATIO_16_9;
+            break;
+        default:
+            str = "DISPLAY_ASPECT_RATIO_RESERVED";
+            mesonAspectRatio = MESON_ASPECT_RATIO_RESERVED;
+            break;
     }
     DEBUG("%s %d set aspect ratio %s",__FUNCTION__,__LINE__, str);
-    fd = display_meson_set_open();
     req = drmModeAtomicAlloc();
     if (req == NULL) {
         DEBUG("%s %d invalid parameter return",__FUNCTION__,__LINE__);
         goto out;
     }
-    res = meson_drm_setAspectRatioValue(fd, req, ASPECTRATIO, connType);
+    fd = display_meson_set_open();
+    res = meson_drm_setAspectRatioValue(fd, req, mesonAspectRatio, connType);
     if (res == -1) {
         ERROR(" %s %d set aspect ratio value fail",__FUNCTION__,__LINE__);
         goto out;
@@ -565,7 +590,10 @@
     int rescolorspace = -1;
     int resFracRate = -1;
     int fd = 0;
-    ENUM_DISPLAY_FORCE_MODE forcemode = DISPLAY_UNKNOWN_FMT;
+    char* str = NULL;
+    ENUM_MESON_DRM_FORCE_MODE forcemode = MESON_DRM_UNKNOWN_FMT;
+    ENUM_MESON_HDR_POLICY mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SOURCE;
+    ENUM_MESON_COLOR_SPACE mesonColorSpace = MESON_COLOR_SPACE_RESERVED;
     drmModeAtomicReq *req = NULL;
     DEBUG("%s %d set modeInfo: %dx%d%s%dhz",__FUNCTION__,__LINE__, modeInfo->w, modeInfo->h,
                                (modeInfo->interlace == 0? "p":"i"), modeInfo->vrefresh);
@@ -584,16 +612,30 @@
         ERROR("%s %d change mode fail",__FUNCTION__,__LINE__);
         goto out;
     }
-    DEBUG("%s %d set hdr policy:%d colordepth: %d colorspace: %d",__FUNCTION__,__LINE__,hdrPolicy,colorDepth,colorSpace,FracRate);
-    respolicy = meson_drm_setHDRPolicy(fd, req, hdrPolicy, connType);
+    switch (hdrPolicy) {
+        case DISPLAY_HDR_POLICY_FOLLOW_SINK:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SINK;
+            break;
+        case DISPLAY_HDR_POLICY_FOLLOW_SOURCE:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SOURCE;
+            break;
+         case DISPLAY_HDR_POLICY_FOLLOW_FORCE_MODE:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_FORCE_MODE;
+            break;
+        default:
+            mesonHdrPolicy = MESON_HDR_POLICY_FOLLOW_SOURCE;
+            break;
+    }
+    DEBUG("%s %d set hdr policy:%d colordepth: %d colorspace: %d",__FUNCTION__,__LINE__,mesonHdrPolicy,colorDepth,colorSpace,FracRate);
+    respolicy = meson_drm_setHDRPolicy(fd, req, mesonHdrPolicy, connType);
     if (respolicy == -1) {
         ERROR("%s %d set hdr policy fail",__FUNCTION__,__LINE__);
         goto out;
     }
     if (hdrPolicy == DISPLAY_HDR_POLICY_FOLLOW_FORCE_MODE) {
-        forcemode = DISPLAY_BT709;
+        forcemode = MESON_DRM_BT709;
     } else {
-        forcemode = DISPLAY_UNKNOWN_FMT;
+        forcemode = MESON_DRM_UNKNOWN_FMT;
     }
     DEBUG("%s %d set force mode: %d",__FUNCTION__,__LINE__,forcemode);
     resforce = meson_drm_setHdrForceMode(fd, req, forcemode, connType);
@@ -606,7 +648,30 @@
         ERROR("%s %d set color depth fail",__FUNCTION__,__LINE__);
         goto out;
     }
-    rescolorspace = meson_drm_setColorSpace(fd, req, colorSpace, connType);
+    switch (colorSpace)
+    {
+        case DISPLAY_COLOR_SPACE_RGB:
+            str = "DISPLAY_COLOR_SPACE_RGB";
+            mesonColorSpace = MESON_COLOR_SPACE_RGB;
+            break;
+        case DISPLAY_COLOR_SPACE_YCBCR422:
+            str = "DISPLAY_COLOR_SPACE_YCBCR422";
+            mesonColorSpace = MESON_COLOR_SPACE_YCBCR422;
+            break;
+        case DISPLAY_COLOR_SPACE_YCBCR444:
+            str = "DISPLAY_COLOR_SPACE_YCBCR444";
+            mesonColorSpace = MESON_COLOR_SPACE_YCBCR444;
+            break;
+        case DISPLAY_COLOR_SPACE_YCBCR420:
+            str = "DISPLAY_COLOR_SPACE_YCBCR420";
+            mesonColorSpace = MESON_COLOR_SPACE_YCBCR420;
+            break;
+        default:
+            str = "DISPLAY_COLOR_SPACE_RESERVED";
+            mesonColorSpace = MESON_COLOR_SPACE_RESERVED;
+            break;
+    }
+    rescolorspace = meson_drm_setColorSpace(fd, req, mesonColorSpace, connType);
     if (rescolorspace == -1) {
         ERROR("%s %d set color space fail",__FUNCTION__,__LINE__);
         goto out;