From: Samson Tam <samson....@amd.com>

[Why]
Add support for CONNECTOR_ID_USBC

Reviewed-by: Alvin Lee <alvin.l...@amd.com>
Acked-by: Alex Hung <alex.h...@amd.com>
Signed-off-by: Samson Tam <samson....@amd.com>
---
 drivers/gpu/drm/amd/display/dc/bios/bios_parser_common.c | 3 +++
 drivers/gpu/drm/amd/display/dc/bios/command_table.c      | 3 ++-
 drivers/gpu/drm/amd/display/dc/core/dc_link.c            | 8 ++++++--
 drivers/gpu/drm/amd/display/include/grph_object_id.h     | 1 +
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/bios/bios_parser_common.c 
b/drivers/gpu/drm/amd/display/dc/bios/bios_parser_common.c
index a8cb039d2572..34e3a64f556e 100644
--- a/drivers/gpu/drm/amd/display/dc/bios/bios_parser_common.c
+++ b/drivers/gpu/drm/amd/display/dc/bios/bios_parser_common.c
@@ -213,6 +213,9 @@ static enum connector_id connector_id_from_bios_object_id(
        case CONNECTOR_OBJECT_ID_MXM:
                id = CONNECTOR_ID_MXM;
                break;
+       case CONNECTOR_OBJECT_ID_USBC:
+               id = CONNECTOR_ID_USBC;
+               break;
        default:
                id = CONNECTOR_ID_UNKNOWN;
                break;
diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table.c 
b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
index 0e36cd800fc9..32efa92422e8 100644
--- a/drivers/gpu/drm/amd/display/dc/bios/command_table.c
+++ b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
@@ -522,7 +522,8 @@ static enum bp_result transmitter_control_v2(
                 */
                params.acConfig.ucEncoderSel = 1;
 
-       if (CONNECTOR_ID_DISPLAY_PORT == connector_id)
+       if (CONNECTOR_ID_DISPLAY_PORT == connector_id
+               || CONNECTOR_ID_USBC == connector_id)
                /* Bit4: DP connector flag
                 * =0 connector is none-DP connector
                 * =1 connector is DP connector
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
index c7c4d9867c52..7aede6495e5e 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -345,6 +345,7 @@ static enum signal_type get_basic_signal_type(struct 
graphics_object_id encoder,
                case CONNECTOR_ID_LVDS:
                        return SIGNAL_TYPE_LVDS;
                case CONNECTOR_ID_DISPLAY_PORT:
+               case CONNECTOR_ID_USBC:
                        return SIGNAL_TYPE_DISPLAY_PORT;
                case CONNECTOR_ID_EDP:
                        return SIGNAL_TYPE_EDP;
@@ -380,7 +381,8 @@ bool dc_link_is_dp_sink_present(struct dc_link *link)
 
        bool present =
                ((connector_id == CONNECTOR_ID_DISPLAY_PORT) ||
-               (connector_id == CONNECTOR_ID_EDP));
+               (connector_id == CONNECTOR_ID_EDP) ||
+               (connector_id == CONNECTOR_ID_USBC));
 
        ddc = dal_ddc_service_get_ddc_pin(link->ddc);
 
@@ -476,7 +478,8 @@ static enum signal_type link_detect_sink(struct dc_link 
*link,
                                result = SIGNAL_TYPE_DVI_SINGLE_LINK;
        }
        break;
-       case CONNECTOR_ID_DISPLAY_PORT: {
+       case CONNECTOR_ID_DISPLAY_PORT:
+       case CONNECTOR_ID_USBC: {
                /* DP HPD short pulse. Passive DP dongle will not
                 * have short pulse
                 */
@@ -1591,6 +1594,7 @@ static bool dc_link_construct_legacy(struct dc_link *link,
                link->connector_signal = SIGNAL_TYPE_DVI_DUAL_LINK;
                break;
        case CONNECTOR_ID_DISPLAY_PORT:
+       case CONNECTOR_ID_USBC:
                link->connector_signal = SIGNAL_TYPE_DISPLAY_PORT;
 
                if (link->hpd_gpio)
diff --git a/drivers/gpu/drm/amd/display/include/grph_object_id.h 
b/drivers/gpu/drm/amd/display/include/grph_object_id.h
index fed1edc038d8..c6bbd262f1ac 100644
--- a/drivers/gpu/drm/amd/display/include/grph_object_id.h
+++ b/drivers/gpu/drm/amd/display/include/grph_object_id.h
@@ -162,6 +162,7 @@ enum connector_id {
        CONNECTOR_ID_MXM = 21,
        CONNECTOR_ID_WIRELESS = 22,
        CONNECTOR_ID_MIRACAST = 23,
+       CONNECTOR_ID_USBC = 24,
 
        CONNECTOR_ID_VIRTUAL = 100
 };
-- 
2.35.1

Reply via email to