media: qcom: iris: add support for SM8650 Add support for the IRIS accelerator for the SM8650 platform, which uses the iris33 hardware. Sm sm8650 SoC support also reorganizes slighly by renaming the sm8550 plaform file to gen2, and move soc specific data into headers. The vpu33 requires a different reset & poweroff sequence in order to properly get out of runtime suspend. Based on the downstream implementation at: - https://git.codelinaro.org/clo/la/platform/vendor/opensource/video-driver/ branch video-kernel.lnx.4.0.r4-rel To: Vikash Garodia <quic_vgarodia@quicinc.com> To: Dikshita Agarwal <quic_dikshita@quicinc.com> To: Abhinav Kumar <quic_abhinavk@quicinc.com> To: Mauro Carvalho Chehab <mchehab@kernel.org> To: Rob Herring <robh@kernel.org> To: Krzysztof Kozlowski <krzk+dt@kernel.org> To: Conor Dooley <conor+dt@kernel.org> To: Philipp Zabel <p.zabel@pengutronix.de> To: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: linux-media@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- Changes in v6: - Removed catalog files, renamed sm8550 soc file to gen2 platform file - Moved SoC specific into soc specific headers when adding sm8650 - Rebased on next, fixed bindings - Fixed errors reported by CI - Link to v5: https://lore.kernel.org/all/20250410-topic-sm8x50-upstream-iris-catalog-v5-0-44a431574c25@linaro.org Changes in v5: - Reorganized into catalog, rebased sm8650 support on top - Link to v4: https://lore.kernel.org/r/20250409-topic-sm8x50-iris-v10-v4-0-40e411594285@linaro.org Changes in v4: - collected tags - un-split power_off in vpu3x - removed useless function defines - added back vpu3x disappeared rename commit - Link to v3: https://lore.kernel.org/r/20250407-topic-sm8x50-iris-v10-v3-0-63569f6d04aa@linaro.org Changes in v3: - Collected review tags - Removed bulky reset_controller ops - Removed iris_vpu_power_off_controller split - Link to v2: https://lore.kernel.org/r/20250305-topic-sm8x50-iris-v10-v2-0-bd65a3fc099e@linaro.org Changes in v2: - Collected bindings review - Reworked rest handling by adding a secondary optional table to be used by controller poweroff - Reworked power_off_controller to be reused and extended by vpu33 support - Removed useless and unneeded vpu33 init - Moved vpu33 into vpu3x files to reuse code from vpu3 - Moved sm8650 data table into sm8550 - Link to v1: https://lore.kernel.org/r/20250225-topic-sm8x50-iris-v10-v1-0-128ef05d9665@linaro.org --- Neil Armstrong (7): dt-bindings: media: qcom,sm8550-iris: document SM8650 IRIS accelerator media: platform: qcom/iris: add power_off_controller to vpu_ops media: platform: qcom/iris: introduce optional controller_rst_tbl media: platform: qcom/iris: rename iris_vpu3 to iris_vpu3x media: platform: qcom/iris: add support for vpu33 media: platform: qcom/iris: rename platform_sm8550 to platform_gen2 media: platform: qcom/iris: add sm8650 support .../bindings/media/qcom,sm8550-iris.yaml | 33 ++- drivers/media/platform/qcom/iris/Makefile | 4 +- drivers/media/platform/qcom/iris/iris_core.h | 2 + .../platform/qcom/iris/iris_platform_common.h | 3 + ...iris_platform_sm8550.c => iris_platform_gen2.c} | 65 ++++- .../platform/qcom/iris/iris_platform_sm8550.h | 11 + .../platform/qcom/iris/iris_platform_sm8650.h | 13 + drivers/media/platform/qcom/iris/iris_probe.c | 43 +++- drivers/media/platform/qcom/iris/iris_vpu2.c | 1 + drivers/media/platform/qcom/iris/iris_vpu3.c | 122 --------- drivers/media/platform/qcom/iris/iris_vpu3x.c | 275 +++++++++++++++++++++ drivers/media/platform/qcom/iris/iris_vpu_common.c | 4 +- drivers/media/platform/qcom/iris/iris_vpu_common.h | 3 + 13 files changed, 434 insertions(+), 145 deletions(-) --- base-commit: 84e171e5991bc3cb4a71a7755ba93391da22e838 change-id: 20250225-topic-sm8x50-iris-v10-a219b8a8b477 Best regards,