Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp2582889lqp; Mon, 25 Mar 2024 03:30:27 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVlm6MdZRXhDeQI4Y3IgimzU4Ms8elpeoBVjdLE3ln5ILY6+rbHUHaW19CSN6xj2a/U93BIiovRZ4ablIS6/9ZSj1n0ee9gjE3oDSDWGQ== X-Google-Smtp-Source: AGHT+IGVy6p70wbaG542denXSw5Ia3IhX4ZTjQZA9yuJtO1q1l3CVkZWSxkBU1Cf0/TwjPIgFr/g X-Received: by 2002:a17:907:37a:b0:a46:1e:d199 with SMTP id rs26-20020a170907037a00b00a46001ed199mr4358295ejb.39.1711362627427; Mon, 25 Mar 2024 03:30:27 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711362627; cv=pass; d=google.com; s=arc-20160816; b=0XcyEeum+65b4CY8zINw1NDBaeeFkDPnJ4gWqtBLhweDXN1HejMT+/3iziReVUe8Gu WVZNA5X9F4tuzMXmY9a8wK5Gz2khk2RB0fvH4BZybzT0vM3zE5DFvXel9oTdzz7XuXid M4m9+Jy1XjzcsBheMMWpwaxsBrM2IXYv9D1/F1Bfoc9M7sGC4E6IHHHG5J+CCniZ7Bc2 vzYgMpB/KePPkBfeugJ6fDF5iG23fDP/hahVbKqPkAr3TyjYHyIxtdC8EvqEJoVSSsX7 NzmN/prvjgs0r0gv+KmqJK7tS6gAaHzSPQRTi97XQ8e3RHMxtKYqZlghqn1d57fDk2NW 0Wxg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=GC4C1KgYQkEB2/HCbottWYoO5iSD3E9vKUMMdANlAQs=; fh=ViB4nemWZj2IQcO+UooKRxfQQRRjk/Aue3mmoN1agms=; b=QxSVPBJBQuI78dzrGiR0LAQIxr9IqPF96+a3XSG+yWe8LFfeLSGWUYBllvllluM+E7 pTNneZKqBQMINtUCGmHCiAZp0qHqHRQx7JS66D9nGtJcfQnNmAVAW1wGF3C9hxj4vOsR pp668YXglIn8j4WDwADyhv3b3HQdujkQ2+bfQw740QsfgV6kA+dnTNuXNhRUrilCayl8 ntpamUYao6egzXjhrSbpAujE56/vudaJqhUZ2VZZXerJvh3YeI7uUvpPpnTnBXKzJKR4 kQRZVJyh6FZKE+WSvteovReCIU2ItHpHiV2SJKD42/o+x6c4f59IrxP9NpPgYrdccSXu ZGbw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=r0psc4Wm; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115297-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115297-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id f16-20020a17090631d000b00a4674e6d4f1si2555094ejf.1016.2024.03.25.03.30.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Mar 2024 03:30:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-115297-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=r0psc4Wm; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-115297-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-115297-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 50D211F33626 for ; Mon, 25 Mar 2024 10:30:07 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CF0361D4C55; Mon, 25 Mar 2024 02:32:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="r0psc4Wm" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5107C7F7DC; Sun, 24 Mar 2024 22:48:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320488; cv=none; b=kp/fOmDMElqKFerPAPYX7rAXoM5EuvzUiNGSto2w3nK+sbz20aBiIxKTvHUjteOu6Fk3SkBaO/0wrijDVVg7stiawPsq7NhTa9fX0XHyQLyafoAi3hCybnduyvLlZWQK41u9nuVRzpiGL3sHqhhDHUyOF/xURBm/EDy8oug0ueU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711320488; c=relaxed/simple; bh=F1BWa4jzZKYFHykP4yUqY5Y3/LkmRdmf8Kjmr64U45s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a3UacuZWFaM3B20k+2RC6MSq56BEXd1ngb3hc1MIoRrjcvDGqWCKyCCgLVe3N/cg6h9KUP0QHF449+TJVawxhaBxcsoV649QtHYc5Qeh4w3cfVsS+2d6qfN39nuXjdS1q3XTPH8uf1yWJD69Ib2mvKf/FWU/3E3ZWpWKw8YAQ9c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r0psc4Wm; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 456CCC433F1; Sun, 24 Mar 2024 22:48:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711320488; bh=F1BWa4jzZKYFHykP4yUqY5Y3/LkmRdmf8Kjmr64U45s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r0psc4WmZVsSW2QTPk5O1O5g5/fFypjj5o3BZCMoUj/WW9bldPD8tHqeKR1uQpOM8 vzhro9RwMF1apfsCAeuxRfWG8hWv4CryEZ86I5Oia30K1a5hsOtkWeEhT60szvl/Xq bxS+pOWXgRz2KDI1fAH1nc3sK9pa4fKIKJzx0xdO3wpz0F9wk7VnKGk9z9Vx1SasHf dfFCVor3AmS+i/nX/bJTDqCaa/7uTIwxhD1PKQqp+plhQLBCr2FFaPi4+KRScgI0pX wM7zhbGhxbk3i/8cDf+5OZbUNI3ouITq60At7QthwivbI9CVs1bp4wKC2MDkDb7+PN 1Dyi6uQwQcHtg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Swapnil Patel , Charlene Liu , Rodrigo Siqueira , Daniel Wheeler , Alex Deucher , Sasha Levin Subject: [PATCH 6.7 047/713] drm/amd/display: fix input states translation error for dcn35 & dcn351 Date: Sun, 24 Mar 2024 18:36:13 -0400 Message-ID: <20240324224720.1345309-48-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324224720.1345309-1-sashal@kernel.org> References: <20240324224720.1345309-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Swapnil Patel [ Upstream commit 27a6c49394b1a203beeb94752c9a1d6318f24ddf ] [Why] Currently there is an error while translating input clock sates into output clock states. The highest fclk setting from output sates is being dropped because of this error. [How] For dcn35 and dcn351, make output_states equal to input states. Reviewed-by: Charlene Liu Acked-by: Rodrigo Siqueira Tested-by: Daniel Wheeler Signed-off-by: Swapnil Patel Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin --- .../drm/amd/display/dc/dml2/dml2_translation_helper.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c b/drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c index 2c379be19aa84..16452dae4acac 100644 --- a/drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c +++ b/drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c @@ -398,7 +398,6 @@ void dml2_init_soc_states(struct dml2_context *dml2, const struct dc *in_dc, /* Copy clocks tables entries, if available */ if (dml2->config.bbox_overrides.clks_table.num_states) { p->in_states->num_states = dml2->config.bbox_overrides.clks_table.num_states; - for (i = 0; i < dml2->config.bbox_overrides.clks_table.num_entries_per_clk.num_dcfclk_levels; i++) { p->in_states->state_array[i].dcfclk_mhz = dml2->config.bbox_overrides.clks_table.clk_entries[i].dcfclk_mhz; } @@ -437,6 +436,14 @@ void dml2_init_soc_states(struct dml2_context *dml2, const struct dc *in_dc, } dml2_policy_build_synthetic_soc_states(s, p); + if (dml2->v20.dml_core_ctx.project == dml_project_dcn35 || + dml2->v20.dml_core_ctx.project == dml_project_dcn351) { + // Override last out_state with data from last in_state + // This will ensure that out_state contains max fclk + memcpy(&p->out_states->state_array[p->out_states->num_states - 1], + &p->in_states->state_array[p->in_states->num_states - 1], + sizeof(struct soc_state_bounding_box_st)); + } } void dml2_translate_ip_params(const struct dc *in, struct ip_params_st *out) -- 2.43.0