From mboxrd@z Thu Jan 1 00:00:00 1970 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 495FA2ECD3C; Tue, 17 Jun 2025 16:00:45 +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=1750176045; cv=none; b=i8vGbQWxrMy68Y6jLsC5y3Qgy0DVz+qGXvmmjPZoVkvOCyn0EDRzcz7W5mXD8IaqM4PlfLlvR5HTx6TYaoyLXZsUPAK3NVAhwYdzhXj0/iRMaiZr+bVSz69UpnT+uxlWzWnNufqzCFXs9GUuRw123+1UoyT6z6qQBXrcgMXb3Is= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750176045; c=relaxed/simple; bh=vHIf8jSGGyk87ZchPhnViWCo6nqqRZYy6cMdnb2ax0I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ud9Z7tSmaHmsN1SyMdRNhXeY0xD7wGaw2ofbMz+wTPXDe/TOnfdTObolQZH/VCiOs8783SmyGgnnZTUF0srN+7sBsQfP7SysoGRtMzhigdslFiw8evPADXMTzWj3CDVPogXEKs0sJOc3IrKILf+hBWLd6kPZIIx/oDx2Myq8nds= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=Or2yyTdR; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="Or2yyTdR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AAA52C4CEF1; Tue, 17 Jun 2025 16:00:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1750176045; bh=vHIf8jSGGyk87ZchPhnViWCo6nqqRZYy6cMdnb2ax0I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Or2yyTdR+ZCZB+p6pWrfbvPwMtqAqtqh+df8buzyiE0/x3DnY9wtnm3UMiMw9IEjp x7DtWjlG4bqiUjISuXNAHkrqt3dZOempRri2e6IWlrO4DCH8pOjwJoul8LEdqLVsrA HFRk55NNnJXluPW3VXYC/6/mmT12bkTDOXPuZUns= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Abhinav Kumar , Dmitry Baryshkov , Aleksandrs Vinarskis , Johan Hovold , Rob Clark , Sasha Levin , Jessica Zhang Subject: [PATCH 6.15 146/780] drm/msm/dp: Fix support of LTTPR initialization Date: Tue, 17 Jun 2025 17:17:34 +0200 Message-ID: <20250617152457.452388510@linuxfoundation.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250617152451.485330293@linuxfoundation.org> References: <20250617152451.485330293@linuxfoundation.org> User-Agent: quilt/0.68 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Aleksandrs Vinarskis [ Upstream commit 9351d3d302060d114de2f0c648579c0aadbd8f72 ] Initialize LTTPR before msm_dp_panel_read_sink_caps, as DPTX shall (re)read DPRX caps after LTTPR detection, as required by DP 2.1a, Section 3.6.7.6.1. Fixes: 72d0af4accd9 ("drm/msm/dp: Add support for LTTPR handling") Reviewed-by: Abhinav Kumar Reviewed-by: Dmitry Baryshkov Signed-off-by: Aleksandrs Vinarskis Tested-by: Jessica Zhang # SA8775P Tested-by: Johan Hovold Tested-by: Rob Clark Patchwork: https://patchwork.freedesktop.org/patch/652301/ Link: https://lore.kernel.org/r/20250507230113.14270-2-alex.vinarskis@gmail.com Signed-off-by: Dmitry Baryshkov Signed-off-by: Sasha Levin --- drivers/gpu/drm/msm/dp/dp_display.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index bbc47d86ae9e6..fc07cce68382a 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -367,12 +367,12 @@ static int msm_dp_display_send_hpd_notification(struct msm_dp_display_private *d return 0; } -static void msm_dp_display_lttpr_init(struct msm_dp_display_private *dp) +static void msm_dp_display_lttpr_init(struct msm_dp_display_private *dp, u8 *dpcd) { u8 lttpr_caps[DP_LTTPR_COMMON_CAP_SIZE]; int rc; - if (drm_dp_read_lttpr_common_caps(dp->aux, dp->panel->dpcd, lttpr_caps)) + if (drm_dp_read_lttpr_common_caps(dp->aux, dpcd, lttpr_caps)) return; rc = drm_dp_lttpr_init(dp->aux, drm_dp_lttpr_count(lttpr_caps)); @@ -385,12 +385,17 @@ static int msm_dp_display_process_hpd_high(struct msm_dp_display_private *dp) struct drm_connector *connector = dp->msm_dp_display.connector; const struct drm_display_info *info = &connector->display_info; int rc = 0; + u8 dpcd[DP_RECEIVER_CAP_SIZE]; - rc = msm_dp_panel_read_sink_caps(dp->panel, connector); + rc = drm_dp_read_dpcd_caps(dp->aux, dpcd); if (rc) goto end; - msm_dp_display_lttpr_init(dp); + msm_dp_display_lttpr_init(dp, dpcd); + + rc = msm_dp_panel_read_sink_caps(dp->panel, connector); + if (rc) + goto end; msm_dp_link_process_request(dp->link); -- 2.39.5