On 1/13/2026 10:27 PM, Dmitry Baryshkov wrote:
> The min_acc length can be calculated from the platform UBWC
> configuration. Use the freshly introduced helper and calculate min_acc
> length based on the platform UBWC configuration instead of specifying it
> directly in the source.
>
> Reviewed-by: Bryan O'Donoghue <[email protected]>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
> drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c | 5 ++++-
> drivers/media/platform/qcom/iris/iris_platform_common.h | 1 -
> drivers/media/platform/qcom/iris/iris_platform_gen2.c | 1 -
> 3 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c
> b/drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c
> index d77fa29f44fc..878e61aa77c3 100644
> --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c
> +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c
> @@ -3,6 +3,8 @@
> * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights
> reserved.
> */
>
> +#include <linux/soc/qcom/ubwc.h>
> +
> #include "iris_hfi_common.h"
> #include "iris_hfi_gen2.h"
> #include "iris_hfi_gen2_packet.h"
> @@ -120,6 +122,7 @@ static void iris_hfi_gen2_create_packet(struct
> iris_hfi_header *hdr, u32 pkt_typ
>
> void iris_hfi_gen2_packet_sys_init(struct iris_core *core, struct
> iris_hfi_header *hdr)
> {
> + const struct qcom_ubwc_cfg_data *ubwc = core->ubwc_cfg;
> u32 payload = 0;
>
> iris_hfi_gen2_create_header(hdr, 0, core->header_id++);
> @@ -146,7 +149,7 @@ void iris_hfi_gen2_packet_sys_init(struct iris_core
> *core, struct iris_hfi_heade
> &payload,
> sizeof(u32));
>
> - payload = core->iris_platform_data->ubwc_config->mal_length;
> + payload = qcom_ubwc_min_acc_length_64b(ubwc) ? 64 : 32;
> iris_hfi_gen2_create_packet(hdr,
> HFI_PROP_UBWC_MAL_LENGTH,
> HFI_HOST_FLAGS_NONE,
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h
> b/drivers/media/platform/qcom/iris/iris_platform_common.h
> index 8d8cdb56a3c7..3c5f3f68b722 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_common.h
> +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h
> @@ -73,7 +73,6 @@ struct tz_cp_config {
>
> struct ubwc_config_data {
> u32 max_channels;
> - u32 mal_length;
> u32 highest_bank_bit;
> u32 bank_swzl_level;
> u32 bank_swz2_level;
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> index c1989240c248..c70cfc2fc553 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> +++ b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> @@ -633,7 +633,6 @@ static const struct platform_clk_data sm8550_clk_table[]
> = {
>
> static struct ubwc_config_data ubwc_config_sm8550 = {
> .max_channels = 8,
> - .mal_length = 32,
> .highest_bank_bit = 16,
> .bank_swzl_level = 0,
> .bank_swz2_level = 1,
>
Reviewed-by: Dikshita Agarwal <[email protected]>
Thanks,
Dikshita