From patchwork Fri Sep 27 08:38:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Nautiyal, Ankit K" X-Patchwork-Id: 13814012 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 28057CEBF85 for ; Fri, 27 Sep 2024 08:37:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C18B010EC6F; Fri, 27 Sep 2024 08:36:59 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="PF3GXRcE"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F09210EC6F; Fri, 27 Sep 2024 08:36:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1727426218; x=1758962218; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=iNFxKAYLTsMyoMOox6LvYy0kjYpKQsqb19TW1/jlzuc=; b=PF3GXRcENpow5Z1fkC4YvYW3c5rctJODrPrICOykwcnC9Iy3fvTLrWi2 3Zk0jvjjpB6O9Rst7g0xHLxbR3sybuDbpFonLhCF3OwrbbkB1hpN+E1Tx 30DUDZIb5k4bKyy7DhKOD0HYLWZhV/x+DxnAV6VX/jfAKmHHrik5AmOmA BFwzEtOHfuPjXZqAicgRIfiO8Ftr+d6JSRxH2j+IxIzySTm8P0DQvMK9M /VKsKwZWlGIwsbkL0ZVATOf1P3FSAmUtC4F2r2Y5sclfwiJL5x9HrZyP6 HbDFhnIkpESDZcU7z537MzM8VyunmGTQ1ZGf4C+m0NeCScsQs6fq8TXe6 Q==; X-CSE-ConnectionGUID: ZvWOJTNUQZmaZ4BSu0ER4g== X-CSE-MsgGUID: Wm9e2cOzTQKBZMXYGBCnFg== X-IronPort-AV: E=McAfee;i="6700,10204,11207"; a="51977629" X-IronPort-AV: E=Sophos;i="6.11,158,1725346800"; d="scan'208";a="51977629" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Sep 2024 01:36:58 -0700 X-CSE-ConnectionGUID: YFF+9isSRsGnbxoBQ3IaDg== X-CSE-MsgGUID: TJp/yuBNSJ2NAUcPHhrWxQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,158,1725346800"; d="scan'208";a="77409412" Received: from srr4-3-linux-103-aknautiy.iind.intel.com ([10.223.34.160]) by orviesa004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Sep 2024 01:36:56 -0700 From: Ankit Nautiyal To: intel-gfx@lists.freedesktop.org Cc: intel-xe@lists.freedesktop.org, suraj.kandpal@intel.com, ville.syrjala@linux.intel.com Subject: [PATCH 12/17] drm/i915/dp: Simplify the helper get_max_compressed_bpp_with_joiner Date: Fri, 27 Sep 2024 14:08:26 +0530 Message-ID: <20240927083831.3913645-13-ankit.k.nautiyal@intel.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240927083831.3913645-1-ankit.k.nautiyal@intel.com> References: <20240927083831.3913645-1-ankit.k.nautiyal@intel.com> MIME-Version: 1.0 X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Streamline the helper to get max compressed bpp for joiner case, to effectively use num of pipes joined. This will make the addition of ultrajoiner limitations easier and improve redability. Signed-off-by: Ankit Nautiyal Reviewed-by: Ville Syrjälä --- drivers/gpu/drm/i915/display/intel_dp.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 7db037f631f7..e7fe100ef8db 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -882,7 +882,8 @@ static u32 bigjoiner_bw_max_bpp(struct intel_display *display, u32 mode_clock, return max_bpp; } -static u32 small_joiner_ram_max_bpp(struct intel_display *display, u32 mode_hdisplay) +static u32 small_joiner_ram_max_bpp(struct intel_display *display, u32 mode_hdisplay, + int num_joined_pipes) { struct drm_i915_private *i915 = to_i915(display->drm); u32 max_bpp; @@ -890,6 +891,8 @@ static u32 small_joiner_ram_max_bpp(struct intel_display *display, u32 mode_hdis /* Small Joiner Check: output bpp <= joiner RAM (bits) / Horiz. width */ max_bpp = small_joiner_ram_size_bits(i915) / mode_hdisplay; + max_bpp *= num_joined_pipes; + return max_bpp; } @@ -899,19 +902,12 @@ u32 get_max_compressed_bpp_with_joiner(struct drm_i915_private *i915, int num_joined_pipes) { struct intel_display *display = to_intel_display(&i915->drm); - u32 max_bpp_small_joiner_ram; - - max_bpp_small_joiner_ram = small_joiner_ram_max_bpp(display, mode_hdisplay); - - if (num_joined_pipes == 2) { - u32 max_bpp_bigjoiner = bigjoiner_bw_max_bpp(display, mode_clock, num_joined_pipes); - - max_bpp_small_joiner_ram *= 2; + u32 max_bpp; - return min(max_bpp_small_joiner_ram, max_bpp_bigjoiner); - } + max_bpp = small_joiner_ram_max_bpp(display, mode_hdisplay, num_joined_pipes); + max_bpp = min(max_bpp, bigjoiner_bw_max_bpp(display, mode_clock, num_joined_pipes)); - return max_bpp_small_joiner_ram; + return max_bpp; } u16 intel_dp_dsc_get_max_compressed_bpp(struct drm_i915_private *i915,