On 1/13/2026 10:27 PM, Dmitry Baryshkov wrote:
> The UBWC swizzle is specified both in the Iris driver and in the
> platform UBWC config. Use the platform UBWC configuration instead of
> specifying it directly in the source.
>
> Reviewed-by: Konrad Dybcio <[email protected]>
> Reviewed-by: Bryan O'Donoghue <[email protected]>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
> drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c | 6 +++---
> drivers/media/platform/qcom/iris/iris_platform_common.h | 3 ---
> drivers/media/platform/qcom/iris/iris_platform_gen2.c | 3 ---
> 3 files changed, 3 insertions(+), 9 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 a4e60e9d32a4..a880751107c7 100644
> --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c
> +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_packet.c
> @@ -169,7 +169,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->bank_swzl_level;
> + payload = !!(ubwc->ubwc_swizzle & UBWC_SWIZZLE_ENABLE_LVL1);
> iris_hfi_gen2_create_packet(hdr,
> HFI_PROP_UBWC_BANK_SWZL_LEVEL1,
> HFI_HOST_FLAGS_NONE,
> @@ -179,7 +179,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->bank_swz2_level;
> + payload = !!(ubwc->ubwc_swizzle & UBWC_SWIZZLE_ENABLE_LVL2);
> iris_hfi_gen2_create_packet(hdr,
> HFI_PROP_UBWC_BANK_SWZL_LEVEL2,
> HFI_HOST_FLAGS_NONE,
> @@ -189,7 +189,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->bank_swz3_level;
> + payload = !!(ubwc->ubwc_swizzle & UBWC_SWIZZLE_ENABLE_LVL3);
> iris_hfi_gen2_create_packet(hdr,
> HFI_PROP_UBWC_BANK_SWZL_LEVEL3,
> 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 8421711dbe60..9f9ee67e4732 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_common.h
> +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h
> @@ -73,9 +73,6 @@ struct tz_cp_config {
>
> struct ubwc_config_data {
> u32 max_channels;
> - u32 bank_swzl_level;
> - u32 bank_swz2_level;
> - u32 bank_swz3_level;
> u32 bank_spreading;
> };
>
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> index 5ae996d19ffd..0f06066d814a 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> +++ b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> @@ -633,9 +633,6 @@ static const struct platform_clk_data sm8550_clk_table[]
> = {
>
> static struct ubwc_config_data ubwc_config_sm8550 = {
> .max_channels = 8,
> - .bank_swzl_level = 0,
> - .bank_swz2_level = 1,
> - .bank_swz3_level = 1,
> .bank_spreading = 1,
> };
>
>
Reviewed-by: Dikshita Agarwal <[email protected]>
Thanks,
Dikshita