Message ID | 20250410-topic-smem_dramc-v2-0-dead15264714@oss.qualcomm.com (mailing list archive) |
---|---|
Headers | show |
Series | Retrieve information about DDR from SMEM | expand |
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@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@oss.qualcomm.com> >
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@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 ++-- 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,