Hi Trilok,
On 2018-05-18 06:10, Trilok Soni wrote:
Hi Vikash,
On 5/17/2018 4:32 AM, Vikash Garodia wrote:
This adds support to load the video firmware
and bring ARM9 out of reset. This is useful
for platforms which does not have trustzone
to reset the ARM9.
ARM9 = video core here? May be commit text needs little bit more
detail.
Yes, ARM9 here refers to the CPU running the firmware inside video core.
I can add some more detail on the same.
+static int store_firmware_dev(struct device *dev, void *data)
+{
+ struct venus_core *core;
+
+ core = (struct venus_core *)data;
No need of casting.
Ok. Will remove the casting.
+ if (!core)
+ return -EINVAL;
+
+ if (of_device_is_compatible(dev->of_node, "qcom,venus-pil-no-tz"))
+ core->fw.dev = dev;
+
+ return 0;
+}
+
- ret = venus_boot(dev, core->res->fwname);
+ ret = of_platform_populate(dev->of_node, NULL, NULL, dev);
+ if (ret)
+ goto err_runtime_disable;
+
+ /* Attempt to register child devices */
+ ret = device_for_each_child(dev, core, store_firmware_dev);
+
and not ret check needed?
Not needed. The fn (store_firmware_dev) just stores the child device
pointer.
Later in the driver, if the child device pointer is not populated, probe
is
deferred. Again, child device for which this populate is added, is an
optional
child node.
+ ret = venus_boot(core);
if (ret)
goto err_runtime_disable;