[PATCH v3 0/9] media: iris: migrate to using global UBWC config

Dmitry Baryshkov posted 9 patches 3 weeks, 1 day ago
There is a newer version of this series
drivers/media/platform/qcom/iris/Kconfig           |  1 +
drivers/media/platform/qcom/iris/iris_core.h       |  4 ++++
.../platform/qcom/iris/iris_hfi_gen2_packet.c      | 18 ++++++++++------
.../platform/qcom/iris/iris_platform_common.h      | 11 ----------
.../media/platform/qcom/iris/iris_platform_gen2.c  | 14 ------------
drivers/media/platform/qcom/iris/iris_probe.c      |  5 +++++
include/linux/soc/qcom/ubwc.h                      | 25 ++++++++++++++++++++++
7 files changed, 46 insertions(+), 32 deletions(-)
[PATCH v3 0/9] media: iris: migrate to using global UBWC config
Posted by Dmitry Baryshkov 3 weeks, 1 day ago
Having UBWC configuration in the driver is error prone. For example, the
driver specifies fixed values for HBB, while the actual value might
depend on the DDR type. Stop defining UBWC data in the iris driver and
use the global UBWC configuration registry.

Merge strategy: either merge SoC bits directly through the media tree
(with Bjorn's ack) or merge to the media tree through the immutable tag.
The drm patches will follow depending on the way the SoC patches are
merged.

Note: the patches are compile-tested only because of the lack of the
Gen2 hardware at hand.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Changes in v3:
- Dropped applied and unrelated patches (they will be posted separately)
- Include printk.h, decoupling the series from fix picked up by Bjorn
- Introduced additional helpers to retrieve the data.
- Link to v2: https://lore.kernel.org/r/20260113-iris-ubwc-v2-0-4346a6ef07a9@oss.qualcomm.com

Changes in v2:
- Extended the commit message and added a comment for the min_acc length
  helper (Konrad)
- Link to v1: https://lore.kernel.org/r/20260110-iris-ubwc-v1-0-dd70494dcd7b@oss.qualcomm.com

---
Dmitry Baryshkov (9):
      soc: qcom: ubwc: add helper to get min_acc length
      soc: qcom: ubwc: add helpers to get programmable values
      media: iris: retrieve UBWC platform configuration
      media: iris: don't specify min_acc_length in the source code
      media: iris: don't specify highest_bank_bit in the source code
      media: iris: don't specify ubwc_swizzle in the source code
      media: iris: don't specify bank_spreading in the source code
      media: iris: don't specify max_channels in the source code
      media: iris: drop remnants of UBWC configuration

 drivers/media/platform/qcom/iris/Kconfig           |  1 +
 drivers/media/platform/qcom/iris/iris_core.h       |  4 ++++
 .../platform/qcom/iris/iris_hfi_gen2_packet.c      | 18 ++++++++++------
 .../platform/qcom/iris/iris_platform_common.h      | 11 ----------
 .../media/platform/qcom/iris/iris_platform_gen2.c  | 14 ------------
 drivers/media/platform/qcom/iris/iris_probe.c      |  5 +++++
 include/linux/soc/qcom/ubwc.h                      | 25 ++++++++++++++++++++++
 7 files changed, 46 insertions(+), 32 deletions(-)
---
base-commit: b775e489bec70895b7ef6b66927886bbac79598f
change-id: 20260110-iris-ubwc-06f64cbb31ae

Best regards,
-- 
With best wishes
Dmitry
Re: [PATCH v3 0/9] media: iris: migrate to using global UBWC config
Posted by Wangao Wang 2 weeks, 5 days ago

On 2026/1/16 15:27, Dmitry Baryshkov wrote:
> Having UBWC configuration in the driver is error prone. For example, the
> driver specifies fixed values for HBB, while the actual value might
> depend on the DDR type. Stop defining UBWC data in the iris driver and
> use the global UBWC configuration registry.
> 
> Merge strategy: either merge SoC bits directly through the media tree
> (with Bjorn's ack) or merge to the media tree through the immutable tag.
> The drm patches will follow depending on the way the SoC patches are
> merged.
> 
> Note: the patches are compile-tested only because of the lack of the
> Gen2 hardware at hand.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Changes in v3:
> - Dropped applied and unrelated patches (they will be posted separately)
> - Include printk.h, decoupling the series from fix picked up by Bjorn
> - Introduced additional helpers to retrieve the data.
> - Link to v2: https://lore.kernel.org/r/20260113-iris-ubwc-v2-0-4346a6ef07a9@oss.qualcomm.com
> 
> Changes in v2:
> - Extended the commit message and added a comment for the min_acc length
>    helper (Konrad)
> - Link to v1: https://lore.kernel.org/r/20260110-iris-ubwc-v1-0-dd70494dcd7b@oss.qualcomm.com
> 
> ---
> Dmitry Baryshkov (9):
>        soc: qcom: ubwc: add helper to get min_acc length
>        soc: qcom: ubwc: add helpers to get programmable values
>        media: iris: retrieve UBWC platform configuration
>        media: iris: don't specify min_acc_length in the source code
>        media: iris: don't specify highest_bank_bit in the source code
>        media: iris: don't specify ubwc_swizzle in the source code
>        media: iris: don't specify bank_spreading in the source code
>        media: iris: don't specify max_channels in the source code
>        media: iris: drop remnants of UBWC configuration
> 
>   drivers/media/platform/qcom/iris/Kconfig           |  1 +
>   drivers/media/platform/qcom/iris/iris_core.h       |  4 ++++
>   .../platform/qcom/iris/iris_hfi_gen2_packet.c      | 18 ++++++++++------
>   .../platform/qcom/iris/iris_platform_common.h      | 11 ----------
>   .../media/platform/qcom/iris/iris_platform_gen2.c  | 14 ------------
>   drivers/media/platform/qcom/iris/iris_probe.c      |  5 +++++
>   include/linux/soc/qcom/ubwc.h                      | 25 ++++++++++++++++++++++
>   7 files changed, 46 insertions(+), 32 deletions(-)
> ---
> base-commit: b775e489bec70895b7ef6b66927886bbac79598f
> change-id: 20260110-iris-ubwc-06f64cbb31ae
> 
> Best regards,

Tested the v2 patch series on Lemans and Monaco.
Tested-by: Wangao Wang <wangao.wang@oss.qualcomm.com>

-- 
Best Regards,
Wangao