From nobody Mon Feb 9 17:57:27 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 8C0853254AC for ; Mon, 19 Jan 2026 12:17:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768825071; cv=none; b=Nk5ggzxsw3EIz89EEDWmUlT+JKXXVSGX/MWHOz50O3cfSFhnDf61NbJx3aRm3O7ktiBt7aNeASqZcuWGBmj4NPyRsNkilh3V9+sNlLnDO95bNa76XkZNRx6YJS6j1j2757cP3SkCi0gt/Ak1Q8CT0YCEZ44rc3xXqiygmuLVLV4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768825071; c=relaxed/simple; bh=hK4mO/cagHj3HVYjVR3i3QZO8ZbZgg9vO0ANe18SGRw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TZp1OmnpR1Pq7hfJimr+gTfPRN3GLETlKsozyXS/SdQX7tswEd0Tg+iAGyN9HrdrqoIa+c2DmbsveGGQdKnaoH0fTelXFrN/JbIcl8hP1wg5PfUj84P8kpN0QneP31lHG7PuBPRxs8FkGPdtGTAk3GEk7dvvXEwCiCECXR+bxg0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=C7zxh3D5; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AwYe4Ns2; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="C7zxh3D5"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AwYe4Ns2" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60J9143J903258 for ; Mon, 19 Jan 2026 12:17:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 1+R1NURe0aOQBp8d0tJX9/rPnT/UJh1DxdGIX1sR33s=; b=C7zxh3D5av3+lFSy TDVSFodXBe0LK+CdMRyvl+zIIZSy79R6llY5l4BiNEFbe/bJnLOukNGaQxj130xt 9tymzsvPWCY+NVGZtW07cPhPfq+dklHbkGfKIWNjGDK7WkYvXD/+aE85/kKBXtmb hwtEkcyL1gaKRCH9KOV+64q5cl3sILjgGtV4+/a3Vxsjeyl1DGVHi5cZu6kaBEeb KfsucreD55oUBkp2U6T7kFQ0HQnipAdZaUTyJ7BVVR/73Lj5xnNDCuaxW/oFsd81 tB69RpSQiTWOi1MnUAGZBTuuaeQbEvMg7ptXR1tIv2ZHfv7JH998pzkmsusAD1tU 2z2kfg== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bsb4ysspf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 19 Jan 2026 12:17:25 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8c6a2ef071dso1271378685a.0 for ; Mon, 19 Jan 2026 04:17:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1768825045; x=1769429845; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=1+R1NURe0aOQBp8d0tJX9/rPnT/UJh1DxdGIX1sR33s=; b=AwYe4Ns20XnFf4Is+2cKxrF3a1Eorm1VcfngrEfFH803AbQz9VIvwZs+Vcomvc7b0R xxqkFwYi2ua8ip9LRHvgK/rFCnfhWeEzCpYu+Jx1aT+WVRIHp1G8UVTHWsHRSDMmXUYx BN8AkOEB1H/sL3qN/Oq2AfyOGgF+Qjc/7H8IzkYQaueAPmagY++50BEeGoqERU95VLOQ VN0cprnaOEBYrSEPQk8rNGrq4NG+KUYC8dm16GwNuDkuE6XFf0zhXTzcgoDJ5stSLD1A o4HjhB4w2xX/GIfuMdnVnZFrRFjN4V6+1+qoevztM4WLX472lE8UfU1r5060NSzGJxSg D7BA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768825045; x=1769429845; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1+R1NURe0aOQBp8d0tJX9/rPnT/UJh1DxdGIX1sR33s=; b=ckDXYP0SP1rtgMCmMCSD1xY1lbCTz4dN8+su0hUcVAWa0S951Mx4CuAgtXZxKJmz+B KIzx/cy9CmaKucWUwJMPKxIp7ZhOu1za+nksimdkEHsLwfb8lXhtXs9p8Y9ct6/HkM84 QZThOWiNZ1fBK+xWmkoE8K4xrlpGObJoSFUY3hKj19LbG1IxEebymARiUPEpkc3Q3nT5 957kg+1UXo3eHsJpTA7PsbZVbeOmltFBKEQkUpJoZvQBK4QMRmjh8+LvxSs4+5pObesI L6KhOEsr6Am+VC7QFCV/fNSwH+FKxyPb5ooMYYErl5N3GUGArtIDtXj8dOrVe5lXr4dI C/Dw== X-Forwarded-Encrypted: i=1; AJvYcCU8GaAQ6Hz9FV7ExMAeR7Z9Yb0y8zdX6B9gaCW2qHQqtTMIsBh2ODKZZCRncVMRYekueO64dvMZFC5a/S8=@vger.kernel.org X-Gm-Message-State: AOJu0Yz7QdsYmbhD9ZVZOG5hZEa4q4zFv66oJOcwvXaTeO6ONTah8uUa 8yspTDuxfWfIryvkEkmMu/om7jCeMWdI1rfKuCPqBx6dZAQWzU+zYr48ZxKe9PMey5QbCqSWaON mZmRP2J8bcBQ+RynfomqwXa4mv5m5FFF46AUZsvx17fYAdrSPpAKsVC0YWsDEG8r+Y28= X-Gm-Gg: AY/fxX5kW5acOemwrO+Ek/pF51x68ko3WX+STzFGYyidUqzmBG/AhXZBg9WCLaxD8ry iSGko7mROvcJGMvDfw4l2Z2RmfmiVr9tY3i3VQVW16WQKUkybNqMA64rjjo7BFxpZXp6YZAMjFT Q9f2ujyJMhmgnoCKKsE5uUEf/1hJYk33F6SquXPWg2UlkGivkz5BGD08OTOjYNMTem8i2eF8Fsg m4hTFz+fOa03Znv3j4clftmaOmW/vlwJUCM1A3t8WATH2U2lGvTW2dNkr6iE1IQo+voQJvJITJB Z/NbVmXV2X51pSTSBEHVpipDBCSNt8Hn0LRxAiFbSFqREWhbpsQCCY349kmMdTORc0aGrTLrETh xWI7FR+Wqu+1fYnhic8Zrew+OOZU+GQ9cIfL9s41IBkP1/T0rDPugo3OVyoveGlsSbzNCs768sw ptkuqGFG9PhdjsBvYbDrvFwaQ= X-Received: by 2002:a05:620a:3947:b0:8c5:3495:87df with SMTP id af79cd13be357-8c6a691f35emr1541594785a.38.1768825044752; Mon, 19 Jan 2026 04:17:24 -0800 (PST) X-Received: by 2002:a05:620a:3947:b0:8c5:3495:87df with SMTP id af79cd13be357-8c6a691f35emr1541590685a.38.1768825044215; Mon, 19 Jan 2026 04:17:24 -0800 (PST) Received: from umbar.lan (2001-14ba-a073-af00-264b-feff-fe8b-be8a.rev.dnainternet.fi. [2001:14ba:a073:af00:264b:feff:fe8b:be8a]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59baf3a17b9sm3274641e87.92.2026.01.19.04.17.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jan 2026 04:17:22 -0800 (PST) From: Dmitry Baryshkov Date: Mon, 19 Jan 2026 14:16:40 +0200 Subject: [PATCH v4 4/4] drm/msm/dpu: fix SSPP_UBWC_STATIC_CTRL programming on UBWC 5.x+ 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: <20260119-msm-ubwc-fixes-v4-4-0987acc0427f@oss.qualcomm.com> References: <20260119-msm-ubwc-fixes-v4-0-0987acc0427f@oss.qualcomm.com> In-Reply-To: <20260119-msm-ubwc-fixes-v4-0-0987acc0427f@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Konrad Dybcio , Konrad Dybcio , Vinod Koul , Stephan Gerhold Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org, Val Packett X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2999; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=hK4mO/cagHj3HVYjVR3i3QZO8ZbZgg9vO0ANe18SGRw=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpbiDLpqeQzOXgyf3tXynVkxvGog9EgSHQgbY48 /KeMdsJMhKJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaW4gywAKCRCLPIo+Aiko 1e/2CACcDaJ6s6kfm+vHnD/D6JZRlYJKgJpb6vVJ+CubGxlksC2JZK/iBXaKvdU435oeEqvlR+A Yt+GmgPjHbmDSGXVLx8gj8/vu6AtqxKz3yRy/WpPcEgOI9N2Yap9grQHG4IC1C4UPJwFHtUELzK CLmBgwHX8VLI/U9iqp34YeYlZLjAvpNqya8tAxv5zaoHoR+3mx7N0i1XzUmgK5OgtWFa9LYwFea XZLzz6LRRZH74S26+h7Ue79tjdrJ58maQ1Ic/d1syDvrKPI2ksCHPBPrPaIEoo6MhwayjVDqXhd gkNlqZWnjhlKc8SR1SOCwK/TmDh9XJ4m2GldNLuMdoY8AQW+ X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=SNhPlevH c=1 sm=1 tr=0 ts=696e20d5 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=7FpWx5GjbivZIX0HvvoA:9 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE5MDEwMiBTYWx0ZWRfX/NNV+DibNTow dluZiI8S1gC9VaE2E+xBRNn10PHXaQjKmgJ/HRSUz2AfLtFilQzENm9buP3eCFwlC/mkhrQdwrI 4L/FkUS2kYrlaA3QIy4McoFAq3Q07oJe8awAfNJqYW5YwluweohevWBM1fX2G54FHoOFtazGK0M ZtOmOrtwr+ini7foD1BDiF1nnyzbMte3kFN0GnGE3HSTr8tsovimRj4vYmTWTXER4xeEeFXMfhM KWnWW2Pz19FoUnufm9k6tFxl4XA34quPOOtQGdhLfr88Wan61+DeN/GQ5pxaA29Wsc+DJ9yzLf5 j8Q2LKPxHRyF0bIGCk1UbZuc4m8X6h6rApBY7887MVII7c7SP2WNzIiSSjv9S8VFMv3ProVpi5i IsXTXRap6r3LbE/gGKlOp7nBXl9SSdtQcoqjZDnLvpClpMJeQbGJpTHzP5kWufg0zGCtQgPPMYs QsEAmcc9JCX5yf+bKjg== X-Proofpoint-ORIG-GUID: fmglKQhhDAlkiwQkGY_GZNTZiU02RnA8 X-Proofpoint-GUID: fmglKQhhDAlkiwQkGY_GZNTZiU02RnA8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-19_02,2026-01-19_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601190102 Code in dpu_hw_sspp_setup_format() doesn't handle UBWC versions bigger than 4.0. Replace switch-case with if-else checks, making sure that the register is initialized on UBWC 5.x (and later) hosts. Fixes: c2577fc1740d ("drm/msm/dpu: Add support for SM8750") Tested-by: Val Packett # x1e80100-dell-latitude-7455 Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 45 +++++++++++++++----------= ---- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c b/drivers/gpu/drm/= msm/disp/dpu1/dpu_hw_sspp.c index 6ff4902fce08..f275b14da4ff 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c @@ -284,6 +284,7 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pipe= *pipe, =20 if (fmt->fetch_mode !=3D MDP_FETCH_LINEAR) { u32 hbb =3D ctx->ubwc->highest_bank_bit - 13; + u32 ctrl_val; =20 if (MSM_FORMAT_IS_UBWC(fmt)) opmode |=3D MDSS_MDP_OP_BWC_EN; @@ -291,30 +292,32 @@ static void dpu_hw_sspp_setup_format(struct dpu_sw_pi= pe *pipe, DPU_REG_WRITE(c, SSPP_FETCH_CONFIG, DPU_FETCH_CONFIG_RESET_VALUE | hbb << 18); - switch (ctx->ubwc->ubwc_enc_version) { - case UBWC_1_0: + + if (ctx->ubwc->ubwc_enc_version =3D=3D UBWC_1_0) { fast_clear =3D fmt->alpha_enable ? BIT(31) : 0; - DPU_REG_WRITE(c, ubwc_ctrl_off, - fast_clear | (ctx->ubwc->ubwc_swizzle & 0x1) | - BIT(8) | - (hbb << 4)); - break; - case UBWC_2_0: + ctrl_val =3D fast_clear | (ctx->ubwc->ubwc_swizzle & 0x1) | + BIT(8) | (hbb << 4); + } else if (ctx->ubwc->ubwc_enc_version =3D=3D UBWC_2_0) { fast_clear =3D fmt->alpha_enable ? BIT(31) : 0; - DPU_REG_WRITE(c, ubwc_ctrl_off, - fast_clear | (ctx->ubwc->ubwc_swizzle) | - (hbb << 4)); - break; - case UBWC_3_0: - DPU_REG_WRITE(c, ubwc_ctrl_off, - BIT(30) | (ctx->ubwc->ubwc_swizzle) | - (hbb << 4)); - break; - case UBWC_4_0: - DPU_REG_WRITE(c, ubwc_ctrl_off, - MSM_FORMAT_IS_YUV(fmt) ? 0 : BIT(30)); - break; + ctrl_val =3D fast_clear | ctx->ubwc->ubwc_swizzle | (hbb << 4); + } else if (ctx->ubwc->ubwc_enc_version =3D=3D UBWC_3_0) { + ctrl_val =3D BIT(30) | (ctx->ubwc->ubwc_swizzle) | (hbb << 4); + } else if (ctx->ubwc->ubwc_enc_version =3D=3D UBWC_4_0) { + ctrl_val =3D MSM_FORMAT_IS_YUV(fmt) ? 0 : BIT(30); + } else if (ctx->ubwc->ubwc_enc_version <=3D UBWC_6_0) { + if (MSM_FORMAT_IS_YUV(fmt)) + ctrl_val =3D 0; + else if (MSM_FORMAT_IS_DX(fmt)) /* or FP16, but it's unsupported */ + ctrl_val =3D BIT(30); + else + ctrl_val =3D BIT(30) | BIT(31); + /* SDE also sets bits for lossy formats, but we don't support them yet = */ + } else { + DRM_WARN_ONCE("Unsupported UBWC version %x\n", ctx->ubwc->ubwc_enc_vers= ion); + ctrl_val =3D 0; } + + DPU_REG_WRITE(c, ubwc_ctrl_off, ctrl_val); } =20 opmode |=3D MDSS_MDP_OP_PE_OVERRIDE; --=20 2.47.3