Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2848883pxb; Mon, 19 Apr 2021 15:59:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy3mEMjis+uReyUp9vqJqzn95PuZpZl0KEVUVwrxUAHSMIo0ZQ8/tuYm9fX21WaNUITfucQ X-Received: by 2002:a05:6402:cb4:: with SMTP id cn20mr13205894edb.167.1618873193877; Mon, 19 Apr 2021 15:59:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618873193; cv=none; d=google.com; s=arc-20160816; b=K6A2Xzhsdmnh9RVDQiNB8uT2paeCvCiPXRzE8PSp3j1pxm4oxad3L0Ec4Psp2KpTKu 7t2ElU54HfK9YPJHosYK3E/D3fP3AjzGZ/u/+01I4Hywep5uB7geE4i/0BIs+Mo6feZ/ hzG05SLGeslX38tXVlp1/pZgAL/3ZW/kdBjgiin2yXt7eAGW4wVTyBWPmsE9JugVAOmY NqDXxVGHc/A2w3u3IKyI258z8V3fp6MlMyLv7Hn5JpFTT03SGyKzq11yyVfK5TMGLzQL MPGEaLjr4xGBMeEHaNPVaaeJsd9+WImwQ20mg7G5t8Izkq18rnAsuuJlpLN/ByUMgSZp ntlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aORR5BDLVuChgsGPTpiSbr2OxX85lHm3aaLawSJYbVM=; b=RK4n92F598G6XRdPJc7XkLKDqY8dilpE2NbO5e8ng8pqiMHDrpeoc4V+ORunW9wbdB vxHSjZNp7/ku40dDgC4o/4wfP7z3IM/XzhKg+Avl+iAi5ar6ecHmdwhPikUV9deRQi1r yZVYKDSqGppKgVqaAa9eQhm5dUoDQjNUz0J+EArIK94rc9BmfJ0JukIIwZqED+UfIohU lZckJ6Cvlf99edvSxpBTXjfWUr3eJbMtpf6kXeKVD8/02996vD8YiulSAItPkWDlmtDl JUJZX/iU8GuZ/yKttDiDzqsL4rQt+zmNCBrdkWxIpbVUnwDwnDSGggBcu1XjRHAHh+R4 TMwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=cv3WbcJT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jz13si13804466ejc.634.2021.04.19.15.59.31; Mon, 19 Apr 2021 15:59:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=cv3WbcJT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232704AbhDSW60 (ORCPT + 99 others); Mon, 19 Apr 2021 18:58:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:60888 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232221AbhDSW6O (ORCPT ); Mon, 19 Apr 2021 18:58:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618873063; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aORR5BDLVuChgsGPTpiSbr2OxX85lHm3aaLawSJYbVM=; b=cv3WbcJTNNgJtrx6ZQsVsZKycN7L2rvTBiNvMhUuUrHM893QVTOk6e9d/44IE2sj47NOT4 Sf/k/Gh3BLnrhq1zB2F8YY9i7v/mBEDPl6it+OVLezykkxcwcTv+0LAXEpbkqxCV7DAZ3Y Drf2D1bFo+NX0rQ/H9gApTvP16ErIS8= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-138-15fvv2bnOhSJvr70IefdHA-1; Mon, 19 Apr 2021 18:57:41 -0400 X-MC-Unique: 15fvv2bnOhSJvr70IefdHA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 44D9E1006C80; Mon, 19 Apr 2021 22:57:39 +0000 (UTC) Received: from Ruby.lyude.net (ovpn-119-153.rdu2.redhat.com [10.10.119.153]) by smtp.corp.redhat.com (Postfix) with ESMTP id A29835C1C4; Mon, 19 Apr 2021 22:57:36 +0000 (UTC) From: Lyude Paul To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Jani Nikula , Rodrigo Vivi , Thomas Zimmermann , Thierry Reding Cc: Maarten Lankhorst , Maxime Ripard , David Airlie , Daniel Vetter , Joonas Lahtinen , Imre Deak , Ramalingam C , Matt Roper , Anshuman Gupta , Lee Shawn C , Lucas De Marchi , Sean Paul , linux-kernel@vger.kernel.org (open list) Subject: [PATCH v3 16/20] drm/dp_mst: Pass drm_dp_mst_topology_mgr to drm_dp_get_vc_payload_bw() Date: Mon, 19 Apr 2021 18:55:18 -0400 Message-Id: <20210419225523.184856-17-lyude@redhat.com> In-Reply-To: <20210419225523.184856-1-lyude@redhat.com> References: <20210419225523.184856-1-lyude@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since this is one of the few functions in drm_dp_mst_topology.c that doesn't have any way of getting access to a drm_device, let's pass the drm_dp_mst_topology_mgr down to this function so that it can use drm_dbg_kms(). Signed-off-by: Lyude Paul --- drivers/gpu/drm/drm_dp_mst_topology.c | 7 +++++-- drivers/gpu/drm/i915/display/intel_dp_mst.c | 3 ++- include/drm/drm_dp_mst_helper.h | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 276f7f054d62..9bac5bd050ab 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3638,6 +3638,7 @@ static int drm_dp_send_up_ack_reply(struct drm_dp_mst_topology_mgr *mgr, /** * drm_dp_get_vc_payload_bw - get the VC payload BW for an MST link + * @mgr: The &drm_dp_mst_topology_mgr to use * @link_rate: link rate in 10kbits/s units * @link_lane_count: lane count * @@ -3646,7 +3647,8 @@ static int drm_dp_send_up_ack_reply(struct drm_dp_mst_topology_mgr *mgr, * convert the number of PBNs required for a given stream to the number of * timeslots this stream requires in each MTP. */ -int drm_dp_get_vc_payload_bw(int link_rate, int link_lane_count) +int drm_dp_get_vc_payload_bw(const struct drm_dp_mst_topology_mgr *mgr, + int link_rate, int link_lane_count) { if (link_rate == 0 || link_lane_count == 0) DRM_DEBUG_KMS("invalid link rate/lane count: (%d / %d)\n", @@ -3711,7 +3713,8 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms goto out_unlock; } - mgr->pbn_div = drm_dp_get_vc_payload_bw(drm_dp_bw_code_to_link_rate(mgr->dpcd[1]), + mgr->pbn_div = drm_dp_get_vc_payload_bw(mgr, + drm_dp_bw_code_to_link_rate(mgr->dpcd[1]), mgr->dpcd[2] & DP_MAX_LANE_COUNT_MASK); if (mgr->pbn_div == 0) { ret = -EINVAL; diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c index 180f97cd74cb..eb04b3cefda2 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c @@ -70,7 +70,8 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder, slots = drm_dp_atomic_find_vcpi_slots(state, &intel_dp->mst_mgr, connector->port, crtc_state->pbn, - drm_dp_get_vc_payload_bw(crtc_state->port_clock, + drm_dp_get_vc_payload_bw(&intel_dp->mst_mgr, + crtc_state->port_clock, crtc_state->lane_count)); if (slots == -EDEADLK) return slots; diff --git a/include/drm/drm_dp_mst_helper.h b/include/drm/drm_dp_mst_helper.h index bd1c39907b92..20dc705642bd 100644 --- a/include/drm/drm_dp_mst_helper.h +++ b/include/drm/drm_dp_mst_helper.h @@ -783,7 +783,8 @@ drm_dp_mst_detect_port(struct drm_connector *connector, struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); -int drm_dp_get_vc_payload_bw(int link_rate, int link_lane_count); +int drm_dp_get_vc_payload_bw(const struct drm_dp_mst_topology_mgr *mgr, + int link_rate, int link_lane_count); int drm_dp_calc_pbn_mode(int clock, int bpp, bool dsc); -- 2.30.2