From patchwork Mon Nov 14 08:04:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 13041917 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C1BADC433FE for ; Mon, 14 Nov 2022 08:04:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 34F4510E26F; Mon, 14 Nov 2022 08:04:39 +0000 (UTC) Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7003410E26E for ; Mon, 14 Nov 2022 08:04:34 +0000 (UTC) Received: by mail-pj1-x102b.google.com with SMTP id h14so9641994pjv.4 for ; Mon, 14 Nov 2022 00:04:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=xoG+PJ9Nv0PDD+u17FuY5+9Du9VLILbNauZXpkpEyQQ=; b=CIZEgZfUnCWJeURsVp/Xm+odE+LazMMPO6T0YWFu4rOJWHW0dOOIryWk6KVIImAAIj dnRQXgEEDyvvG10/lE+19pymhklk3X1ZIMT5Ml3unTgam0Atkjjo5k6BXk5KC5muXRdZ SKJnnogqqy0wD5olJGDVRJpf46SyYN6BB38L4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xoG+PJ9Nv0PDD+u17FuY5+9Du9VLILbNauZXpkpEyQQ=; b=Fk+z6y+BAw3mvIgglZuRYKJ4sQyRXOlLrpoOsKxmBrtkPNsNzQFEM/D1thrLCjP93x Mhwf9eSPxi3IBwuUpyieSiygJ+ik2jxM7jNwKEjH6QJ5gOtEXQS6HbCqCHurrPigFbZ2 3lDffWbcNSZkVYwB12UjpolE/eKpixqxRPVcpnLVu2y0oVMcBEg0Gra3WO8IqW7869Tp 0ahl3SAZsM+9ca313Tp32+o8F5Q3T5E+K/Z7wSDcgiC2sww9zdz8T6aMht0KoRQupXcE rCNJlyNQqG6W/AksGtU9E3ARY5Nav3FiVhrihFk0CVV9KL9pUWYMSxaPaYRrE/wK90Pi Wr0A== X-Gm-Message-State: ANoB5pmkyZD3flyGnTfMCFukUzXCLdGE+wwnTBqC3EdZa7SxtuiFhjj0 e9w9omtjTe2ZsHe2u898EIAdPA== X-Google-Smtp-Source: AA0mqf5mkTTvERz38Hq6KQcT7IGye7ORIveDefH6gBS7UHEPLjTy8OplWLFFOhShRaVLBM82XyJhqA== X-Received: by 2002:a17:90a:28e5:b0:213:566c:376e with SMTP id f92-20020a17090a28e500b00213566c376emr13043378pjd.96.1668413073771; Mon, 14 Nov 2022 00:04:33 -0800 (PST) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:40f1:682:170b:f25a]) by smtp.gmail.com with ESMTPSA id u16-20020a170902e5d000b00186fb8f931asm6696799plf.206.2022.11.14.00.04.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Nov 2022 00:04:33 -0800 (PST) From: Hsin-Yi Wang To: Sean Paul , Douglas Anderson , Robert Foss Subject: [PATCH v4 1/3] drm_bridge: register content protect property Date: Mon, 14 Nov 2022 16:04:05 +0800 Message-Id: <20221114080405.2426999-1-hsinyi@chromium.org> X-Mailer: git-send-email 2.38.1.431.g37b22c650d-goog MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Zimmermann , Allen Chen , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Some bridges are able to update HDCP status from userspace request if they support HDCP. HDCP property is the same as other connector properties that needs to be created after the connecter is initialized and before the connector is registered. If there exists a bridge that supports HDCP, add the property to the bridge connector. Signed-off-by: Hsin-Yi Wang Reviewed-by: Sean Paul --- v3->v4: no change. --- drivers/gpu/drm/drm_bridge_connector.c | 8 ++++++++ include/drm/drm_bridge.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/drivers/gpu/drm/drm_bridge_connector.c b/drivers/gpu/drm/drm_bridge_connector.c index 1c7d936523df..b4fb5da0b963 100644 --- a/drivers/gpu/drm/drm_bridge_connector.c +++ b/drivers/gpu/drm/drm_bridge_connector.c @@ -7,6 +7,7 @@ #include #include +#include #include #include #include @@ -333,6 +334,7 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, struct i2c_adapter *ddc = NULL; struct drm_bridge *bridge, *panel_bridge = NULL; int connector_type; + bool support_hdcp = false; bridge_connector = kzalloc(sizeof(*bridge_connector), GFP_KERNEL); if (!bridge_connector) @@ -376,6 +378,9 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, if (drm_bridge_is_panel(bridge)) panel_bridge = bridge; + + if (bridge->support_hdcp) + support_hdcp = true; } if (connector_type == DRM_MODE_CONNECTOR_Unknown) { @@ -398,6 +403,9 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, if (panel_bridge) drm_panel_bridge_set_orientation(connector, panel_bridge); + if (support_hdcp && IS_ENABLED(CONFIG_DRM_DISPLAY_HDCP_HELPER)) + drm_connector_attach_content_protection_property(connector, true); + return connector; } EXPORT_SYMBOL_GPL(drm_bridge_connector_init); diff --git a/include/drm/drm_bridge.h b/include/drm/drm_bridge.h index 6b65b0dfb4fb..1d2ab70f3436 100644 --- a/include/drm/drm_bridge.h +++ b/include/drm/drm_bridge.h @@ -768,6 +768,10 @@ struct drm_bridge { * modes. */ bool interlace_allowed; + /** + * @support_hdcp: Indicate that the bridge supports HDCP. + */ + bool support_hdcp; /** * @ddc: Associated I2C adapter for DDC access, if any. */ From patchwork Mon Nov 14 08:04:06 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 13041919 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 05F05C4332F for ; Mon, 14 Nov 2022 08:04:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DFEC110E270; Mon, 14 Nov 2022 08:04:51 +0000 (UTC) Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by gabe.freedesktop.org (Postfix) with ESMTPS id 98A4010E26E for ; Mon, 14 Nov 2022 08:04:36 +0000 (UTC) Received: by mail-pl1-x62c.google.com with SMTP id y4so9385548plb.2 for ; Mon, 14 Nov 2022 00:04:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=bJDRhD+by6ePLMyu0jFNF0DA5otbXQzM82G9QXM16+g=; b=iNyUdIcLjrR/mqWwLs/KmivHxLDyDcgVMh73gXOXYAq/IkDPCGsH/9skjnoPBo8gG6 dVsG+Nyz//OyLV9sBaU+LDku2PU2tznUw3oQfZcEDdJTg3TXSasC9ANQUJ8O9rAfDnu3 HYFZQvEswdMHQT0j1ewSY0yDMwKNsygZtxCdM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=bJDRhD+by6ePLMyu0jFNF0DA5otbXQzM82G9QXM16+g=; b=NLjMozJ6eriZ1+3xHEwnEbp406rYQFYLGEN2u0Aq3zHgfYERJ33DdZMa+uDDzHmJeS yWIkp+ZO84J1NyNHk9+p+j5BDRs/MlReupcwd1p6W5qREzcBxciq/AL9UajMMRik1gAo yKQHJQ0OttIc2YdIwCqLQccbiijZX9Ip/rpUsTJnAZ/pIa5zNVPdh7fKTIIdd7IxaKD+ GRSiiwb78oiwUWTj5GVx13HnlzjgPnQviIKPA5dGl4FrQi/t6fkARH/ro6AC9Q6awjy5 BFSFZWIVmkDpJmYzhwoERHkqklLUjv/lpPihwaxZaOV3R0Hv/hI4iqyvv6D9ZrKRX/Ze fC4g== X-Gm-Message-State: ANoB5pnc+o3CkoPHCuaJaLCM7Kr13Q7TiJ5Oq3FwLVz77pO8kk3zLEos spZ9KR5W+IqLjRgXy1v+9JJ2sg== X-Google-Smtp-Source: AA0mqf688Sv1eNxrH8zO0KEumgyIdk7+CrlCUx/YBZCPZDBo0HdDgxOmFWwMZNEwJYoy+Gal0QQx/Q== X-Received: by 2002:a17:90a:f18f:b0:218:8f4:bad5 with SMTP id bv15-20020a17090af18f00b0021808f4bad5mr12851400pjb.55.1668413075989; Mon, 14 Nov 2022 00:04:35 -0800 (PST) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:40f1:682:170b:f25a]) by smtp.gmail.com with ESMTPSA id u16-20020a170902e5d000b00186fb8f931asm6696799plf.206.2022.11.14.00.04.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Nov 2022 00:04:35 -0800 (PST) From: Hsin-Yi Wang To: Sean Paul , Douglas Anderson , Robert Foss Subject: [PATCH v4 2/3] drm/bridge: anx7625: register content protect property Date: Mon, 14 Nov 2022 16:04:06 +0800 Message-Id: <20221114080405.2426999-2-hsinyi@chromium.org> X-Mailer: git-send-email 2.38.1.431.g37b22c650d-goog In-Reply-To: <20221114080405.2426999-1-hsinyi@chromium.org> References: <20221114080405.2426999-1-hsinyi@chromium.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Zimmermann , Allen Chen , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Set support_hdcp so the connector can register content protect proterty when it's initializing. Signed-off-by: Hsin-Yi Wang Reviewed-by: Sean Paul --- v3->v4: no change. --- drivers/gpu/drm/bridge/analogix/anx7625.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c index b0ff1ecb80a5..0636ac59c739 100644 --- a/drivers/gpu/drm/bridge/analogix/anx7625.c +++ b/drivers/gpu/drm/bridge/analogix/anx7625.c @@ -2680,6 +2680,7 @@ static int anx7625_i2c_probe(struct i2c_client *client, platform->bridge.type = platform->pdata.panel_bridge ? DRM_MODE_CONNECTOR_eDP : DRM_MODE_CONNECTOR_DisplayPort; + platform->bridge.support_hdcp = true; drm_bridge_add(&platform->bridge); From patchwork Mon Nov 14 08:04:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hsin-Yi Wang X-Patchwork-Id: 13041918 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8EC0AC4332F for ; Mon, 14 Nov 2022 08:04:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A843810E26E; Mon, 14 Nov 2022 08:04:49 +0000 (UTC) Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) by gabe.freedesktop.org (Postfix) with ESMTPS id C2BC710E26E for ; Mon, 14 Nov 2022 08:04:38 +0000 (UTC) Received: by mail-pf1-x42e.google.com with SMTP id q9so10291270pfg.5 for ; Mon, 14 Nov 2022 00:04:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RbTvIBQr/qxVFcQN0vUy2BZfbem/T4A3R/H1WrAy9X8=; b=jGbdhn8I3v4YDqdQ0NU7bffKSgQelS1ujvoH/Lga6Y/dEqgfCWcFNnPLbaJl8uXU1l of3qRWQZkgxt7NL09AYdUoA48BcjDZf1eDwDxsz3SV+9mfCaXlRfSvH19eiAjve5G5T6 t2HZOHsaz0a/WFsCLoq6XAc5UDdzqwbIB10oY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=RbTvIBQr/qxVFcQN0vUy2BZfbem/T4A3R/H1WrAy9X8=; b=HjrBJLQxQLw5/D6CaluEOE1DD6kj9Uddtf6XRvOqEOuG2zS7yeEhn/mZvuNM9moMDC bCTq2SbFN1T59Zaf8/xjKtH15wqEpGvc6JF6agouSjai6p6TTJ2f9UIg+77XJtHF534z GmWBZYvKURP+20JK2cl/odGtK0TEt3LxVE4inTRdLfIZFbEEk6648E+RLNAvAxZUTxU0 alfOhm/PnBeG0i2dJ6O00Mli+CN8U4BuU3EK/h75p0ZraEO7GSll1xHBW9zZmv+OA8PG Y+jvEyJUZmMLrGaRVDk2N89IRhZOa5JKJfzfBvnVLNLio5ve0qP0x9+zip69wq15gfd4 4dbg== X-Gm-Message-State: ANoB5pkIQAjJjxhjVAskMGMkxXIh4+mOpHNN0wwGTm1wZbiGFJnTcIYb r9I+JWVmifegGfOkv8oDiPR8aw== X-Google-Smtp-Source: AA0mqf51IUqAlI13ifmb78QDXjJPbpHxxIX6SJ9zB+92kvbxGJ2PgI7mKlHTr/DR3263ue1bSbhA7Q== X-Received: by 2002:a65:6945:0:b0:476:91d6:e15e with SMTP id w5-20020a656945000000b0047691d6e15emr1932218pgq.455.1668413078295; Mon, 14 Nov 2022 00:04:38 -0800 (PST) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:40f1:682:170b:f25a]) by smtp.gmail.com with ESMTPSA id u16-20020a170902e5d000b00186fb8f931asm6696799plf.206.2022.11.14.00.04.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Nov 2022 00:04:38 -0800 (PST) From: Hsin-Yi Wang To: Sean Paul , Douglas Anderson , Robert Foss Subject: [PATCH v4 3/3] drm/bridge: it6505: handle HDCP request Date: Mon, 14 Nov 2022 16:04:07 +0800 Message-Id: <20221114080405.2426999-3-hsinyi@chromium.org> X-Mailer: git-send-email 2.38.1.431.g37b22c650d-goog In-Reply-To: <20221114080405.2426999-1-hsinyi@chromium.org> References: <20221114080405.2426999-1-hsinyi@chromium.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Zimmermann , Allen Chen , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" it6505 supports HDCP 1.3, but current implementation lacks the update of HDCP status through drm_hdcp_update_content_protection(). it6505 default enables the HDCP. If user set it to undesired then the driver will stop HDCP. Signed-off-by: Hsin-Yi Wang reviewed-by: allen chen Signed-off-by: Hsin-Yi Wang --- Include it6505[1] to the series. [1] https://patchwork.kernel.org/project/dri-devel/patch/20221101112009.1067681-1-hsinyi@chromium.org/ --- drivers/gpu/drm/bridge/ite-it6505.c | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c index 21a9b8422bda..be08b42de4ea 100644 --- a/drivers/gpu/drm/bridge/ite-it6505.c +++ b/drivers/gpu/drm/bridge/ite-it6505.c @@ -423,6 +423,7 @@ struct it6505 { struct extcon_dev *extcon; struct work_struct extcon_wq; int extcon_state; + struct drm_connector *connector; enum drm_connector_status connector_status; enum link_train_status link_state; struct work_struct link_works; @@ -2399,6 +2400,14 @@ static void it6505_irq_hdcp_done(struct it6505 *it6505) DRM_DEV_DEBUG_DRIVER(dev, "hdcp done interrupt"); it6505->hdcp_status = HDCP_AUTH_DONE; + if (it6505->connector) { + struct drm_device *drm_dev = it6505->connector->dev; + + drm_modeset_lock(&drm_dev->mode_config.connection_mutex, NULL); + drm_hdcp_update_content_protection(it6505->connector, + DRM_MODE_CONTENT_PROTECTION_ENABLED); + drm_modeset_unlock(&drm_dev->mode_config.connection_mutex); + } it6505_show_hdcp_info(it6505); } @@ -2931,6 +2940,7 @@ static void it6505_bridge_atomic_enable(struct drm_bridge *bridge, if (WARN_ON(!connector)) return; + it6505->connector = connector; conn_state = drm_atomic_get_new_connector_state(state, connector); if (WARN_ON(!conn_state)) @@ -2974,6 +2984,7 @@ static void it6505_bridge_atomic_disable(struct drm_bridge *bridge, DRM_DEV_DEBUG_DRIVER(dev, "start"); + it6505->connector = NULL; if (it6505->powered) { it6505_drm_dp_link_set_power(&it6505->aux, &it6505->link, DP_SET_POWER_D3); @@ -3028,6 +3039,48 @@ static struct edid *it6505_bridge_get_edid(struct drm_bridge *bridge, return edid; } +static int it6505_connector_atomic_check(struct it6505 *it6505, + struct drm_connector_state *state) +{ + struct device *dev = &it6505->client->dev; + int cp = state->content_protection; + + DRM_DEV_DEBUG_DRIVER(dev, "hdcp connector state:%d, curr hdcp state:%d", + cp, it6505->hdcp_status); + + if (!it6505->hdcp_desired) { + DRM_DEV_DEBUG_DRIVER(dev, "sink not support hdcp"); + return 0; + } + + if (it6505->hdcp_status == HDCP_AUTH_GOING) + return -EINVAL; + + if (cp == DRM_MODE_CONTENT_PROTECTION_UNDESIRED) { + if (it6505->hdcp_status == HDCP_AUTH_DONE) + it6505_stop_hdcp(it6505); + } else if (cp == DRM_MODE_CONTENT_PROTECTION_DESIRED) { + if (it6505->hdcp_status == HDCP_AUTH_IDLE && + it6505->link_state == LINK_OK) + it6505_start_hdcp(it6505); + } else { + DRM_DEV_DEBUG_DRIVER(dev, "invalid to set hdcp enabled"); + return -EINVAL; + } + + return 0; +} + +static int it6505_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + struct it6505 *it6505 = bridge_to_it6505(bridge); + + return it6505_connector_atomic_check(it6505, conn_state); +} + static const struct drm_bridge_funcs it6505_bridge_funcs = { .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, @@ -3035,6 +3088,7 @@ static const struct drm_bridge_funcs it6505_bridge_funcs = { .attach = it6505_bridge_attach, .detach = it6505_bridge_detach, .mode_valid = it6505_bridge_mode_valid, + .atomic_check = it6505_bridge_atomic_check, .atomic_enable = it6505_bridge_atomic_enable, .atomic_disable = it6505_bridge_atomic_disable, .atomic_pre_enable = it6505_bridge_atomic_pre_enable, @@ -3354,6 +3408,7 @@ static int it6505_i2c_probe(struct i2c_client *client, it6505->bridge.type = DRM_MODE_CONNECTOR_DisplayPort; it6505->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_HPD; + it6505->bridge.support_hdcp = true; drm_bridge_add(&it6505->bridge); return 0;