meson_display: add get hdcp topo info API [1/1]

PD#SWPL-174925

Problem:
add get hdcp topo info API

Solution:
add get hdcp topo info API

Verify:
AH212

Change-Id: Ia8d7ea30c0104206debe76a5ccd94b7c4b6b9e33
Signed-off-by: chen.wang1 <chen.wang1@amlogic.com>
diff --git a/display_framework/src/extension/display_settings/display_settings.h b/display_framework/src/extension/display_settings/display_settings.h
index 45c0df1..04d2ae3 100644
--- a/display_framework/src/extension/display_settings/display_settings.h
+++ b/display_framework/src/extension/display_settings/display_settings.h
@@ -180,6 +180,7 @@
 int getDisplayIsBestMode(int* value);
 int setDisplayBackGroundColor(unsigned char red, unsigned char green, unsigned char blue,
                                                              DISPLAY_CONNECTOR_TYPE connType);
+int getDisplayHdcpTopoInfo( DISPLAY_CONNECTOR_TYPE connType );
 int setDisplayPlaneMute(unsigned int plane_type,  unsigned int plane_mute);
 int getDisplayRxSupportedHdcpVersion(DISPLAY_CONNECTOR_TYPE connType);
 
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 6fcf537..6da8a99 100644
--- a/display_framework/src/extension/display_settings/displayattribute/display_attribute.c
+++ b/display_framework/src/extension/display_settings/displayattribute/display_attribute.c
@@ -702,6 +702,14 @@
     return ret;
 }
 
+int getDisplayHdcpTopoInfo( DISPLAY_CONNECTOR_TYPE connType ) {
+    int fd = display_meson_get_open();
+    int value = meson_drm_getHdcpTopoInfo(fd, connType);
+    meson_close_drm(fd);
+    DEBUG("%s %d get hdcp topo info: %d",__FUNCTION__,__LINE__,value);
+    return value;
+}
+
 int getDisplayCvbsAVMute( ) {
     int fd = display_meson_get_open();
     int ret = meson_drm_getCvbsAVMute(fd, MESON_CONNECTOR_CVBS );
diff --git a/display_framework/src/extension/display_settings/meson/meson_settings_Test.c b/display_framework/src/extension/display_settings/meson/meson_settings_Test.c
index fb1ccd3..dd974ac 100644
--- a/display_framework/src/extension/display_settings/meson/meson_settings_Test.c
+++ b/display_framework/src/extension/display_settings/meson/meson_settings_Test.c
@@ -356,7 +356,8 @@
          " 12->Dv Enable 13->active 14->vrr Enable 15->av mute 16->hdr mode 17->CvbsModesList 18-> mode support check"
          " 19->current aspect ratio 20->event test 21->frac rate policy 22->Supported dvmode 23->hdr supportedlist "
          " 24->DvCap 25->dpms status 26->mode support attrlist 27->framrate 28->primar plane fb size"
-         " 29->physical size 30->Timing information 31->dv mode 32->rx supported hdcp version 33->cvbs video mute\n");
+         " 29->physical size 30->Timing information 31->dv mode 32->rx supported hdcp version 33->cvbs video mute"
+         " 34->hdcp topo info\n");
         len = scanf("%d",&get);
         if (get == 0 && len == 1) {
             ENUM_DISPLAY_HDR_POLICY value = getDisplayHDRPolicy( DISPLAY_CONNECTOR_HDMIA);
@@ -620,6 +621,9 @@
         } else if (get == 33 && len == 1) {
             int value = getDisplayCvbsAVMute( );
             printf("\n cvbs video mute:%d\n",value);
+        } else if (get == 34 && len == 1) {
+            int value = getDisplayHdcpTopoInfo(DISPLAY_CONNECTOR_HDMIA );
+            printf("\n get hdcp topo info: %d\n",value);
         }
     }
     else {
diff --git a/display_framework/src/extension/display_settings/westeros/westeros_settings_Test.c b/display_framework/src/extension/display_settings/westeros/westeros_settings_Test.c
index 075466c..7ddca8b 100644
--- a/display_framework/src/extension/display_settings/westeros/westeros_settings_Test.c
+++ b/display_framework/src/extension/display_settings/westeros/westeros_settings_Test.c
@@ -250,7 +250,7 @@
          "19->current aspect ratio 20->event test 21->frac rate policy 22->scaling 23->supported dvmode"
          " 24->hdr supportedlist 25->DvCap 26->display enabled 27->dpms status 28->mode support attrlist 29->framrate"
          " 30->primar plane fb size 31->physical size 32->Timing information 33->is bestmode 34->dv mode "
-         " 35->rx supported hdcp version 36->cvbs video mute\n");
+         " 35->rx supported hdcp version 36->cvbs video mute 37->hdcp topo info\n");
         len = scanf("%d",&get);
         if (get == 0 && len == 1) {
             ENUM_DISPLAY_HDR_POLICY value = getDisplayHDRPolicy( DISPLAY_CONNECTOR_HDMIA);
@@ -536,6 +536,9 @@
         } else if (get == 36 && len == 1) {
             int value = getDisplayCvbsAVMute( );
             printf("\n cvbs video mute:%d\n",value);
+        } else if (get == 37 && len == 1) {
+            int value = getDisplayHdcpTopoInfo(DISPLAY_CONNECTOR_HDMIA );
+            printf("\n get hdcp topo info: %d\n", value);
         }
     }
     else {
diff --git a/display_framework/src/extension/display_settings/weston/weston_settings_Test.c b/display_framework/src/extension/display_settings/weston/weston_settings_Test.c
index 3b2e4a9..637c57c 100644
--- a/display_framework/src/extension/display_settings/weston/weston_settings_Test.c
+++ b/display_framework/src/extension/display_settings/weston/weston_settings_Test.c
@@ -244,7 +244,7 @@
          " 19->current aspect ratio 20->event test 21->frac rate policy 22->Supported dvmode 23->hdr supportedlist"
          " 24->DvCap 25->dpms status 26->mode support attrlist 27->framrate 28->primar plane fb size "
          " 29>physical size 30->Timing information 31->dv mode 32->rx supported hdcp version 33->cvbs video mute "
-         " 34->frac rate policy\n");
+         " 34->frac rate policy 35->hdcp topo info\n");
         len = scanf("%d",&get);
         if (get == 0 && len == 1) {
             ENUM_DISPLAY_HDR_POLICY value = getDisplayHDRPolicy( DISPLAY_CONNECTOR_HDMIA);
@@ -509,6 +509,9 @@
         } else if (get == 34 && len == 1) {
             int value = getDisplayCvbsAVMute( DISPLAY_CONNECTOR_CVBS );
             printf("\n cvbs video mute:%d\n",value);
+        } else if (get == 35 && len == 1) {
+            int value = getDisplayHdcpTopoInfo(DISPLAY_CONNECTOR_HDMIA );
+            printf("\n get hdcp topo info: %d\n",value);
         }
     }
     else {