From nobody Tue Sep 29 04:46:54 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 91E0141F378 for ; Wed, 12 Aug 2026 10:06:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786529163; cv=none; b=Z3By6gXRIbofj7moeXbMwJHkaGLsGdG/SxseGX1oDtPT/CMhjNO2ZJWgd81QYrOqSkhKaIJRonZtNGXcl0KVaMXkS5bP84/DEqWZEIgplkxBpttu64vybtEkkhH3eGOnXmrPoMCMlQDufDvHrbM8KBaaSA1Ls8DGnvuiwYIt0II= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786529163; c=relaxed/simple; bh=zRVkXvGLzxZ62yvueEfVVjtvPkZXtQlKXDr5boXzW0U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=a7voMqUi+EvBiF68iutRu1zGGBNIbxLM7YIx14XRD4OKRc4gZ2y/NcYWc3MFNjTfKDUUUfZkoE1idMNjSSUzwWCz6AOlM2cuYsjVYv/Ci+gZrwQbwoin9/ZUZgh99nsACSzLjdRlaNs7biu8UvhLIZG9yaSpbdHvkJGgRDXtdnI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=imd-tec.com; spf=pass smtp.mailfrom=imd-tec.com; dkim=pass (2048-bit key) header.d=imd-tec.com header.i=@imd-tec.com header.b=UhYXH4XK; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=imd-tec.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=imd-tec.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=imd-tec.com header.i=@imd-tec.com header.b="UhYXH4XK" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4955aa106b1so6660425e9.0 for ; Wed, 12 Aug 2026 03:06:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imd-tec.com; s=google; t=1786529160; x=1787133960; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=8lTgpZKYeMDewjAwTo7awtsmXJS+XkKIAXMlp0xZDk0=; b=UhYXH4XKdcd0a0B6ytmc9IaTrZc4S0KW2al2VAoq6+fl+5P/E44JSnGWAwU1Z7DWUe azLbug20rRPqt/NFBpYJykNCYkgcxQDFCfhzDgefW6HQEAuMa/hHBjECwGtTOQ6R0j3E 6eR1h8YDEu6RiGNdJpjUp9Zf9Rm9lB8Tk2RtwnJqJl0O7oenTcySQ+qw9EHzguNpVPJy cfmQYICl8XaCqqSeGr+fra6uCw2bs6P7nrlybClS/otz9Eb55SoCokXu44keONdxiPkt Sd3+XYrA0k6gXZQXHusp3w4oDNPuk3NUEbevcXmeW5pqKWjEz6BVBlk9T3ZjEuMAbZoM lVJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786529160; x=1787133960; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=8lTgpZKYeMDewjAwTo7awtsmXJS+XkKIAXMlp0xZDk0=; b=qgSrNmqeixSriM7noNIzfUDasFQP/f0wubT+ErZuN+p5Dl1OydRTgYDoO5GU7/x5zd httoW7DX1bM2ZZgigTa+WRFSfh35I2Jf8w/belKFLSProFYNHoxsVCJKewkBwfT1xw5i IuHLHNz+XEp67c9y2BQwaio8S9Z97ktkDhbYeEDImi79DS9Aa++joJavw1SYJ76pxd+V S7Tj/KA9NEhGhCLtZzt9GM/aglvamSR0Ufr6TIlDLwpo0GAe+tgjPk1r2Sn4SnsI1+eO f8aVExUxJQzMZKaAMavLgxCrAyoz9rd49Im0zrQQo1kRn8otowZeiGfnYjNnQ1IFsoqj SnSg== X-Forwarded-Encrypted: i=1; AHgh+RodwXyG5QBdUwiK7RU3ldmBSqySGfSH6iJICqdGhJifzRDw6/bgl/mynD+MmXA/c3CR+rKd/CgLd/xPpMo=@vger.kernel.org X-Gm-Message-State: AOJu0YzRzOavV0jPnEAPWIzOoF/Ig2M1MKJZR+5hgj2LxL/1zmT7iw/W b6LKCUxNMHk7oeG9qBhS8FIwoAKvkVbDKRPVLOIGXQkBCXoHj7ebNSHG8BmzmXjZmAw= X-Gm-Gg: AR+sD11asCpISaZ7D3mDgBFkjR3pG/YhyAMUVkPkGAmPcEd8A9DypHq9DiONDFsTCkj WurkmZDa3at6kB1qL55ibK7OatkL1hAKCr8jGyCs85pXxVwr41N3iwq6/C7/5oVwpUzT4XpxHM7 5y/vgHL4KBEJkWy/K245AFhUcToSqFw8FUs6Hd38QDq0Abz8mVOS2jR1XSRn3DkX/eNILeLLZLI it8FUHELgoX2C0cZLGC6qlFRpSEkRQ6pk1U+8c7mWF99mPuOH/bZpju/CgUoySdJXC5lXgtfdRK 4kNPOJmk50YBcX8XBmObCqRuXJxHR/2+oRmsC/XiIV4pvzeWf+vSFtjTz981M8mYVG1xLdLVBwm pCjyD0hdFbiAx1p62RDkNcwUIWXvKZt9B5KxvvEU7dS7OI55p02WTC242LEtWiOZ4/9fa2sxAOg fGlwX4uvbEQfNiLWdSZXGoVL1y/jnrjSgwUog6BtiY/ZOMsqRpoARe+Qt8Z9Dz1BIu8Voizjznr xXmoCR7zxPdS+gz/zHq7R/1OhbfGaLpBcG6h6S7VoMwLEI24FCaX37cmfjmQw== X-Received: by 2002:a05:600c:8b33:b0:499:6a92:fff1 with SMTP id 5b1f17b1804b1-4997c1706afmr55104685e9.18.1786529159744; Wed, 12 Aug 2026 03:05:59 -0700 (PDT) Received: from [127.0.1.1] ([2a00:23c6:273c:cd01:ee86:877c:752a:fac6]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48150d5eddbsm6568147f8f.31.2026.08.12.03.05.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 03:05:59 -0700 (PDT) From: William Bright Date: Wed, 12 Aug 2026 11:05:52 +0100 Subject: [PATCH] drm/msm/dp: fix link bandwidth check when wide bus is enabled Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260812-msm-dp-link-bw-v1-1-b0e3ce1190be@imd-tec.com> X-B4-Tracking: v=1; b=H4sIAH9FfGoC/yXMSQ6DMAxA0asgr2spRIy9SsWCBBdMS0Axk4S4O yldvsX/Bwh5JoFndICnlYVHFxA/IrBd7VpCboJBK52pItY4yIDNhF92HzQblqVOU1vkytgEQjR 5evN+D1/V37KYnuz8u8B5XqQvVkRyAAAA X-Change-ID: 20260812-msm-dp-link-bw-99255c870bc4 To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, William Bright X-Mailer: b4 0.15.2 msm_dp_display_mode_valid() halves the pixel clock when either YUV420 or wide bus is in use, then uses that halved value both for the controller pixel clock limit and for the DP link bandwidth check. Only YUV420 halves the data crossing the link. Wide bus widens the internal DPU to DP interface to two pixels per clock, halving the controller clock. Every pixel is still transmitted, so the link bandwidth requirement remains. As a result, modes needing up to twice the available link bandwidth pass validation. On the IMDT QCS8550 SBC (rev5 with CYPD6125), where DP runs over USB-C alt mode where only two lanes are available, 3840x2160@60 was accepted despite needing 9.6 Gbps against the 8.64 Gbps the link can carry. Use a separate link pixel clock that is only halved for YUV420 for the bandwidth calculation, leaving the wide bus halving to apply solely to the controller pixel clock limit. With this, 4k@60 is correctly rejected and 4k@30 selected instead. Fixes: df9cf852ca30 ("drm/msm/dp: account for widebus and yuv420 during mod= e validation") Assisted-by: Claude:claude-opus-5 Signed-off-by: William Bright Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/dp/dp_display.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/d= p_display.c index bc646d172abe..b2d6cb82a146 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -756,6 +756,7 @@ enum drm_mode_status msm_dp_display_mode_valid(struct m= sm_dp *dp, struct msm_dp_link_info *link_info; u32 mode_rate_khz =3D 0, supported_rate_khz =3D 0, mode_bpp =3D 0; int mode_pclk_khz =3D mode->clock; + int link_pclk_khz; bool is_yuv_420; =20 if (!dp || !mode_pclk_khz || !dp->connector) { @@ -775,6 +776,13 @@ enum drm_mode_status msm_dp_display_mode_valid(struct = msm_dp *dp, if (is_yuv_420 && !msm_dp_display->panel->vsc_sdp_supported) return MODE_NO_420; =20 + /* + * Only YUV 420 actually halves the link bandwidth, as wide bus only + * halves the pixel clock within the SoC, while the link bandwidth + * requirement remains the same. + */ + link_pclk_khz =3D is_yuv_420 ? mode_pclk_khz / 2 : mode_pclk_khz; + if (is_yuv_420 || msm_dp_display->wide_bus_supported) mode_pclk_khz /=3D 2; =20 @@ -786,9 +794,9 @@ enum drm_mode_status msm_dp_display_mode_valid(struct m= sm_dp *dp, mode_bpp =3D default_bpp; =20 mode_bpp =3D msm_dp_panel_get_mode_bpp(msm_dp_display->panel, - mode_bpp, mode_pclk_khz); + mode_bpp, link_pclk_khz); =20 - mode_rate_khz =3D mode_pclk_khz * mode_bpp; + mode_rate_khz =3D link_pclk_khz * mode_bpp; supported_rate_khz =3D link_info->num_lanes * link_info->rate * 8; =20 if (mode_rate_khz > supported_rate_khz) --- base-commit: 140b13475302601368c0cf4e193e66126a49feb3 change-id: 20260812-msm-dp-link-bw-99255c870bc4 Best regards, -- =20 William Bright