On Fri, Aug 22, 2025 at 10:46:20AM +0200, Stephan Gerhold wrote: > 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.
You can check QCOM_SCM_PIL_PAS_GET_RSCTABLE with __qcom_scm_is_call_available() but there is a possibility that QCOM_SCM_PIL_PAS_GET_RSCTABLE SMC call will be used even for Gunyah. So, I believe, __qcom_scm_is_call_available() and video-firmware's iommu property is also important. > > I'll try to send out my patch soon, so you can better see the context. Are you saying that you are going to send patch to support IRIS on x1-el2.dtso in non-secure way i.e., non-PAS way. > > Thanks, > Stephan -- -Mukesh Ojha