Messages in this thread | | | Date | Fri, 18 May 2018 17:50:40 +0530 | From | Vikash Garodia <> | Subject | Re: [PATCH 4/4] media: venus: add PIL support |
| |
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; >>
| |