From nobody Mon Feb 9 09:09:18 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 B96D331A07B for ; Sun, 25 Jan 2026 11:30:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769340619; cv=none; b=CEBXv8Raw3cSlmf064SwVkm0n0cX9eXIPPXeiOEK7svCYdE8kR+HTctQ5wBLukD3D/a8SuKZq0Se2TjS+8CthvsuWBvEHmACj0ZbEz+xYKsXEcvVNTg4qRSK79T7qMEctny+ke/6w6C0wh4JtbGCMBy2gLhPIQ8FA4Gdu9Tsv8g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769340619; c=relaxed/simple; bh=EVY6tWzslv4AHxvSFMySxldw7RL/nbikmol0sYNXrdU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kxbCrpfCJDEX8z3O3XEboNiJxnRm+DypRzo7ebaOUrA2bspX7mXqZJCCf0XUj7z4G09uaClj+KkvfnofDRA1WU6LJb8/9bZNJVZ1ffbdD27RE4muSijAkmLMjVWJB8gaANBQGJBnZhfl7HbeWamVzZMmzD0JfhO7+lwqImMbq+I= 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=HzX9Zpij; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HqNej0v+; arc=none smtp.client-ip=205.220.168.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="HzX9Zpij"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HqNej0v+" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60P5LIdQ2352991 for ; Sun, 25 Jan 2026 11:30:17 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= ZWyU5iLBcslHTuzqAkiDaYWx6VDtoZBu/CjOdAj1NDk=; b=HzX9ZpijRRWNYdG+ BzW6dFzlHeJl5zCl2DxawFhP2HpaQyW2PXmLetlcn5XBmX/lnD8tfItkcIP7jUhV SS+kp4Z4peRcp/Lt4O7ZreSOKTLEwbVqu58hK2MHETOz5NYS8x/m7j1D3Xp1w2Cf bmob68oxBoJpI8SwOtnzNL6feONebdK9MDLqcz8M+dbxdPSEwVfAJ95apx+FGVYd +QgG/Kqf01fgCMd1nwuYkoVuANSfczeDkbA+JAHvUrIYxWGbYT4gflMWjTZrkH/7 Du1j+n8mZguCuZMMZUQicz3ZRKMGWxCb6NeDqB3IoRgl95vq/J0fnr0/KUTAL0Qy IUWDBg== Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bvw4wsh5e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Sun, 25 Jan 2026 11:30:17 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8946448adbdso118468596d6.1 for ; Sun, 25 Jan 2026 03:30:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769340616; x=1769945416; 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=ZWyU5iLBcslHTuzqAkiDaYWx6VDtoZBu/CjOdAj1NDk=; b=HqNej0v+kGqCAuaMdtAMb80yYtDd6HfbaSTYyti7cyGp3T7PbU9Kaon0omaR7lj5nC USdYUDP3lzcV2USrOTXCvkFgJ9AZ9hjGP5UKFOB3PRsxW82sN0/31mkeU9pbkNxpPNVU SEshXwXMuqZoFvkeaiSkZbylY8eGG2/BaXvoXWzyUPnkn843N+2lx1uU9aMxadBnWLbQ ppthB6yUKtoK++GRowMPhjaRxZ4/CxllcOoGXNwgjfu5ULV4AAvT5YKDMwRF857l50an l8/Y1lvKHQy3eUEl+r9L/9zWtzmhcgkCBk36txjJ7Psu95X0dgwZMqePjuPYllim6GGl ZrrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769340616; x=1769945416; 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=ZWyU5iLBcslHTuzqAkiDaYWx6VDtoZBu/CjOdAj1NDk=; b=fVaFedCMKX7LRt61VFLkbdzXI8UMIpT7HtasL6LEE06a88RAXaYo/JqnqeAn96/DE1 O8KxErhu99eFSnWszMMJgi5ANIKft/0wUYqNiJRIX1b5Z+6XTkAdZ/2TyGy9gH2rBpSY 7OqnCdjKAAh2xEWbU/hfBReAqXnzibr18KiEdYs5O3zIMFWh5bfd6wtGCMCt45vOTesl z5ULMdlIJNaipWa7L+d9Iw/5OjcwuJSSKRAauJ11vHMgHZDfr60h1W4i+uixlAjb3hDZ ZSBRJoai5PZ45P40xfdCBm2z/6TNyOPH98r0FsU7cf4PCplyZe7JKlK6lqELLNYWBZvj d9xw== X-Forwarded-Encrypted: i=1; AJvYcCWBmil3iSB5o/g9h4MPTF0qh/hrQZxN6mKlgpE0Ztjo+pOabAL/v6/PRSChXMip+x4250w7FPyai3oRPRQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yxdsy47Ln6OdMqX13mgOmg/U/4SrEWDDPBC4RV8rInyFAsBOcVs 1t5/DL4ravZdzBJrvdDx6ZoqagIyvTyUpe5HmiM0ZLd/9IHrPw4bn5xeM19Lj4SzHMToTrF1oGm u/T0p7ZJAZergs4m02Z5iIK8LyFCwW1Pvl5I5Li/DnaNWYhDU4z9/xD4zdzkeKBIlV1c= X-Gm-Gg: AZuq6aKdBMsw+ebb27j3eZNSohk9LWQgJ+K+rd4dUs3OKgfvqID3oRs5azjh4vbIC2Y slEadGe9gHyiOwZXu7tXKvpBueVTz/S4DpAAeE1xK5dDoQI+0Fv8UDDmYXXL43kdbViQoHsolAd rkaeX1RlwNvx1lAlDaTj53yCE3BwsDDeBu6WYlyfkvry0NM0p27obqLmx4Bgfjo+MZ0WZo1MiXb ubMJ7zYPPTTAVDqy4tCk58Fmu3OnsH+kjJyFvxKFtS9FamOhuovYnsJejCbBQj33QHZzLEMKA/y TzDn/gwdWNbifPWickGkLKWWBhv8Flv/oyUh5FkHgvdGzNVjK46LNq/YuRjORMbBV28l7qKmKdU Rs2gR8Y8DVeFSUxCFoPLsk5+DzuoqRXEjFJLb/MZieOZOnVOjx3CYdNGj3uqVPoHif0iyHxQtul hffkicIorj2+/w018o3iNAJeU= X-Received: by 2002:a05:6214:301c:b0:87c:152c:7b25 with SMTP id 6a1803df08f44-894b06cb233mr15709956d6.13.1769340616184; Sun, 25 Jan 2026 03:30:16 -0800 (PST) X-Received: by 2002:a05:6214:301c:b0:87c:152c:7b25 with SMTP id 6a1803df08f44-894b06cb233mr15709786d6.13.1769340615792; Sun, 25 Jan 2026 03:30:15 -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 38308e7fff4ca-385d9fec3c9sm18583451fa.15.2026.01.25.03.30.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Jan 2026 03:30:13 -0800 (PST) From: Dmitry Baryshkov Date: Sun, 25 Jan 2026 13:30:04 +0200 Subject: [PATCH v4 2/9] soc: qcom: ubwc: add helpers to get programmable values 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: <20260125-iris-ubwc-v4-2-1ff30644ac81@oss.qualcomm.com> References: <20260125-iris-ubwc-v4-0-1ff30644ac81@oss.qualcomm.com> In-Reply-To: <20260125-iris-ubwc-v4-0-1ff30644ac81@oss.qualcomm.com> To: Bjorn Andersson , Konrad Dybcio , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , Akhil P Oommen , Vikash Garodia , Dikshita Agarwal , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, linux-media@vger.kernel.org, Wangao Wang X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1781; i=dmitry.baryshkov@oss.qualcomm.com; h=from:subject:message-id; bh=EVY6tWzslv4AHxvSFMySxldw7RL/nbikmol0sYNXrdU=; b=owEBbQGS/pANAwAKAYs8ij4CKSjVAcsmYgBpdf6+2Qgol13c0DjNgwyXJ5JTgAJs5JFoRZAeE ea6G4tgkCeJATMEAAEKAB0WIQRMcISVXLJjVvC4lX+LPIo+Aiko1QUCaXX+vgAKCRCLPIo+Aiko 1Z7NB/sG9VpkDf09AkabCBI7DhBitFyP1ZPKOk3ojEwX2wkoXQVXsCPiYxUDI5rFMPGZRMKwToY IvFIzI49YRSxGuQIKnNgzQ5qXvj78pwquFXZ9J92+/ri0tjQFq5s1xmK/l/OoQSj7E31gewaRKf UsKNUCseJ/TSxaWxK7fPCdupRM+cn1BAk9x24wFpwIyCPpfs2BWQfNWxBMChe5PVHZntNsi5DCe /lutMN2ZhUffkNA64Tmq2P1qrSuN/UmAYGY7C0DMBezqbkEbc6cc0Ri9OOBjuQS+RKqVc/4L0qW SvyGNnLtibbRUjYS9jt1mzpkCXSZFLHnd0UE2OLD9taWsVY0 X-Developer-Key: i=dmitry.baryshkov@oss.qualcomm.com; a=openpgp; fpr=8F88381DD5C873E4AE487DA5199BF1243632046A X-Proofpoint-GUID: 43ShlrbXvJhLn2AFre8ZGFCcAtYStW9j X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTI1MDA5NSBTYWx0ZWRfX18bNqxHdAhp4 51qZJoYFxVZBUwT/mVeAfNxNaz0Py1026za46d5sUhuvN88QHCgS9cPyyQUxlah1TsAlDftV6Jj o2XlcdwUqG5bPe486ptvuF6t5/2olUQSXFLs7nMESmw2clxhOy7kaIc437i2UI5ObwZZ015n/Eu fDUXuZsVunQ4WYT9Fgx2oFQzpI227ZeT473Vtw4CqdVafLXsoRdaSL59ebPi7XQtEmPeRQAL0kL Qmz5nu11qwGmK19GWMtkI8/YYUI3QY8/1cpRk12a15h/HJQ5QkGMi7IRqOzda2r2sJTo0Szz1M9 ffLbPNrRBF42/RoSuobHN8l7WFSmjOmBaGH+tyLBl/iFUWnY6WpNu+3r2ySA3Giu1CSm8j2rzZU FlZWYqJr/DuwcMEcjeefJ1e/b1n8ZYv9PbnY3XEJQCN1jwqhxgvIxQoi1Tpj4U0zoDqA9sr5C1P lnjIZGewQTAbgpCzgpQ== X-Proofpoint-ORIG-GUID: 43ShlrbXvJhLn2AFre8ZGFCcAtYStW9j X-Authority-Analysis: v=2.4 cv=POgCOPqC c=1 sm=1 tr=0 ts=6975fec9 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=0nnIczzv09DC-zKiMkwA:9 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-25_02,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 impostorscore=0 spamscore=0 bulkscore=0 adultscore=0 suspectscore=0 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601250095 Currently the database stores macrotile_mode in the data. However it can be derived from the rest of the data: it should be used for UBWC encoding >=3D 3.0 except for several corner cases (SM8150 and SC8180X). The ubwc_bank_spread field seems to be based on the impreside data we had for the MDSS and DPU programming. In some cases UBWC engine inside the display controller doesn't need to program it, although bank spread is to be enabled. Bank swizzle is also currently stored as is, but it is almost standard (banks 1-3 for UBWC 1.0 and 2-3 for other versions), the only exception being Lemans (it uses only bank 3). Add helpers returning values from the config for now. They will be rewritten later, in a separate series, but having the helper now simplifies refacroring the code later. Tested-by: Wangao Wang Signed-off-by: Dmitry Baryshkov --- include/linux/soc/qcom/ubwc.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/linux/soc/qcom/ubwc.h b/include/linux/soc/qcom/ubwc.h index 5bdeca18d54d..f5d0e2341261 100644 --- a/include/linux/soc/qcom/ubwc.h +++ b/include/linux/soc/qcom/ubwc.h @@ -84,4 +84,19 @@ static inline bool qcom_ubwc_min_acc_length_64b(const st= ruct qcom_ubwc_cfg_data cfg->ubwc_dec_version =3D=3D UBWC_3_0); } =20 +static inline bool qcom_ubwc_macrotile_mode(const struct qcom_ubwc_cfg_dat= a *cfg) +{ + return cfg->macrotile_mode; +} + +static inline bool qcom_ubwc_bank_spread(const struct qcom_ubwc_cfg_data *= cfg) +{ + return cfg->ubwc_bank_spread; +} + +static inline u32 qcom_ubwc_swizzle(const struct qcom_ubwc_cfg_data *cfg) +{ + return cfg->ubwc_swizzle; +} + #endif /* __QCOM_UBWC_H__ */ --=20 2.47.3