Lines Matching refs:hdcp
397 struct dw_dp_hdcp hdcp; member
578 struct dw_dp_hdcp *hdcp = &dp->hdcp; in _dw_dp_hdcp2_disable() local
583 hdcp->status = HDCP_TX_NONE; in _dw_dp_hdcp2_disable()
585 dp->hdcp.hdcp2_encrypted = false; in _dw_dp_hdcp2_disable()
619 dp->hdcp.hdcp2_encrypted = true; in dw_dp_hdcp2_auth_check()
628 struct dw_dp_hdcp *hdcp = &dp->hdcp; in _dw_dp_hdcp2_enable() local
630 hdcp->status = HDCP_TX_2; in _dw_dp_hdcp2_enable()
655 struct dw_dp_hdcp *hdcp = &dp->hdcp; in _dw_dp_hdcp_disable() local
659 hdcp->status = HDCP_TX_NONE; in _dw_dp_hdcp_disable()
661 dp->hdcp.hdcp_encrypted = false; in _dw_dp_hdcp_disable()
697 dp->hdcp.hdcp_encrypted = true; in dw_dp_hdcp_auth_check()
708 struct dw_dp_hdcp *hdcp = &dp->hdcp; in _dw_dp_hdcp_enable() local
710 hdcp->status = HDCP_TX_1; in _dw_dp_hdcp_enable()
737 dp->hdcp.check_link_interval = DRM_HDCP_CHECK_PERIOD_MS; in dw_dp_hdcp_enable()
738 mutex_lock(&dp->hdcp.mutex); in dw_dp_hdcp_enable()
744 dp->hdcp.check_link_interval = DRM_HDCP2_CHECK_PERIOD_MS; in dw_dp_hdcp_enable()
752 dp->hdcp.check_link_interval = DRM_HDCP_CHECK_PERIOD_MS; in dw_dp_hdcp_enable()
760 dp->hdcp.hdcp_content_type = content_type; in dw_dp_hdcp_enable()
761 dp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_ENABLED; in dw_dp_hdcp_enable()
762 schedule_work(&dp->hdcp.prop_work); in dw_dp_hdcp_enable()
763 schedule_delayed_work(&dp->hdcp.check_work, dp->hdcp.check_link_interval); in dw_dp_hdcp_enable()
766 mutex_unlock(&dp->hdcp.mutex); in dw_dp_hdcp_enable()
774 mutex_lock(&dp->hdcp.mutex); in dw_dp_hdcp_disable()
775 if (dp->hdcp.value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) { in dw_dp_hdcp_disable()
776 dp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_UNDESIRED; in dw_dp_hdcp_disable()
780 mutex_unlock(&dp->hdcp.mutex); in dw_dp_hdcp_disable()
781 cancel_delayed_work_sync(&dp->hdcp.check_work); in dw_dp_hdcp_disable()
805 mutex_lock(&dp->hdcp.mutex); in dw_dp_hdcp_check_link()
807 if (dp->hdcp.value == DRM_MODE_CONTENT_PROTECTION_UNDESIRED) in dw_dp_hdcp_check_link()
816 if (dp->hdcp.status == HDCP_TX_2) { in dw_dp_hdcp_check_link()
819 dp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_DESIRED; in dw_dp_hdcp_check_link()
820 schedule_work(&dp->hdcp.prop_work); in dw_dp_hdcp_check_link()
826 dp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_DESIRED; in dw_dp_hdcp_check_link()
827 schedule_work(&dp->hdcp.prop_work); in dw_dp_hdcp_check_link()
829 } else if (dp->hdcp.status == HDCP_TX_1) { in dw_dp_hdcp_check_link()
832 dp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_DESIRED; in dw_dp_hdcp_check_link()
833 schedule_work(&dp->hdcp.prop_work); in dw_dp_hdcp_check_link()
839 dp->hdcp.value = DRM_MODE_CONTENT_PROTECTION_DESIRED; in dw_dp_hdcp_check_link()
840 schedule_work(&dp->hdcp.prop_work); in dw_dp_hdcp_check_link()
845 mutex_unlock(&dp->hdcp.mutex); in dw_dp_hdcp_check_link()
852 struct dw_dp_hdcp *hdcp = in dw_dp_hdcp_check_work() local
855 container_of(hdcp, struct dw_dp, hdcp); in dw_dp_hdcp_check_work()
858 schedule_delayed_work(&hdcp->check_work, in dw_dp_hdcp_check_work()
859 hdcp->check_link_interval); in dw_dp_hdcp_check_work()
864 struct dw_dp_hdcp *hdcp = in dp_dp_hdcp_prop_work() local
867 container_of(hdcp, struct dw_dp, hdcp); in dp_dp_hdcp_prop_work()
871 mutex_lock(&dp->hdcp.mutex); in dp_dp_hdcp_prop_work()
872 if (dp->hdcp.value != DRM_MODE_CONTENT_PROTECTION_UNDESIRED) in dp_dp_hdcp_prop_work()
873 drm_hdcp_update_content_protection(&dp->connector, dp->hdcp.value); in dp_dp_hdcp_prop_work()
874 mutex_unlock(&dp->hdcp.mutex); in dp_dp_hdcp_prop_work()
880 INIT_DELAYED_WORK(&dp->hdcp.check_work, dw_dp_hdcp_check_work); in dw_dp_hdcp_init()
881 INIT_WORK(&dp->hdcp.prop_work, dp_dp_hdcp_prop_work); in dw_dp_hdcp_init()
882 mutex_init(&dp->hdcp.mutex); in dw_dp_hdcp_init()
1134 if (dp->hdcp.hdcp2_encrypted) in dw_dp_atomic_connector_get_property()
1136 else if (dp->hdcp.hdcp_encrypted) in dw_dp_atomic_connector_get_property()