Loading drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.c +2 −0 Original line number Diff line number Diff line Loading @@ -2153,6 +2153,8 @@ int sde_hdmi_get_property(struct drm_connector *connector, mutex_lock(&hdmi_display->display_lock); if (property_index == CONNECTOR_PROP_PLL_ENABLE) *value = hdmi_display->pll_update_enable ? 1 : 0; if (property_index == CONNECTOR_PROP_HDCP_VERSION) *value = hdmi_display->sink_hdcp_ver; mutex_unlock(&hdmi_display->display_lock); return rc; Loading drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.h +22 −1 Original line number Diff line number Diff line Loading @@ -108,14 +108,34 @@ enum hdmi_tx_feature_type { * @mode: Current display mode. * @connected: If HDMI display is connected. * @is_tpg_enabled: TPG state. * @hdmi_tx_version: HDMI TX version * @hdmi_tx_major_version: HDMI TX major version * @max_pclk_khz: Max pixel clock supported * @hdcp1_use_sw_keys: If HDCP1 engine uses SW keys * @hdcp14_present: If the sink supports HDCP 1.4 * @hdcp22_present: If the sink supports HDCP 2.2 * @hdcp_status: Current HDCP status * @sink_hdcp_ver: HDCP version of the sink * @enc_lvl: Current encryption level * @curr_hdr_state: Current HDR state of the HDMI connector * @auth_state: Current authentication state of HDCP * @sink_hdcp22_support: If the sink supports HDCP 2.2 * @src_hdcp22_support: If the source supports HDCP 2.2 * @hdcp_data: Call back data registered by the client with HDCP lib * @hdcp_feat_data: Handle to HDCP feature data * @hdcp_ops: Function ops registered by the client with the HDCP lib * @ddc_ctrl: Handle to HDMI DDC Controller * @hpd_work: HPD work structure. * @codec_ready: If audio codec is ready. * @client_notify_pending: If there is client notification pending. * @irq_domain: IRQ domain structure. * @notifier: CEC notifider to convey physical address information. * @pll_update_enable: if it's allowed to update HDMI PLL ppm. * @dc_enable: If deep color is enabled. Only DC_30 so far. * @dc_feature_supported: If deep color feature is supported. * @notifier: CEC notifider to convey physical address information. * @bt2020_colorimetry: If BT2020 colorimetry is supported by sink * @hdcp_cb_work: Callback function for HDCP * @io: Handle to IO base addresses for HDMI * @root: Debug fs root entry. */ struct sde_hdmi { Loading Loading @@ -146,6 +166,7 @@ struct sde_hdmi { u32 hdcp14_present; u32 hdcp22_present; u8 hdcp_status; u8 sink_hdcp_ver; u32 enc_lvl; u8 curr_hdr_state; bool auth_state; Loading drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_bridge.c +6 −0 Original line number Diff line number Diff line Loading @@ -511,6 +511,11 @@ static void sde_hdmi_update_hdcp_info(struct drm_connector *connector) } } if (display->sink_hdcp22_support) display->sink_hdcp_ver = SDE_HDMI_HDCP_22; else display->sink_hdcp_ver = SDE_HDMI_HDCP_14; /* update internal data about hdcp */ display->hdcp_data = fd; display->hdcp_ops = ops; Loading Loading @@ -543,6 +548,7 @@ static void _sde_hdmi_bridge_disable(struct drm_bridge *bridge) mutex_lock(&display->display_lock); display->pll_update_enable = false; display->sink_hdcp_ver = SDE_HDMI_HDCP_NONE; mutex_unlock(&display->display_lock); } Loading drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_util.h +4 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,10 @@ #define SDE_HDMI_USE_EXTENDED_COLORIMETRY 0x3 #define SDE_HDMI_BT2020_COLORIMETRY 0x6 #define SDE_HDMI_HDCP_22 0x22 #define SDE_HDMI_HDCP_14 0x14 #define SDE_HDMI_HDCP_NONE 0x0 /* * Bits 1:0 in HDMI_HW_DDC_CTRL that dictate how the HDCP 2.2 RxStatus will be * read by the hardware Loading drivers/gpu/drm/msm/msm_drv.h +1 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,7 @@ enum msm_mdp_conn_property { CONNECTOR_PROP_DST_H, CONNECTOR_PROP_PLL_DELTA, CONNECTOR_PROP_PLL_ENABLE, CONNECTOR_PROP_HDCP_VERSION, /* enum/bitmask properties */ CONNECTOR_PROP_TOPOLOGY_NAME, Loading Loading
drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.c +2 −0 Original line number Diff line number Diff line Loading @@ -2153,6 +2153,8 @@ int sde_hdmi_get_property(struct drm_connector *connector, mutex_lock(&hdmi_display->display_lock); if (property_index == CONNECTOR_PROP_PLL_ENABLE) *value = hdmi_display->pll_update_enable ? 1 : 0; if (property_index == CONNECTOR_PROP_HDCP_VERSION) *value = hdmi_display->sink_hdcp_ver; mutex_unlock(&hdmi_display->display_lock); return rc; Loading
drivers/gpu/drm/msm/hdmi-staging/sde_hdmi.h +22 −1 Original line number Diff line number Diff line Loading @@ -108,14 +108,34 @@ enum hdmi_tx_feature_type { * @mode: Current display mode. * @connected: If HDMI display is connected. * @is_tpg_enabled: TPG state. * @hdmi_tx_version: HDMI TX version * @hdmi_tx_major_version: HDMI TX major version * @max_pclk_khz: Max pixel clock supported * @hdcp1_use_sw_keys: If HDCP1 engine uses SW keys * @hdcp14_present: If the sink supports HDCP 1.4 * @hdcp22_present: If the sink supports HDCP 2.2 * @hdcp_status: Current HDCP status * @sink_hdcp_ver: HDCP version of the sink * @enc_lvl: Current encryption level * @curr_hdr_state: Current HDR state of the HDMI connector * @auth_state: Current authentication state of HDCP * @sink_hdcp22_support: If the sink supports HDCP 2.2 * @src_hdcp22_support: If the source supports HDCP 2.2 * @hdcp_data: Call back data registered by the client with HDCP lib * @hdcp_feat_data: Handle to HDCP feature data * @hdcp_ops: Function ops registered by the client with the HDCP lib * @ddc_ctrl: Handle to HDMI DDC Controller * @hpd_work: HPD work structure. * @codec_ready: If audio codec is ready. * @client_notify_pending: If there is client notification pending. * @irq_domain: IRQ domain structure. * @notifier: CEC notifider to convey physical address information. * @pll_update_enable: if it's allowed to update HDMI PLL ppm. * @dc_enable: If deep color is enabled. Only DC_30 so far. * @dc_feature_supported: If deep color feature is supported. * @notifier: CEC notifider to convey physical address information. * @bt2020_colorimetry: If BT2020 colorimetry is supported by sink * @hdcp_cb_work: Callback function for HDCP * @io: Handle to IO base addresses for HDMI * @root: Debug fs root entry. */ struct sde_hdmi { Loading Loading @@ -146,6 +166,7 @@ struct sde_hdmi { u32 hdcp14_present; u32 hdcp22_present; u8 hdcp_status; u8 sink_hdcp_ver; u32 enc_lvl; u8 curr_hdr_state; bool auth_state; Loading
drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_bridge.c +6 −0 Original line number Diff line number Diff line Loading @@ -511,6 +511,11 @@ static void sde_hdmi_update_hdcp_info(struct drm_connector *connector) } } if (display->sink_hdcp22_support) display->sink_hdcp_ver = SDE_HDMI_HDCP_22; else display->sink_hdcp_ver = SDE_HDMI_HDCP_14; /* update internal data about hdcp */ display->hdcp_data = fd; display->hdcp_ops = ops; Loading Loading @@ -543,6 +548,7 @@ static void _sde_hdmi_bridge_disable(struct drm_bridge *bridge) mutex_lock(&display->display_lock); display->pll_update_enable = false; display->sink_hdcp_ver = SDE_HDMI_HDCP_NONE; mutex_unlock(&display->display_lock); } Loading
drivers/gpu/drm/msm/hdmi-staging/sde_hdmi_util.h +4 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,10 @@ #define SDE_HDMI_USE_EXTENDED_COLORIMETRY 0x3 #define SDE_HDMI_BT2020_COLORIMETRY 0x6 #define SDE_HDMI_HDCP_22 0x22 #define SDE_HDMI_HDCP_14 0x14 #define SDE_HDMI_HDCP_NONE 0x0 /* * Bits 1:0 in HDMI_HW_DDC_CTRL that dictate how the HDCP 2.2 RxStatus will be * read by the hardware Loading
drivers/gpu/drm/msm/msm_drv.h +1 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,7 @@ enum msm_mdp_conn_property { CONNECTOR_PROP_DST_H, CONNECTOR_PROP_PLL_DELTA, CONNECTOR_PROP_PLL_ENABLE, CONNECTOR_PROP_HDCP_VERSION, /* enum/bitmask properties */ CONNECTOR_PROP_TOPOLOGY_NAME, Loading