]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
soc: qcom: ubwc: add helpers to get programmable values
authorDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Sun, 25 Jan 2026 11:30:04 +0000 (13:30 +0200)
committerBjorn Andersson <andersson@kernel.org>
Mon, 30 Mar 2026 17:44:58 +0000 (12:44 -0500)
commitb2571ef8d4ec9bb636889a9132090bcc3449792e
tree9d37e2e6e866fc53ef6cf41c6e98d96e53beec07
parent68a66a44af6e196ca426d1250104d3018ed9e74b
soc: qcom: ubwc: add helpers to get programmable values

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 >= 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 <wangao.wang@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260125-iris-ubwc-v4-2-1ff30644ac81@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
include/linux/soc/qcom/ubwc.h