From patchwork Tue Aug 29 18:47:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 13369494 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 AECC8C83F12 for ; Tue, 29 Aug 2023 18:47:49 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E4FC410E484; Tue, 29 Aug 2023 18:47:42 +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 45DC110E47F for ; Tue, 29 Aug 2023 18:47:41 +0000 (UTC) Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1bdb7b0c8afso29155135ad.3 for ; Tue, 29 Aug 2023 11:47:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693334861; x=1693939661; 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=Zy1QTPwLj2+EWnTOjoPoVz867Fu7gzyOgxl1+3H6Nnc=; b=fdXiyQd+R3qGm5Nphv+8j5xKo14D3w9yIQArlsiouC4hZls3koS/DnWkpoXCL/18I6 fttfwSMZPVXcZ4Qctb7Xe7vRYvQbK+BVK2z+fX3JeqH7glikDw+cg81t/UDclLVVpMuM ynZ7Trrudlfu8n4mGrQEaO1hbAOb0Y4HUDpKs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693334861; x=1693939661; 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=Zy1QTPwLj2+EWnTOjoPoVz867Fu7gzyOgxl1+3H6Nnc=; b=lsREGLt4bPG6stuehaQNLQsNfSgPVsjyYzadsJ9ux2UW3i0XUKSZ4/kzja1VDL02cQ ri0h9R0LFjAWT9+KFCQ8sGfpVGsla4kmIa6cMO496yKWVfOzcVYFiInlCRDHWk5kRZmK uu6k28VGodr127UuQzuecGw8TS19eFPRrtS1UwSHvG48GQ1cdO6vkWFpU2vflxI8MO2l lGWSjXR27C5g2ZTvCLQycJ+SZBUtLo/89qVgNcHzpKM0paqSU57Q+Y9gFM21jpc9fMNz OJjH8ljBwxAPy4p+GN7HetxtH87Aw4rls1RlD5I5vpCE4qIIUYYYuLBNl2DAVQuwUIfQ CmBA== X-Gm-Message-State: AOJu0YxZHvm9I/Bt/xzuUWu9D/gxtj0n3UY6qbVn5tdRwBgB+Kv6JeT1 4vu18T2bzx7NzD9QHvodE1RfJA== X-Google-Smtp-Source: AGHT+IHOR7LHxCdUXoZltRyEuyQ9vz2U+mpOg+PlnYRlpoqnQkJZmp/tPsmE6qYU14e9a+3nTx5+mg== X-Received: by 2002:a17:902:eacc:b0:1bc:6dd9:82c3 with SMTP id p12-20020a170902eacc00b001bc6dd982c3mr24966758pld.37.1693334860713; Tue, 29 Aug 2023 11:47:40 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:11a:201:d603:22a7:5e5e:d239]) by smtp.gmail.com with ESMTPSA id o15-20020a170902d4cf00b001b9e86e05b7sm9697953plg.0.2023.08.29.11.47.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Aug 2023 11:47:40 -0700 (PDT) From: Stephen Boyd To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov Subject: [PATCH 1/7] drm/msm/dp: Replace open-coded drm_dp_read_dpcd_caps() Date: Tue, 29 Aug 2023 11:47:26 -0700 Message-ID: <20230829184735.2841739-2-swboyd@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230829184735.2841739-1-swboyd@chromium.org> References: <20230829184735.2841739-1-swboyd@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: Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vinod Polimera , patches@lists.linux.dev, Kuogee Hsieh , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This function duplicates the common function drm_dp_read_dpcd_caps(). The array of DPCD registers filled in is one size larger than the function takes, but from what I can tell that extra byte was never used. Resize the array and use the common function to reduce the code here. Cc: Vinod Polimera Cc: Kuogee Hsieh Signed-off-by: Stephen Boyd Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_panel.c | 42 ++++--------------------------- drivers/gpu/drm/msm/dp/dp_panel.h | 4 +-- 2 files changed, 6 insertions(+), 40 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c index 42d52510ffd4..09d4f6c38ef8 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.c +++ b/drivers/gpu/drm/msm/dp/dp_panel.c @@ -48,47 +48,15 @@ static int dp_panel_read_dpcd(struct dp_panel *dp_panel) ssize_t rlen; struct dp_panel_private *panel; struct dp_link_info *link_info; - u8 *dpcd, major = 0, minor = 0, temp; - u32 offset = DP_DPCD_REV; + u8 *dpcd, major, minor; + panel = container_of(dp_panel, struct dp_panel_private, dp_panel); dpcd = dp_panel->dpcd; + rc = drm_dp_read_dpcd_caps(panel->aux, dpcd); + if (rc) + return rc; - panel = container_of(dp_panel, struct dp_panel_private, dp_panel); link_info = &dp_panel->link_info; - - rlen = drm_dp_dpcd_read(panel->aux, offset, - dpcd, (DP_RECEIVER_CAP_SIZE + 1)); - if (rlen < (DP_RECEIVER_CAP_SIZE + 1)) { - DRM_ERROR("dpcd read failed, rlen=%zd\n", rlen); - if (rlen == -ETIMEDOUT) - rc = rlen; - else - rc = -EINVAL; - - goto end; - } - - temp = dpcd[DP_TRAINING_AUX_RD_INTERVAL]; - - /* check for EXTENDED_RECEIVER_CAPABILITY_FIELD_PRESENT */ - if (temp & BIT(7)) { - drm_dbg_dp(panel->drm_dev, - "using EXTENDED_RECEIVER_CAPABILITY_FIELD\n"); - offset = DPRX_EXTENDED_DPCD_FIELD; - } - - rlen = drm_dp_dpcd_read(panel->aux, offset, - dpcd, (DP_RECEIVER_CAP_SIZE + 1)); - if (rlen < (DP_RECEIVER_CAP_SIZE + 1)) { - DRM_ERROR("dpcd read failed, rlen=%zd\n", rlen); - if (rlen == -ETIMEDOUT) - rc = rlen; - else - rc = -EINVAL; - - goto end; - } - link_info->revision = dpcd[DP_DPCD_REV]; major = (link_info->revision >> 4) & 0x0f; minor = link_info->revision & 0x0f; diff --git a/drivers/gpu/drm/msm/dp/dp_panel.h b/drivers/gpu/drm/msm/dp/dp_panel.h index ed1030e17e1b..6d733480a62d 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.h +++ b/drivers/gpu/drm/msm/dp/dp_panel.h @@ -13,8 +13,6 @@ struct edid; -#define DPRX_EXTENDED_DPCD_FIELD 0x2200 - #define DP_DOWNSTREAM_PORTS 4 #define DP_DOWNSTREAM_CAP_SIZE 4 @@ -40,7 +38,7 @@ struct dp_panel_psr { struct dp_panel { /* dpcd raw data */ - u8 dpcd[DP_RECEIVER_CAP_SIZE + 1]; + u8 dpcd[DP_RECEIVER_CAP_SIZE]; u8 ds_cap_info[DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE]; u32 ds_port_cnt; u32 dfp_present; From patchwork Tue Aug 29 18:47:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 13369497 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 7F3B7C71153 for ; Tue, 29 Aug 2023 18:47:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EDEA210E483; Tue, 29 Aug 2023 18:47:48 +0000 (UTC) Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEABC10E485 for ; Tue, 29 Aug 2023 18:47:42 +0000 (UTC) Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1c0d0bf18d7so29365725ad.0 for ; Tue, 29 Aug 2023 11:47:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693334862; x=1693939662; 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=SP05QRX0ffgV9H75PNnPPPNwlPJBgrXfqON4q+7zQd8=; b=iR7CMZ2TOMm2oug+fW6PozLCKDS/FtBtnyhISmwLaudI+OQt4JkFh/4nfXqVS5T+x0 gc6XOEmfRRN6xM1lORZsVM7CD7pKalI9P9/iQA5HtQp5fiKBNFKY3340x/G8AX0+B02N KIsQX062xJPxzh2NKMuJVFoQ08gASaFeSb6N4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693334862; x=1693939662; 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=SP05QRX0ffgV9H75PNnPPPNwlPJBgrXfqON4q+7zQd8=; b=Ch8OAIGXUxG8zVdyxZ7MDFsGqcASi7qeh4Vd5lq7yzs0jewhBHOj/jUojCD/CRdS/Q 7n/jOJc0ikl8XSJsHPlAU8+Q8AYRe4yMmRqZWDtM/7tyPD1djfhGvIvHefr+33hGMcsL sjYlmiIb+ttG8Wkl7cvf9CGj7KCnQmfXytwOfZY5Awi2PYCrTSUtF4qfr8/iWrBIBh5x chz7TI+MXrcjhs8fYE5uc6gQPNLA4A3+gD22liGDJQOoiXRHYz6UQIYEEinqTX3Uaa6G Z5/ww1+oEUZNHUnIkNQVi4+3zUktcDerjbtpXS4YepvMNwVksc02lHvHVITsg9UL9HAr XqSA== X-Gm-Message-State: AOJu0Yy3lRk2HMqGqePWB8hnNIEAER28VA8FP4x8TLrthRImNgd6g4nq CbPiunKXfRkD4FitXXO3woo88g== X-Google-Smtp-Source: AGHT+IHGUmCHB6AjaXPnbvPgZPbqs96iezZg8UGYC+YUja3aAojoTLyujv9/gnvDjuZGMy/H54oFrA== X-Received: by 2002:a17:903:1212:b0:1b0:3df7:5992 with SMTP id l18-20020a170903121200b001b03df75992mr28283828plh.32.1693334862256; Tue, 29 Aug 2023 11:47:42 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:11a:201:d603:22a7:5e5e:d239]) by smtp.gmail.com with ESMTPSA id o15-20020a170902d4cf00b001b9e86e05b7sm9697953plg.0.2023.08.29.11.47.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Aug 2023 11:47:41 -0700 (PDT) From: Stephen Boyd To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov Subject: [PATCH 2/7] drm/msm/dp: Use drm_dp_read_sink_count() helper Date: Tue, 29 Aug 2023 11:47:27 -0700 Message-ID: <20230829184735.2841739-3-swboyd@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230829184735.2841739-1-swboyd@chromium.org> References: <20230829184735.2841739-1-swboyd@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: Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vinod Polimera , patches@lists.linux.dev, Kuogee Hsieh , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Use the common function drm_dp_read_sink_count() instead of open-coding it. This shrinks the kernel text a tiny bit. Cc: Vinod Polimera Cc: Kuogee Hsieh Signed-off-by: Stephen Boyd Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_panel.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c index 09d4f6c38ef8..a0523b18b9e9 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.c +++ b/drivers/gpu/drm/msm/dp/dp_panel.c @@ -147,8 +147,8 @@ static int dp_panel_update_modes(struct drm_connector *connector, int dp_panel_read_sink_caps(struct dp_panel *dp_panel, struct drm_connector *connector) { - int rc = 0, bw_code; - int rlen, count; + int rc, bw_code; + int count; struct dp_panel_private *panel; if (!dp_panel || !connector) { @@ -174,16 +174,11 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel, } if (dp_panel->dfp_present) { - rlen = drm_dp_dpcd_read(panel->aux, DP_SINK_COUNT, - &count, 1); - if (rlen == 1) { - count = DP_GET_SINK_COUNT(count); - if (!count) { - DRM_ERROR("no downstream ports connected\n"); - panel->link->sink_count = 0; - rc = -ENOTCONN; - goto end; - } + count = drm_dp_read_sink_count(panel->aux); + if (!count) { + DRM_ERROR("no downstream ports connected\n"); + panel->link->sink_count = 0; + return -ENOTCONN; } } From patchwork Tue Aug 29 18:47:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 13369495 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 5C351C71153 for ; Tue, 29 Aug 2023 18:47:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0654210E4B0; Tue, 29 Aug 2023 18:47:48 +0000 (UTC) Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3338810E483 for ; Tue, 29 Aug 2023 18:47:44 +0000 (UTC) Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-1bdbf10333bso37311135ad.1 for ; Tue, 29 Aug 2023 11:47:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693334864; x=1693939664; 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=V46+9RLRUs4jn3oMfUKtRDAEvgB49sGBWfYkBPv0+7o=; b=V/nm6vszO+uvEgAFcBm6ctl27mmYNTIbrvxYVif2P7XV8O9SZ4LQwXasF6coGjMn/T PKadI4pkh9xKzUC4CF1RfTbzxH/u80SEUUHcmsx2hmBOVqzX+ILpLP93898uIus/iEL3 OjamnOk5JD6kmxjUiibEJFzjti2YpMem+i4X4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693334864; x=1693939664; 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=V46+9RLRUs4jn3oMfUKtRDAEvgB49sGBWfYkBPv0+7o=; b=M+rLQHLDGCNKHQxQhACsydkIN0krCG3undsYZRgAoqlVpzHQ1J6AtZYnnobinvVM1f U3X0L3xLoYf6ifAvdZg3+kedJNsEmSFaZRbYDIiBw/bXzQdVJRs7087v0Q1B/b/jT2br I8xNr3y2ihiBi7UQRSSVOhm4/yQe0ajSDEwJlAyDYfGvul6u60P9Pbr1baagLq9NrVVD RyWhHxZW10ZCe7DnOmdTfRQ82WNWDsQpdGLYsv7iRA2ZWHh3KoGzilFErrdCcammvu5e ukdn2zESbPLgmn3rBNl7G3MNKs1KeSiG6WKQKJlZyfWRasdmo0bhFGqH350JP2yvMktZ dT2g== X-Gm-Message-State: AOJu0YwTnmBX1S8JQGuDMldDjwDTn0oaiQcJGYm2fFBtbVEzC7LfARKB MF6vj7R0OuomTDSswhymppnNDQ== X-Google-Smtp-Source: AGHT+IFQ+sayvRTbFlB/yJwtr4beqBjEBFE4xO6oxnY7iGPiTXaDK/H6T4fPE7QuZzDpNy7Vg0mguQ== X-Received: by 2002:a17:902:db0e:b0:1bf:a41:371e with SMTP id m14-20020a170902db0e00b001bf0a41371emr38019313plx.56.1693334863827; Tue, 29 Aug 2023 11:47:43 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:11a:201:d603:22a7:5e5e:d239]) by smtp.gmail.com with ESMTPSA id o15-20020a170902d4cf00b001b9e86e05b7sm9697953plg.0.2023.08.29.11.47.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Aug 2023 11:47:43 -0700 (PDT) From: Stephen Boyd To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov Subject: [PATCH 3/7] drm/msm/dp: Remove dead code related to downstream cap info Date: Tue, 29 Aug 2023 11:47:28 -0700 Message-ID: <20230829184735.2841739-4-swboyd@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230829184735.2841739-1-swboyd@chromium.org> References: <20230829184735.2841739-1-swboyd@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: Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vinod Polimera , patches@lists.linux.dev, Kuogee Hsieh , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" We read the downstream port count and capability info but never use it anywhere. Remove 'ds_port_cnt' and 'ds_cap_info' and any associated code from this driver. Fold the check for 'dfp_present' into a call to drm_dp_is_branch() at the one place it is used to get rid of any member storage related to downstream ports. Cc: Vinod Polimera Cc: Kuogee Hsieh Signed-off-by: Stephen Boyd Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_panel.c | 25 +++---------------------- drivers/gpu/drm/msm/dp/dp_panel.h | 6 ------ 2 files changed, 3 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c index a0523b18b9e9..9fb4e963fefb 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.c +++ b/drivers/gpu/drm/msm/dp/dp_panel.c @@ -43,9 +43,7 @@ static void dp_panel_read_psr_cap(struct dp_panel_private *panel) static int dp_panel_read_dpcd(struct dp_panel *dp_panel) { - int rc = 0; - size_t len; - ssize_t rlen; + int rc; struct dp_panel_private *panel; struct dp_link_info *link_info; u8 *dpcd, major, minor; @@ -79,25 +77,8 @@ static int dp_panel_read_dpcd(struct dp_panel *dp_panel) if (drm_dp_enhanced_frame_cap(dpcd)) link_info->capabilities |= DP_LINK_CAP_ENHANCED_FRAMING; - dp_panel->dfp_present = dpcd[DP_DOWNSTREAMPORT_PRESENT]; - dp_panel->dfp_present &= DP_DWN_STRM_PORT_PRESENT; - - if (dp_panel->dfp_present && (dpcd[DP_DPCD_REV] > 0x10)) { - dp_panel->ds_port_cnt = dpcd[DP_DOWN_STREAM_PORT_COUNT]; - dp_panel->ds_port_cnt &= DP_PORT_COUNT_MASK; - len = DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE; - - rlen = drm_dp_dpcd_read(panel->aux, - DP_DOWNSTREAM_PORT_0, dp_panel->ds_cap_info, len); - if (rlen < len) { - DRM_ERROR("ds port status failed, rlen=%zd\n", rlen); - rc = -EINVAL; - goto end; - } - } - dp_panel_read_psr_cap(panel); -end: + return rc; } @@ -173,7 +154,7 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel, return -EINVAL; } - if (dp_panel->dfp_present) { + if (drm_dp_is_branch(dp_panel->dpcd)) { count = drm_dp_read_sink_count(panel->aux); if (!count) { DRM_ERROR("no downstream ports connected\n"); diff --git a/drivers/gpu/drm/msm/dp/dp_panel.h b/drivers/gpu/drm/msm/dp/dp_panel.h index 6d733480a62d..3cb1f8dcfd3b 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.h +++ b/drivers/gpu/drm/msm/dp/dp_panel.h @@ -13,9 +13,6 @@ struct edid; -#define DP_DOWNSTREAM_PORTS 4 -#define DP_DOWNSTREAM_CAP_SIZE 4 - struct dp_display_mode { struct drm_display_mode drm_mode; u32 capabilities; @@ -39,9 +36,6 @@ struct dp_panel_psr { struct dp_panel { /* dpcd raw data */ u8 dpcd[DP_RECEIVER_CAP_SIZE]; - u8 ds_cap_info[DP_DOWNSTREAM_PORTS * DP_DOWNSTREAM_CAP_SIZE]; - u32 ds_port_cnt; - u32 dfp_present; struct dp_link_info link_info; struct drm_dp_desc desc; From patchwork Tue Aug 29 18:47:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 13369496 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 F2DBEC71153 for ; Tue, 29 Aug 2023 18:47:56 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 512F110E4B2; Tue, 29 Aug 2023 18:47:48 +0000 (UTC) Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by gabe.freedesktop.org (Postfix) with ESMTPS id 99B2010E491 for ; Tue, 29 Aug 2023 18:47:45 +0000 (UTC) Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1bc0d39b52cso29103455ad.2 for ; Tue, 29 Aug 2023 11:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693334865; x=1693939665; 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=ve0TvxUqRJlJKKLuvKm0zT04FAFhZiHAVMwMtJute6s=; b=i6Jfs7UbT8S74Gau5HpO2Cq++3W4Nwv+Sc5IC/PuOnGxQCGchsS6d+AjCM2FrnJXeD 5eVHIfBrChJp7fy6vfXEN1GLV+H4GFIj95yT5fehhqf6C3QHJmQdW0AyI2Wiuv13RtSq BvoM5uooP0Gdt7ti18RjTL06os8iqMXkKV4og= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693334865; x=1693939665; 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=ve0TvxUqRJlJKKLuvKm0zT04FAFhZiHAVMwMtJute6s=; b=CeHo9Z7hvoJBrtfWJIN51Di8MAv4Phk5zO0FMdPyvWuI1LbPT09LcT5TxuLrMt/eBV XM5QoR5sj7aSGT5NsG5wFbnK8Bo++Kdpwu0s6P2olNn71HjM+EJMTZwK3uhvND4GIOJx jvmNci36Z8IQ97KJ6yfUNkA2DIvyWNENZlTREdJ+EYE/c3PffAEJB46gRWTFvKiyJJqj xKWiRNamtatqC1eObWGj3v1SBq9z25Unm/F4yrYVpl9ea4TuKXODwbV0DDJZ1xAUxXCB 1WjOfsznOfYBe9wSGwgrhnjV0XJZNgdBTzhoNm60pNk2crYMiKrmMlUUcuj3Jo3FO+Uf 4ngg== X-Gm-Message-State: AOJu0Yxxk1eXzch/eHBycnjSH9s3s3XUpn0zo7kxcVntwCoFW4V9l8GH InuSjAtHRDrD+KZW1UABvjwF3zD9CYxEuMZftzc= X-Google-Smtp-Source: AGHT+IFHhHBo9Psybc2YARcz0/PoU0jc98gokAT1BEhXgw2zEOZ3HQ6Fpg6TBh2Spzq6LjBiUstieA== X-Received: by 2002:a17:902:ec8d:b0:1bc:69d0:a024 with SMTP id x13-20020a170902ec8d00b001bc69d0a024mr31142802plg.33.1693334865380; Tue, 29 Aug 2023 11:47:45 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:11a:201:d603:22a7:5e5e:d239]) by smtp.gmail.com with ESMTPSA id o15-20020a170902d4cf00b001b9e86e05b7sm9697953plg.0.2023.08.29.11.47.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Aug 2023 11:47:44 -0700 (PDT) From: Stephen Boyd To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov Subject: [PATCH 4/7] drm/msm/dp: Remove aux_cfg_update_done and related code Date: Tue, 29 Aug 2023 11:47:29 -0700 Message-ID: <20230829184735.2841739-5-swboyd@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230829184735.2841739-1-swboyd@chromium.org> References: <20230829184735.2841739-1-swboyd@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: Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vinod Polimera , patches@lists.linux.dev, Kuogee Hsieh , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The member 'aux_cfg_update_done' is always false. This is dead code that never runs. Remove it. Cc: Vinod Polimera Cc: Kuogee Hsieh Signed-off-by: Stephen Boyd Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_panel.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c index 9fb4e963fefb..0893522ae158 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.c +++ b/drivers/gpu/drm/msm/dp/dp_panel.c @@ -17,7 +17,6 @@ struct dp_panel_private { struct dp_link *link; struct dp_catalog *catalog; bool panel_on; - bool aux_cfg_update_done; }; static void dp_panel_read_psr_cap(struct dp_panel_private *panel) @@ -177,19 +176,6 @@ int dp_panel_read_sink_caps(struct dp_panel *dp_panel, } } - if (panel->aux_cfg_update_done) { - drm_dbg_dp(panel->drm_dev, - "read DPCD with updated AUX config\n"); - rc = dp_panel_read_dpcd(dp_panel); - bw_code = drm_dp_link_rate_to_bw_code(dp_panel->link_info.rate); - if (rc || !is_link_rate_valid(bw_code) || - !is_lane_count_valid(dp_panel->link_info.num_lanes) - || (bw_code > dp_panel->max_bw_code)) { - DRM_ERROR("read dpcd failed %d\n", rc); - return rc; - } - panel->aux_cfg_update_done = false; - } end: return rc; } @@ -434,7 +420,6 @@ struct dp_panel *dp_panel_get(struct dp_panel_in *in) dp_panel = &panel->dp_panel; dp_panel->max_bw_code = DP_LINK_BW_8_1; - panel->aux_cfg_update_done = false; return dp_panel; } From patchwork Tue Aug 29 18:47:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 13369498 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 6DAE5C83F12 for ; Tue, 29 Aug 2023 18:48:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6CB5110E47F; Tue, 29 Aug 2023 18:47:49 +0000 (UTC) Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 422A310E49B for ; Tue, 29 Aug 2023 18:47:47 +0000 (UTC) Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-68c0d4cc3a4so2849848b3a.1 for ; Tue, 29 Aug 2023 11:47:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693334867; x=1693939667; darn=lists.freedesktop.org; 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=buOYirvM4LTz9UY1JGw3dQAfNg4ODZnJm46kyV7UDeA=; b=UTOezsgiZgQsIIwaJZ7dHH4QwU+TdApc0px/lL3Dww0IBMLXpXyMrv6TnncM/EcsgW EABT5JarkK5fvXogolCAURtg6mEJgV7BeFzeMeMaN/pc4gChhmMEwtRinzKovLS06oT3 HYB+huhBa+3CL9pofotgpZED8Uy+vcN6XpY5o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693334867; x=1693939667; 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=buOYirvM4LTz9UY1JGw3dQAfNg4ODZnJm46kyV7UDeA=; b=WOsz/bSoTg/p1U2CiWJ52ojJn66LpDppSTWjUNNQhl23wfkJdqcBJ36999hvaxlQG3 JXcJ8azDMD2jglnKuxzBzFd4+9RQhr+1yIbEasazo7LWc96J5W7QPc2FFxu5hyP82Kjm GpdNkC35ZF1kNPgSS0waQI5DZqIP88J5isIfwom+Acx/qsD29eqUBFVPCBOkldRoIv9D iHEOFyPFZL3yY0Tp1Sxc7DMIclOIx7FYlE3mMJ+aux1/37kM9bEf3touF+ilyb+vhjxQ VkMxCu1YX99G2OSN4HxtdNhyU/j2CAVXZgOBAfWEOU+nkEfBDn95DFuoCsj/l8aKo46k 9PoA== X-Gm-Message-State: AOJu0Yxr3osTv+8i5zxDnHUJFZRC7Z1Fyk3kAUY0WVHU9MMupsxLTX3F JyaRkpqEN7sBlp5I7QHv/JrQyw== X-Google-Smtp-Source: AGHT+IGoA9R8jy+DLGU8vBrurRLkpQ3/Zg84i8rJk8UcpO+wc/82SKC/x3KJjnmNJ9rfBhL040LnrA== X-Received: by 2002:a05:6a20:729d:b0:140:4563:2243 with SMTP id o29-20020a056a20729d00b0014045632243mr138196pzk.50.1693334866790; Tue, 29 Aug 2023 11:47:46 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:11a:201:d603:22a7:5e5e:d239]) by smtp.gmail.com with ESMTPSA id o15-20020a170902d4cf00b001b9e86e05b7sm9697953plg.0.2023.08.29.11.47.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Aug 2023 11:47:46 -0700 (PDT) From: Stephen Boyd To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov Subject: [PATCH 5/7] drm/msm/dp: Simplify with drm_dp_{max_link_rate, max_lane_count}() Date: Tue, 29 Aug 2023 11:47:30 -0700 Message-ID: <20230829184735.2841739-6-swboyd@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230829184735.2841739-1-swboyd@chromium.org> References: <20230829184735.2841739-1-swboyd@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: Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vinod Polimera , patches@lists.linux.dev, Kuogee Hsieh , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" These are open-coded versions of common functions. Replace them with the common code to improve readability. Cc: Vinod Polimera Cc: Kuogee Hsieh Signed-off-by: Stephen Boyd Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_panel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_panel.c b/drivers/gpu/drm/msm/dp/dp_panel.c index 0893522ae158..97ba41593820 100644 --- a/drivers/gpu/drm/msm/dp/dp_panel.c +++ b/drivers/gpu/drm/msm/dp/dp_panel.c @@ -58,8 +58,8 @@ static int dp_panel_read_dpcd(struct dp_panel *dp_panel) major = (link_info->revision >> 4) & 0x0f; minor = link_info->revision & 0x0f; - link_info->rate = drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); - link_info->num_lanes = dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; + link_info->rate = drm_dp_max_link_rate(dpcd); + link_info->num_lanes = drm_dp_max_lane_count(dpcd); /* Limit data lanes from data-lanes of endpoint property of dtsi */ if (link_info->num_lanes > dp_panel->max_dp_lanes) From patchwork Tue Aug 29 18:47:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 13369500 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 CC31FC71153 for ; Tue, 29 Aug 2023 18:48:04 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5BFA010E486; Tue, 29 Aug 2023 18:47:56 +0000 (UTC) Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by gabe.freedesktop.org (Postfix) with ESMTPS id ACEE910E483 for ; Tue, 29 Aug 2023 18:47:48 +0000 (UTC) Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1bc83a96067so29371155ad.0 for ; Tue, 29 Aug 2023 11:47:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693334868; x=1693939668; 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=bWWE+N/R8MiRAhT7N6s5ExY6HMGHBM00+QOLGgmHjWE=; b=mrtXzVZv/KtID+AV6F+cCpMInKxZHGRb0bBendDZgPdkcKmAzQGqQ+ZfWZFBY+ru1E UC/pUTMGqdkddvAH8TZ3C3zr9F1lD7Jmp0Kmi9Lw5pnIBCe53lZHPHQJaHqFY5F4yjLn 8Cj7jg9NNMfz9KpAxC++fNWntkAgsRMVsvhcU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693334868; x=1693939668; 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=bWWE+N/R8MiRAhT7N6s5ExY6HMGHBM00+QOLGgmHjWE=; b=ZHMvoZMyXRmNxKSxwIv61E4lIMFB7+3+2O3GnVnqGV3uRQwyhBMi2EY7kTDpy7RDBp FTuxiFkXlz411vaMBJL5lqELdr3ijxSbfOO0qltf+fmBAarJceSmL0DoK6Adceh3dLsh fdCcTB79An1duJ4F610i9GnI3DG7W7nPWkSn9Z7Mrk1hOBTJ6U2NHQSasheMr4uOEOoN c+FjVm3OebA3BLyOtODHd7LYKAZdPVcwOVUHub895wqkE/5kZo2IzpqihJZ5NQCZVZ/n GtCak1phlUFhC4fNstsT1RB8m2Qx/KBFRbWBGJ6bcFpknEnIcxDonKNVje7y0y+HWlA0 vrgA== X-Gm-Message-State: AOJu0Yzx5cPsH1AF3kFduVRJbhe14SCzdRdByro9czHza6x/5BTQCj4B 78e4NHnsEEnCTyMHl61tv7wE5w== X-Google-Smtp-Source: AGHT+IELsr0TJIiQh5QAqmKXDgO6soZkpyO0kaROc+iBPItyZos4zaQHhCtRtZNlvZlNH7/nSZbiMw== X-Received: by 2002:a17:902:e74b:b0:1c1:f5a6:bdfa with SMTP id p11-20020a170902e74b00b001c1f5a6bdfamr5479880plf.7.1693334868188; Tue, 29 Aug 2023 11:47:48 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:11a:201:d603:22a7:5e5e:d239]) by smtp.gmail.com with ESMTPSA id o15-20020a170902d4cf00b001b9e86e05b7sm9697953plg.0.2023.08.29.11.47.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Aug 2023 11:47:47 -0700 (PDT) From: Stephen Boyd To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov Subject: [PATCH 6/7] drm/msm/dp: Inline dp_link_parse_sink_count() Date: Tue, 29 Aug 2023 11:47:31 -0700 Message-ID: <20230829184735.2841739-7-swboyd@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230829184735.2841739-1-swboyd@chromium.org> References: <20230829184735.2841739-1-swboyd@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: Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vinod Polimera , patches@lists.linux.dev, Kuogee Hsieh , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" The function dp_link_parse_sink_count() is really just drm_dp_read_sink_count(). It debug prints out the bit for content protection (DP_SINK_CP_READY), but that is not useful beyond debug because 'link->dp_link.sink_count' is overwritten to only contain the sink_count in this same function. Just use drm_dp_read_sink_count() in the one place this function is called to simplify. Cc: Vinod Polimera Cc: Kuogee Hsieh Signed-off-by: Stephen Boyd Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_link.c | 38 +++----------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_link.c b/drivers/gpu/drm/msm/dp/dp_link.c index 42427129acea..94a37914a47f 100644 --- a/drivers/gpu/drm/msm/dp/dp_link.c +++ b/drivers/gpu/drm/msm/dp/dp_link.c @@ -712,49 +712,17 @@ static int dp_link_parse_request(struct dp_link_private *link) return ret; } -/** - * dp_link_parse_sink_count() - parses the sink count - * @dp_link: pointer to link module data - * - * Parses the DPCD to check if there is an update to the sink count - * (Byte 0x200), and whether all the sink devices connected have Content - * Protection enabled. - */ -static int dp_link_parse_sink_count(struct dp_link *dp_link) -{ - ssize_t rlen; - bool cp_ready; - - struct dp_link_private *link = container_of(dp_link, - struct dp_link_private, dp_link); - - rlen = drm_dp_dpcd_readb(link->aux, DP_SINK_COUNT, - &link->dp_link.sink_count); - if (rlen < 0) { - DRM_ERROR("sink count read failed. rlen=%zd\n", rlen); - return rlen; - } - - cp_ready = link->dp_link.sink_count & DP_SINK_CP_READY; - - link->dp_link.sink_count = - DP_GET_SINK_COUNT(link->dp_link.sink_count); - - drm_dbg_dp(link->drm_dev, "sink_count = 0x%x, cp_ready = 0x%x\n", - link->dp_link.sink_count, cp_ready); - return 0; -} - static int dp_link_parse_sink_status_field(struct dp_link_private *link) { - int len = 0; + int len; link->prev_sink_count = link->dp_link.sink_count; - len = dp_link_parse_sink_count(&link->dp_link); + len = drm_dp_read_sink_count(link->aux); if (len < 0) { DRM_ERROR("DP parse sink count failed\n"); return len; } + link->dp_link.sink_count = len; len = drm_dp_dpcd_read_link_status(link->aux, link->link_status); From patchwork Tue Aug 29 18:47:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 13369499 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 302E6C83F14 for ; Tue, 29 Aug 2023 18:48:03 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D9AA610E485; Tue, 29 Aug 2023 18:47:55 +0000 (UTC) Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0B2C610E486 for ; Tue, 29 Aug 2023 18:47:50 +0000 (UTC) Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-68bedc0c268so4090345b3a.0 for ; Tue, 29 Aug 2023 11:47:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1693334869; x=1693939669; darn=lists.freedesktop.org; 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=KDFi+t2HGk6Ez2m1E1bDJmYF5dLdXGiplCl4kzCCGIw=; b=gsCbMBR5Lecvz+ZcNZT/qBLNklHHMP4hX3WGRxf77E0eEMgtc9pldRrw0vjiYiNMim sX1KPPir2HF9wiexfHHP39pVxRsRl818JbRrab9L6lIOLj1EB07IpibP/WMoqW4h5RQn n4bt/bkcAHLxIBrRrkMgX26eG/7QXhzxKDUzA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693334869; x=1693939669; 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=KDFi+t2HGk6Ez2m1E1bDJmYF5dLdXGiplCl4kzCCGIw=; b=IR91q4K0s4qqD29ujR561K9UVLL05FePl+i1uspCe70pJmPu9/zbXCrcE2iSy1IEG8 Et/oy96IC9CI12Jwx2wxK36/g2yKDC4rB8uWSBUPbETUi6Wv86DzsxOC5yz6bitoowZl R1gzT497wzFVtfpqIDaqjmVFyvwxWpVhi1+3x2rKX7fWOEJ2jTsyeu2jiF5tEc8FFKTW NSrFRxSoEvJFgzyeMfxwh1lCklt1OVcdYSNE40KlOGAIOu5vSSghQPvtyO9lnDx60nRI vmtSt+JmyXvioGtVJP9rhOiETCB75q0p5eHYYpOXjJycwItCsgiXiUq+oJCPsBHWSZBw fhAQ== X-Gm-Message-State: AOJu0YzWigANdx524Vi4DnHs7GxKqJFHz1zKnWKTtLrs6Jd47cVBXza8 vJTsNcRpQUFU3+8ed4b0FjwvRA== X-Google-Smtp-Source: AGHT+IG58CNBx1V/eqpVdTw/QvBwIlAZBBILyaosLO9zrBbi7Cn4JE3QPxGI+6zG/AqLakLHAjK+GQ== X-Received: by 2002:a05:6a21:66cb:b0:138:2fb8:6b42 with SMTP id ze11-20020a056a2166cb00b001382fb86b42mr180543pzb.14.1693334869676; Tue, 29 Aug 2023 11:47:49 -0700 (PDT) Received: from smtp.gmail.com ([2620:15c:11a:201:d603:22a7:5e5e:d239]) by smtp.gmail.com with ESMTPSA id o15-20020a170902d4cf00b001b9e86e05b7sm9697953plg.0.2023.08.29.11.47.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Aug 2023 11:47:49 -0700 (PDT) From: Stephen Boyd To: Rob Clark , Abhinav Kumar , Dmitry Baryshkov Subject: [PATCH 7/7] drm/msm/dp: Remove dp_display_is_ds_bridge() Date: Tue, 29 Aug 2023 11:47:32 -0700 Message-ID: <20230829184735.2841739-8-swboyd@chromium.org> X-Mailer: git-send-email 2.42.0.rc2.253.gd59a3bf2b4-goog In-Reply-To: <20230829184735.2841739-1-swboyd@chromium.org> References: <20230829184735.2841739-1-swboyd@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: Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Vinod Polimera , patches@lists.linux.dev, Kuogee Hsieh , freedreno@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This function is simply drm_dp_is_branch() so use that instead of open-coding it. Cc: Vinod Polimera Cc: Kuogee Hsieh Signed-off-by: Stephen Boyd Tested-by: Kuogee Hsieh Reviewed-by: Kuogee Hsieh Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index 76f13954015b..96bbf6fec2f1 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -341,19 +341,12 @@ static const struct component_ops dp_display_comp_ops = { .unbind = dp_display_unbind, }; -static bool dp_display_is_ds_bridge(struct dp_panel *panel) -{ - return (panel->dpcd[DP_DOWNSTREAMPORT_PRESENT] & - DP_DWN_STRM_PORT_PRESENT); -} - static bool dp_display_is_sink_count_zero(struct dp_display_private *dp) { drm_dbg_dp(dp->drm_dev, "present=%#x sink_count=%d\n", dp->panel->dpcd[DP_DOWNSTREAMPORT_PRESENT], dp->link->sink_count); - return dp_display_is_ds_bridge(dp->panel) && - (dp->link->sink_count == 0); + return drm_dp_is_branch(dp->panel->dpcd) && dp->link->sink_count == 0; } static void dp_display_send_hpd_event(struct msm_dp *dp_display)