[PATCH v2 0/4] Retrieve information about DDR from SMEM
Dmitry Baryshkov
dmitry.baryshkov at oss.qualcomm.com
Thu Apr 10 19:49:34 UTC 2025
On Thu, Apr 10, 2025 at 07:43:43PM +0200, Konrad Dybcio wrote:
> SMEM allows the OS to retrieve information about the DDR memory.
> Among that information, is a semi-magic value called 'HBB', or Highest
> Bank address Bit, which multimedia drivers (for hardware like Adreno
> and MDSS) must retrieve in order to program the IP blocks correctly.
>
> This series introduces an API to retrieve that value, uses it in the
> aforementioned programming sequences and exposes available DDR
> frequencies in debugfs (to e.g. pass to aoss_qmp debugfs). More
> information can be exposed in the future, as needed.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio at oss.qualcomm.com>
> ---
> Changes in v2:
> - Avoid checking for < 0 on unsigned types
> - Overwrite Adreno UBWC data to keep the data shared with userspace
> coherent with what's programmed into the hardware
> - Call get_hbb() in msm_mdss_enable() instead of all UBWC setup
> branches separately
> - Pick up Bjorn's rb on patch 1
> - Link to v1: https://lore.kernel.org/r/20250409-topic-smem_dramc-v1-0-94d505cd5593@oss.qualcomm.com
>
> ---
> Konrad Dybcio (4):
> soc: qcom: Expose DDR data from SMEM
> drm/msm/a5xx: Get HBB dynamically, if available
> drm/msm/a6xx: Get HBB dynamically, if available
> drm/msm/mdss: Get HBB dynamically, if available
>
> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 12 +-
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 15 +-
> drivers/gpu/drm/msm/msm_mdss.c | 30 ++--
This misses the dpu_hw_sspp.c, which uses ubwc_config from msm_mdss.c
(but the config isn't being updated with the acquired HBB value).
I'd suggest behaving it slightly differntly: can we please have a helper
module (in drivers/soc/qcom) which would return UBWC configuration data.
We can start with HBB values, migrating the rest of UBWC-related flags
one by one.
Also, were you able to solve the issue of the platforms where GPU and
MDSS disagreed upon HBB data?
> drivers/soc/qcom/Makefile | 3 +-
> drivers/soc/qcom/smem.c | 14 +-
> drivers/soc/qcom/smem.h | 9 ++
> drivers/soc/qcom/smem_dramc.c | 287 ++++++++++++++++++++++++++++++++++
> include/linux/soc/qcom/smem.h | 4 +
> 8 files changed, 360 insertions(+), 14 deletions(-)
> ---
> base-commit: 46086739de22d72319e37c37a134d32db52e1c5c
> change-id: 20250409-topic-smem_dramc-6467187ac865
>
> Best regards,
> --
> Konrad Dybcio <konrad.dybcio at oss.qualcomm.com>
>
--
With best wishes
Dmitry
More information about the Freedreno
mailing list