[PATCH 00/11] media: qcom: iris: rework platform data handling
From: Dmitry Baryshkov
Date: Sat Feb 28 2026 - 03:29:19 EST
Currently platform data for the iris devices contain a mixture of
hadware and software description. This seems to work in simple cases,
but as the driver matures, it leads to strange decisions.
For example, the recent series extending SC7280 support to be able to
use HFI Gen2 firmware ended up duplicating SC7280 data, using
SM8550-related structs even though the hardware hasn't changed.
Another example, SM8450 and SM8350 are also simiar cores (and similar to
the existing SM8250), however SM8450 will have to go to the same file as
VPU3 cores just because of the firmware interface.
Last, but not least, this leads to a lot of copy-paste duplicates
between platforms, having similar firmware interfaces. It damages
readability and complicates adding support for new platforms.
Rework Iris platform data, splitting it into hardware description
(definied by the GPU core) and HFI Gen-related firmware data.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
Dmitry Baryshkov (11):
media: qcom: iris: drop pas_id from the iris_platform_data struct
media: qcom: iris: extract common set_preset_registers function
media: qcom: iris: handle HFI params directly
media: qcom: iris: simplify HFI params handling
media: qcom: iris: handle HFI subscription properties directly
media: qcom: iris: don't use function indirection in gen2-specific code
media: qcom: iris: split HFI session ops from core ops
media: qcom: iris: merge hfi_response_ops and hfi_command_ops
media: qcom: iris: move get_instance to iris_hfi_ops
media: qcom: iris: split firmware_data from raw platform data
media: qcom: iris: split platform data from firmware data
drivers/media/platform/qcom/iris/Makefile | 6 +-
drivers/media/platform/qcom/iris/iris_buffer.c | 88 ++--
drivers/media/platform/qcom/iris/iris_common.c | 8 +-
drivers/media/platform/qcom/iris/iris_core.h | 3 +-
drivers/media/platform/qcom/iris/iris_ctrls.c | 54 +--
drivers/media/platform/qcom/iris/iris_firmware.c | 11 +-
drivers/media/platform/qcom/iris/iris_hfi_common.c | 6 +-
drivers/media/platform/qcom/iris/iris_hfi_common.h | 13 +-
.../iris/{iris_platform_gen1.c => iris_hfi_gen1.c} | 191 +-------
drivers/media/platform/qcom/iris/iris_hfi_gen1.h | 6 +-
.../platform/qcom/iris/iris_hfi_gen1_command.c | 133 ++----
.../platform/qcom/iris/iris_hfi_gen1_response.c | 11 +-
.../iris/{iris_platform_gen2.c => iris_hfi_gen2.c} | 531 +--------------------
drivers/media/platform/qcom/iris/iris_hfi_gen2.h | 5 +-
.../platform/qcom/iris/iris_hfi_gen2_command.c | 301 ++++++++----
.../platform/qcom/iris/iris_hfi_gen2_response.c | 11 +-
drivers/media/platform/qcom/iris/iris_instance.h | 4 +
.../platform/qcom/iris/iris_platform_common.h | 71 ++-
.../platform/qcom/iris/iris_platform_sm8250.h | 29 ++
.../platform/qcom/iris/iris_platform_sm8550.h | 31 ++
.../media/platform/qcom/iris/iris_platform_vpu2.c | 126 +++++
.../media/platform/qcom/iris/iris_platform_vpu3.c | 214 +++++++++
drivers/media/platform/qcom/iris/iris_probe.c | 4 +-
drivers/media/platform/qcom/iris/iris_vb2.c | 2 +-
drivers/media/platform/qcom/iris/iris_vdec.c | 6 +-
drivers/media/platform/qcom/iris/iris_venc.c | 4 +-
drivers/media/platform/qcom/iris/iris_vidc.c | 14 +-
drivers/media/platform/qcom/iris/iris_vpu_common.c | 5 +
drivers/media/platform/qcom/iris/iris_vpu_common.h | 2 +
29 files changed, 816 insertions(+), 1074 deletions(-)
---
base-commit: 779cae956c8316aebc1946ef86ca001f99658270
change-id: 20260227-iris-platform-data-c5c80e84d1a7
prerequisite-change-id: 20251119-venus-iris-flip-switch-d59a3fbc6a4b:v4
prerequisite-patch-id: 615a763749fdc0c4ee184478bc64120972d8c7a1
prerequisite-patch-id: 6d85e3db422bc7f16246249288a17b92f6edbc09
prerequisite-patch-id: 579d712ec3f942ba0c362e242c71361c151092b5
prerequisite-patch-id: fa4629a3909fbae3917d8c067cce4f673ee857c0
prerequisite-patch-id: cbbd40736f7a797ff76b0fe2b1ddfb559e14e666
prerequisite-patch-id: 5b50917dcfef01db13af320cbd1cba15fd5fa16f
prerequisite-change-id: 20260110-iris-ubwc-06f64cbb31ae:v4
prerequisite-patch-id: 258496117b2e498200190910a37776be2ced6382
prerequisite-patch-id: 50f58e5d9c6cd2b520d17a7e7b2e657faa7d0847
prerequisite-patch-id: af2ff44a7b919da2ee06cc40893fbcd3f65d32f7
prerequisite-patch-id: f3a2b9ef97be3fa250ea0a6467b2d5a782315aa5
prerequisite-patch-id: 6bdd2119448e84aacbdc6a54d999d47fc69dac81
prerequisite-patch-id: 38cc9502c93c71324f1a11a1fd438374fc41ca84
prerequisite-patch-id: 059d1f35274246575ca4fa9b4ee33cd4801479d1
prerequisite-patch-id: 1cf4ea774a145cdba617eb8be5c1f7afe5817772
prerequisite-patch-id: 46375dcd0da4629e6031336351b9cf688691d7c5
Best regards,
--
With best wishes
Dmitry