From nobody Tue Apr 7 18:02:52 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 5B28B3876B0 for ; Thu, 12 Mar 2026 13:30:06 +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=1773322207; cv=none; b=EEQhZ6/sHFJ6y4mDUB6zgmVcsb52WAM3rQNJ4NozFFKxjcp4bDl3MgGyVH1LYfKXFmGakaW+sHfcX0TxNSgDo6+sknvjDbI5HPqts9yA6NOydQH0YKnJAGsNUfDfLV0s/sx2SaLO0MtJoUw8wg6phTd8WTDW5sF9SaFS0rjksJk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773322207; c=relaxed/simple; bh=OzjscEd17vm0sEmzoIKCQmPPncmXbh08UBSisc3cBL4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jbXHBA+1sFcLrn/m3X62rIl7t1T36rLWrmCtNk6XzNxd77W7moFZ62HTv6MVMCfD12FjZM4N3w8FmXAcAlUSHea7XqqVuEt6qjvWKXE7KgczRN884jCCg8faXPoYh9clW0DjtL/yZFOGfSezVI0TH9gzLHBVd7bzQDe/WY2Tlvs= 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=U48nWBVH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RFIM9NQ9; 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="U48nWBVH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RFIM9NQ9" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62C9x2Bs1756014 for ; Thu, 12 Mar 2026 13:30:05 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= ibXJK/eidhWImTas3nSeFi3FQ09IZIZ6J+RmgmMVE8E=; b=U48nWBVH4h9ccIGx G5G9l+/VMgyjuh5ma+kKIydrM2tmHFnmH11tmPWqFdTqAainp5KKANP0w3kEoJyo 51xLDDT5z7xL0441yX4uOQLBGTCovR3vH02ZmcGY7Uj+heD/jeLu92Nff4x4MVVm da9xGv0HRCuIJ6hu/+QC18YJazkJqOaX8pqj6cvZpsWI7bFqU3HA9gJ31Hav2Ydb /DqdeIIBIMgci6piqU0Q75uuo4h55o9UcjQyeEHNqOyp0Q0Ra3n9Mp1dTm25HsBz AZZ9oQs+IM0NPeTIOVi6u5rT5ELcAhNw3OkCzN8hR05xWdTeDTFFzVBAxz9k4sQn P28mwA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cuh53j6vq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 12 Mar 2026 13:30:05 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cd7de0e161so653564685a.2 for ; Thu, 12 Mar 2026 06:30:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773322205; x=1773927005; 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=ibXJK/eidhWImTas3nSeFi3FQ09IZIZ6J+RmgmMVE8E=; b=RFIM9NQ9WTf6o0YsMBJECXOndl8mWXv7WQ3eCi9pnuVuwnHe2tyfwXN44QwneKQ7IX nWSje4mi0cfcpw8sDT+H8rcZax+T5wuG9qrSzn1jnJvSMTO05dqGsZGdvUFq3b/UOA9u h3kyfgq/Vs3+f84kb6FagG/Xb14OBNSSbW90P1qmUSy4JgLGbTDEZ4Fn/XCMhBs96r7i Dxil+Saftj0krBbsv7njfT5HnnU1CkMV8GwQUI4qsgbu3p12lqTd1rrq2FippsSPP0vZ duwKPkxN1AfbAJ6x3IVLF+9bfDSAaKXekCzhaVVviYr6s9QKJSol2W/EW920SwiqqK6O uHgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773322205; x=1773927005; 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=ibXJK/eidhWImTas3nSeFi3FQ09IZIZ6J+RmgmMVE8E=; b=gBvqcQEzxD80hg0PMaN1He3ovdPmo4uBYxxaP8JxP+WtLRYj+9I5NEsjeEIaIKnu2p uVJ5vRUHEPYMfLucO748xocyxDN89GJkbrHSAOvhR2wPG6bVdoBZ1kRA2HWMJaC28A47 oAoEKp6cLbTn8yX42xwuR+ntzqXJvzpUEwNjA3qaVhEoU5QWFV856fwja928pDXy+pwH 5bojdYv5SRjiq1+ZN9sRvtsRvjBQmGAvtcyFx01w/QHmUYoAsOFYo+i1YrUSVDr/PI6a 8+KzgXaAoR5vpUpWbZCVOnQ9Gd13VSbCC08Bj/MGT1rrA4NpawT/ExqII+2ml4OxsfTs VnlA== X-Forwarded-Encrypted: i=1; AJvYcCWXhaIrpbabqJsApbYHC/jxMS1cWfhsoeQYOHVs0K5vphRNYOc6dZAHOSO+bCISCUZhRNjLPHXLvmnLVOU=@vger.kernel.org X-Gm-Message-State: AOJu0YzGQmzG8+egkrz7XQsxIeuFsg7QKo89qs2B8HxQ8LDO0Yc76qml RNQWE6YTYUt8+cHH/3LiX4DLao+hmEJMIx7ibcCD+8eGhQVDK0C5REIXYq+Co1ER3fcIYwyfVvC Hrypvkp7X8DBBFSRcRaeoprO49P8gtitzbA0rCvjdwpa1pWVDUtXklusAKkvteyccRJk= X-Gm-Gg: ATEYQzwzUi0q9aDTaRDSmpD6Z/sFSd3qfpVz1Bx2tmVvEZpcH0ExapbphR42T98maDV 0ndfJAA+A85ZgEQeIA2DIrF8M5WJ56yZTkWHYiqbvuEZYSSmmLpGjASNxNkZOa6YVos1GkrsGZ4 bfAGIcndXGffyBSf2FDktVzvNkiNfCnq2gLMFS8RVMG3rvonkSINpiLZ9GFdZvclFQMbJ62maj3 Gh3GJ0k13hlBir+JPLp2WAiPCreksyILsCCLcNZkNFXtXwvHzJTzFIFikTUnA30eNfLa084KuSJ ezSNdB0/TdeKgmdWbzNWnIxCE4hN+aiCQD5hLNBwOhagC2kcvim1B4xU/VTBhpZeu4Aju/J59V+ a9/wuzIWv2XIpzFPPrYNfBjmHajgXGnxUAlUhUaxHoPymRLodU7Kxz3VTVNNlBwQP1gYE3dWMOE co+622LptXc9tV6xrVc4PdPTTBhVhFHi8HLSw= X-Received: by 2002:a05:620a:4413:b0:8cd:917a:2026 with SMTP id af79cd13be357-8cda1a8a5ddmr897758085a.79.1773322204439; Thu, 12 Mar 2026 06:30:04 -0700 (PDT) X-Received: by 2002:a05:620a:4413:b0:8cd:917a:2026 with SMTP id af79cd13be357-8cda1a8a5ddmr897751985a.79.1773322203931; Thu, 12 Mar 2026 06:30:03 -0700 (PDT) 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 38308e7fff4ca-38a67d617e1sm8646671fa.9.2026.03.12.06.30.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 06:30:02 -0700 (PDT) From: Dmitry Baryshkov Date: Thu, 12 Mar 2026 15:29:40 +0200 Subject: [PATCH v3 19/27] drm/msm/dpu: invert the order of UBWC checks 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: <20260312-ubwc-rework-v3-19-b7e8f800176a@oss.qualcomm.com> References: <20260312-ubwc-rework-v3-0-b7e8f800176a@oss.qualcomm.com> In-Reply-To: <20260312-ubwc-rework-v3-0-b7e8f800176a@oss.qualcomm.com> To: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Bjorn Andersson , Konrad Dybcio , Akhil P Oommen Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3131; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=OzjscEd17vm0sEmzoIKCQmPPncmXbh08UBSisc3cBL4=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpsr+31jp24c7kNb3Kn/dSjdS4l+mxF8W1rI8aW F/HpdgD36qJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCabK/twAKCRCLPIo+Aiko 1YtBB/0drMmDeVpRsOqPVuUA9kPWhmGIlenEluBir77EGPRRGSpKMOnfXzFsdoDCU6u7C+1NXdV e9FMebCHKxWML6QKtiBZNGLOCuRzB/h4Q+ZlOKLSyazTVaTkv2eKpy3bR4tWABzAyeDVkitQLBX 41+S0155PayZa5CCA//b5wFm6s/MRpPcUVWFJbFjBEqz6AJNVvBDJ6xAj1q5secQEGB4WTtLiIO u3GfRz97H3+/jJ7JWGXGQh1XNu4nwMIfrT6iBMY8MS/n81lZen2anVo/Q86THWuhM14Vm044UtN GQSEMwM8Y7QZGL/UwTiIACMoGDJwQ4C2SKW+OEeG2m+mPjdr X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Authority-Analysis: v=2.4 cv=ZN/aWH7b c=1 sm=1 tr=0 ts=69b2bfdd cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=l4KHnsLLE-ungWRp-RkA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEyMDEwNyBTYWx0ZWRfX4zM3facsAfHX gcivZ7Se78cdVO2MireYfc3N9ONRgYgKF2osZdgbh3O4J7JyNmEp5lKd/Dhqxn1DTCOWcoOXzUg jtyl8yaaHY6NHvSv3emLp8JkzncVr9BtqXlC1QASpCMqxYM1G2PQIXnjRXPp6WzXX4JL3yI8oU+ FbKyzP3bwNhDY9ElUgr30jcfX8jZdh7ktRiM3vfJdYVjJdtYTgWI1XQNsE22q4WZCMLSz2OKGjn QMkFQrhWtBI6dzmYpkDbjUNLxPfLViDAwvriHdeYHrCc04QsTmGL9YKvfHY7Jtd9b21UHGjgmRs bUJqLzD0a+LnxkRDTeI2tJudw0rnG1XLuxbODXWqh9xzo/A44zuLMITfq2vtmKMeu4lZLHXBiC9 2frosrQO9oBfpT5XynNqUshooBOHt26tNAw/vEu3XgqmHJtBltGp44L5cEvEa6WUXE2v/vNMeCC vaB5kWcgCHv95OxkprQ== X-Proofpoint-GUID: _cchh_wTr-ucdY4Ep9GVW2yI1p0AI43m X-Proofpoint-ORIG-GUID: _cchh_wTr-ucdY4Ep9GVW2yI1p0AI43m X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-12_01,2026-03-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603120107 Unlike other drivers, the DPU driver checks for exact UBWC version, making it hard to add minor versions if necessary. Invert the order of UBWC checks, letting the DPU driver handle new minors transparently. Signed-off-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 36 ++++++++++++++-----------= ---- 1 file changed, 18 insertions(+), 18 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 6089a58074ac..b5e50fc1916f 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c @@ -310,35 +310,35 @@ void dpu_hw_setup_format_impl(struct dpu_sw_pipe *pip= e, const struct msm_format =20 if (fmt->fetch_mode !=3D MDP_FETCH_LINEAR) { u32 hbb =3D ctx->ubwc->highest_bank_bit - 13; - u32 ctrl_val; + u32 ctrl_val =3D 0; =20 if (MSM_FORMAT_IS_UBWC(fmt)) opmode |=3D MDSS_MDP_OP_BWC_EN; src_format |=3D (fmt->fetch_mode & 3) << 30; /*FRAME_FORMAT */ =20 - if (ctx->ubwc->ubwc_enc_version =3D=3D UBWC_1_0) { + if (ctx->ubwc->ubwc_enc_version > UBWC_6_0) { + DRM_WARN_ONCE("Unsupported UBWC version %x\n", ctx->ubwc->ubwc_enc_vers= ion); + } else if (ctx->ubwc->ubwc_enc_version >=3D UBWC_5_0) { + if (!MSM_FORMAT_IS_YUV(fmt)) { + ctrl_val =3D BIT(30); + if (!MSM_FORMAT_IS_DX(fmt)) /* and not FP16, but it's unsupported */ + ctrl_val |=3D BIT(31); + } + /* SDE also sets bits for lossy formats, but we don't support them yet = */ + } else if (ctx->ubwc->ubwc_enc_version >=3D UBWC_4_0) { + ctrl_val =3D MSM_FORMAT_IS_YUV(fmt) ? 0 : BIT(30); + } else if (ctx->ubwc->ubwc_enc_version >=3D UBWC_3_0) { + ctrl_val =3D BIT(30) | qcom_ubwc_swizzle(ctx->ubwc) | (hbb << 4); + } else if (ctx->ubwc->ubwc_enc_version >=3D UBWC_2_0) { + fast_clear =3D fmt->alpha_enable ? BIT(31) : 0; + ctrl_val =3D fast_clear | qcom_ubwc_swizzle(ctx->ubwc) | (hbb << 4); + } else if (ctx->ubwc->ubwc_enc_version >=3D UBWC_1_0) { fast_clear =3D fmt->alpha_enable ? BIT(31) : 0; ctrl_val =3D fast_clear | (qcom_ubwc_swizzle(ctx->ubwc) & UBWC_SWIZZLE_ENABLE_LVL1) | 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; - ctrl_val =3D fast_clear | qcom_ubwc_swizzle(ctx->ubwc) | (hbb << 4); - } else if (ctx->ubwc->ubwc_enc_version =3D=3D UBWC_3_0) { - ctrl_val =3D BIT(30) | qcom_ubwc_swizzle(ctx->ubwc) | (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; } =20 DPU_REG_WRITE(c, ubwc_ctrl_off, ctrl_val); --=20 2.47.3