From nobody Fri Dec 19 00:01:37 2025 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2B1FEB64DD for ; Sat, 29 Jul 2023 00:50:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236969AbjG2Auy (ORCPT ); Fri, 28 Jul 2023 20:50:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41578 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237064AbjG2Auj (ORCPT ); Fri, 28 Jul 2023 20:50:39 -0400 Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B85D46BE for ; Fri, 28 Jul 2023 17:50:08 -0700 (PDT) Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-4fb7dc16ff0so4649814e87.2 for ; Fri, 28 Jul 2023 17:50:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690591755; x=1691196555; 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=PMSy/K1CIsccW2sw1PgTe2FDAawI36xm/3iEipD6VMg=; b=oy3nXUj7xNj7CjIZly7ArdxVtmlQ1TkziV/9V//vqNUR5M1WSFNFgzlosb86fW13jm vp9kbDQgqW9KxX/VNfpSqZpTqhz9J9JGbQkn/htKPrfozoXhWUTrwOSS9YcmZg2AngQ1 Exe02UvHl+zKB1Eq+M1UxA30G7bg83R6pl8wjLqRw/i6yaxgkZf6oxtWSSiJIc1L4xnU Ndih1C5ATiTqC8b+Hrev//VhzaoOVlcEX/EC6SY6cMFK2mscNaimcAyI8T0VHKq3gokw tMvHaw9A5mvr2AuDyEeWvKpYC8CJsBdiIJ3EnICAx17dacWnesx7ewmXANr4tNd9jrrH FnlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690591755; x=1691196555; 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=PMSy/K1CIsccW2sw1PgTe2FDAawI36xm/3iEipD6VMg=; b=kAgi5LhQUx7xmDDWb7zxEuyBeUzZGh6bR6DHJY6xobDEWq36E4Wi4d2xdtPq+2uBo4 r51+9jwEm6B4mlHoyZJq+94OGQuyQ2kSkESGRvE00cyEafQ8ug7zqqJQEpDqIvIECLvm wM4pRlr0m1bKLs/wV/jmOQ/HXCOhrEdXf+5RVeCrcLdu/S0A2lEfBpNEWiI+OyH1bzgy hmA27Xle1I3yBduE49RhFpwLZdRa5Nfc3gmCHz53JfAALWFKh5EnXIIVdbxRdgZje1r6 ZQ/tOJ6Jlolt/LbINiOqp4XWcR7+sFiwNJvyMKyT2HYtJXoDgtqtH9fvzPdqTxB8BkzS x++A== X-Gm-Message-State: ABy/qLaw8jrMQV8LcXvN6bnYSTGs+E/68lehHyO+gpCJNC153DO+1+8t pHBDOgxcm+4gu3gMSGTrB8z/+w== X-Google-Smtp-Source: APBJJlEYW7RGCnj6FnPzMFWCvTODp5wo9062x4YixzDNvi5vN5iPyz2zoy8vdIFOOdnjfwmwCyDREQ== X-Received: by 2002:a05:6512:465:b0:4fb:9129:705b with SMTP id x5-20020a056512046500b004fb9129705bmr2550632lfd.6.1690591755108; Fri, 28 Jul 2023 17:49:15 -0700 (PDT) Received: from umbar.unikie.fi ([192.130.178.91]) by smtp.gmail.com with ESMTPSA id a24-20020a19f818000000b004fe20d1b288sm500702lff.159.2023.07.28.17.49.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jul 2023 17:49:14 -0700 (PDT) From: Dmitry Baryshkov To: David Airlie , Daniel Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Andy Gross , Bjorn Andersson , Konrad Dybcio , Simon Ser , Janne Grunau Cc: Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , "Pan, Xinhui" , Harry Wentland , Leo Li , Rodrigo Siqueira , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Tvrtko Ursulin , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, intel-gfx@lists.freedesktop.org Subject: [PATCH 1/4] drm: allow specifying default subtype for the DP subconnector property Date: Sat, 29 Jul 2023 03:49:10 +0300 Message-Id: <20230729004913.215872-2-dmitry.baryshkov@linaro.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230729004913.215872-1-dmitry.baryshkov@linaro.org> References: <20230729004913.215872-1-dmitry.baryshkov@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In the embedded usecases the default subtype depends on the bridge chain, so it is easier to specify the subtype at the proprety attachment type rather than specifying it later. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 3 ++- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 3 ++- drivers/gpu/drm/drm_connector.c | 6 ++++-- drivers/gpu/drm/i915/display/intel_dp.c | 3 ++- include/drm/drm_connector.h | 3 ++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/d= rm/amd/amdgpu/amdgpu_connectors.c index d34037b85cf8..c18459ecd4be 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c @@ -2022,7 +2022,8 @@ amdgpu_connector_add(struct amdgpu_device *adev, =20 if (connector_type =3D=3D DRM_MODE_CONNECTOR_DisplayPort || connector_type =3D=3D DRM_MODE_CONNECTOR_eDP) { - drm_connector_attach_dp_subconnector_property(&amdgpu_connector->base); + drm_connector_attach_dp_subconnector_property(&amdgpu_connector->base, + DRM_MODE_SUBCONNECTOR_Unknown); } =20 return; diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/= drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c index 943959012d04..297321f0199e 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c @@ -759,7 +759,8 @@ void amdgpu_dm_initialize_dp_connector(struct amdgpu_di= splay_manager *dm, drm_dp_mst_topology_mgr_init(&aconnector->mst_mgr, adev_to_drm(dm->adev), &aconnector->dm_dp_aux.aux, 16, 4, aconnector->connector_id); =20 - drm_connector_attach_dp_subconnector_property(&aconnector->base); + drm_connector_attach_dp_subconnector_property(&aconnector->base, + DRM_MODE_SUBCONNECTOR_Unknown); } =20 int dm_mst_get_pbn_divider(struct dc_link *link) diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connecto= r.c index a3d3e7dc08b2..a6066e4a5e9a 100644 --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c @@ -1577,10 +1577,12 @@ EXPORT_SYMBOL(drm_mode_create_dvi_i_properties); /** * drm_connector_attach_dp_subconnector_property - create subconnector pro= perty for DP * @connector: drm_connector to attach property + * @subtype: initial value for the subconnector type * * Called by a driver when DP connector is created. */ -void drm_connector_attach_dp_subconnector_property(struct drm_connector *c= onnector) +void drm_connector_attach_dp_subconnector_property(struct drm_connector *c= onnector, + enum drm_mode_subconnector subtype) { struct drm_mode_config *mode_config =3D &connector->dev->mode_config; =20 @@ -1594,7 +1596,7 @@ void drm_connector_attach_dp_subconnector_property(st= ruct drm_connector *connect =20 drm_object_attach_property(&connector->base, mode_config->dp_subconnector_property, - DRM_MODE_SUBCONNECTOR_Unknown); + subtype); } EXPORT_SYMBOL(drm_connector_attach_dp_subconnector_property); =20 diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915= /display/intel_dp.c index 474785110662..5819105187f6 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -5391,7 +5391,8 @@ intel_dp_add_properties(struct intel_dp *intel_dp, st= ruct drm_connector *connect enum port port =3D dp_to_dig_port(intel_dp)->base.port; =20 if (!intel_dp_is_edp(intel_dp)) - drm_connector_attach_dp_subconnector_property(connector); + drm_connector_attach_dp_subconnector_property(connector, + DRM_MODE_SUBCONNECTOR_Unknown); =20 if (!IS_G4X(dev_priv) && port !=3D PORT_A) intel_attach_force_audio_property(connector); diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h index 5a8115dca359..a130a78f6e0f 100644 --- a/include/drm/drm_connector.h +++ b/include/drm/drm_connector.h @@ -1990,7 +1990,8 @@ const char *drm_get_hdcp_content_type_name(int val); int drm_get_tv_mode_from_name(const char *name, size_t len); =20 int drm_mode_create_dvi_i_properties(struct drm_device *dev); -void drm_connector_attach_dp_subconnector_property(struct drm_connector *c= onnector); +void drm_connector_attach_dp_subconnector_property(struct drm_connector *c= onnector, + enum drm_mode_subconnector subtype); =20 int drm_mode_create_tv_margin_properties(struct drm_device *dev); int drm_mode_create_tv_properties_legacy(struct drm_device *dev, --=20 2.39.2