On Fri, Aug 22, 2025 at 09:56:49AM +0530, Vikash Garodia wrote: > On 8/20/2025 7:09 PM, Stephan Gerhold wrote: > >>>> +int iris_fw_init(struct iris_core *core) > >>>> +{ > >>>> + struct platform_device_info info; > >>>> + struct iommu_domain *iommu_dom; > >>>> + struct platform_device *pdev; > >>>> + struct device_node *np; > >>>> + int ret; > >>>> + > >>>> + np = of_get_child_by_name(core->dev->of_node, "video-firmware"); > >>>> + if (!np) > >>>> + return 0; > >>> You need a dt-bindings change for this as well. This is documented only > >>> for Venus. > >> You are right, wanted to send device tree and binding support separately. > >> But if required, will add with the series in the next version. > >> > > You can send device tree changes separately, but dt-binding changes > > always need to come before the driver changes. > > Do you mean to update the examples section[1] with the firmware subnode, > something similar to venus schema[2] ? >
Sorry, I missed the fact that the "video-firmware" subnode is already documented for iris as well through qcom,venus-common.yaml (which is included for qcom,sm8550-iris). I don't think it's strictly required to add every possibility to the examples of the schema, since we'll also have the actual DTBs later to test this part of the schema. I would recommend to extend the description of the "video-firmware" node in qcom,venus-common.yaml a bit. You do use the reset functionality of TrustZone, so the description there doesn't fit for your use case. I think we will also have to figure out how to handle the old "ChromeOS"/"non_tz" use case (that resets Iris directly with the registers) vs the EL2 PAS use case (that resets Iris in TZ but still handles IOMMU from Linux). Simply checking for the presence of the "video-firmware" node is not enough, because that doesn't tell us if the PAS support is present in TZ. I have been experimenting with a similar patch that copies the "non_tz" code paths from Venus into Iris. We need this to upstream the Iris DT patch for X1E without regressing the community-contributed x1-el2.dtso, which doesn't have functional PAS when running in EL2. Perhaps we could check for __qcom_scm_is_call_available() with the new QCOM_SCM_PIL_PAS_GET_RSCTABLE to choose between invoking reset via PAS or directly with the registers. I don't have a device with the new firmware to verify if that works. I'll try to send out my patch soon, so you can better see the context. Thanks, Stephan