Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp8352494pxb; Fri, 19 Feb 2021 14:05:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJz/UJswyZ2grHUaHX5K0oNzcaEf2zNNVnVWLtRoDVWioauFlDR004ng24Wnw88pST/W6Fay X-Received: by 2002:a17:907:3e26:: with SMTP id hp38mr10713580ejc.459.1613772345271; Fri, 19 Feb 2021 14:05:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613772345; cv=none; d=google.com; s=arc-20160816; b=ogqTX7A15QmBFGplTLQrA1UoaE2bdYpVGXuQbMZR4RWnptvMjj7lPfB4ZCoUKzP2Q/ UI7AaSnT2n4uKdVfTTBwaPpX/+2gRfL9VXQkZX9m9SVGxIE3/VkWAmkwfbhHL4SACmCP ZNs8ksJiSPb3GU1rCOcd6F/tyRjG8yc1SiS/1Kg+b8g1O1AR7IdZEelG+5+ehA4u6RVe IfWDNqv3Ajd/Q7rba6Ya0onx+zVXNgu2PTo0yroXAFJpPGcGjMU1SUG3PVZmJ4A1c7cA o5YKDed39sueOK0y9W3s9eiSoJqxexX7b9tr9I3J56XxynSjHk1gUjkS7QkLjrR3fLum GHXw== 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=N0oog+dTNpkeABRsp1t7RSocQRWoR5MLQumFpDthI3E=; b=e6evnnGNmpUkkOzvVXq2RE/BrSG1LqwcURAC7EU7b9rAZVoNLLsUExCWQLF6c8I9SD qZ+ryLGx49Vi9v9vwCgYk3sBBVzRj9G2P4H0oD7FULu//w31rQE099NEtNW+ZTNk/eMR iT0Mm/Ec9/52JKHNAyP8QAuhdR04k2QwK+O1GIaA0lG7/ajMUSzFMMVIGJcNVeO3DUaw MxSz+duGEvwy302U6R8Xhd/fY07p5THp1sn1OoH66BmC1hq/07DfAwcXpcKtqkaG2TGh BDMRuHc62E3VBKDW1RryMlsYWICWQ6C+3Hy6NxP2c/6LsPQPMGRpzaLcspCum9kSbqZQ 0zNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ZkseM7aw; 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 kl4si6792916ejc.341.2021.02.19.14.05.20; Fri, 19 Feb 2021 14:05:45 -0800 (PST) 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=ZkseM7aw; 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 S230053AbhBSWCW (ORCPT + 99 others); Fri, 19 Feb 2021 17:02:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]:46268 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230049AbhBSV5T (ORCPT ); Fri, 19 Feb 2021 16:57:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1613771752; 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=N0oog+dTNpkeABRsp1t7RSocQRWoR5MLQumFpDthI3E=; b=ZkseM7aw2X2AznH59XJ+jw4CXeFHP8Ti9gNx+CT5hiIQ7258kfboScCcA/N3m0Y0faJJlX KAhjGo0jZfIcXvwF1pjwKkYyWG8cZwHF31Lf7N8uNmeTb125+HbQ3fR7/fFJleldVOPScM k3RAg3150tj8gPinA8sGkBij8LijrTc= 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-556-VVgshI6EOmKNxAEkNGuo2Q-1; Fri, 19 Feb 2021 16:55:51 -0500 X-MC-Unique: VVgshI6EOmKNxAEkNGuo2Q-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D61308710E6; Fri, 19 Feb 2021 21:55:48 +0000 (UTC) Received: from Whitewolf.redhat.com (ovpn-118-5.rdu2.redhat.com [10.10.118.5]) by smtp.corp.redhat.com (Postfix) with ESMTP id 773606EF55; Fri, 19 Feb 2021 21:55:46 +0000 (UTC) From: Lyude Paul To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Jani Nikula , Rodrigo Vivi , Thomas Zimmermann Cc: Maarten Lankhorst , Maxime Ripard , David Airlie , Daniel Vetter , Joonas Lahtinen , Imre Deak , Ramalingam C , Pankaj Bharadiya , Anshuman Gupta , Lee Shawn C , Lucas De Marchi , linux-kernel@vger.kernel.org (open list) Subject: [PATCH 27/30] drm/dp_mst: Pass drm_dp_mst_topology_mgr to drm_dp_get_vc_payload_bw() Date: Fri, 19 Feb 2021 16:53:23 -0500 Message-Id: <20210219215326.2227596-28-lyude@redhat.com> In-Reply-To: <20210219215326.2227596-1-lyude@redhat.com> References: <20210219215326.2227596-1-lyude@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 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 cf4f2f85711e..fb66df39e0bb 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3631,6 +3631,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 * @@ -3639,7 +3640,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", @@ -3704,7 +3706,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 8e316146b6d1..60ca0fa32d15 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.29.2