Re: [PATCH v2] media: venus: Synchronize probe() between venus_core and enc/dec
From: John Stultz <hidden>
Date: 2021-12-09 03:11:28
Also in:
linux-arm-msm, lkml
From: John Stultz <hidden>
Date: 2021-12-09 03:11:28
Also in:
linux-arm-msm, lkml
On Tue, Nov 30, 2021 at 8:49 PM John Stultz [off-list ref] wrote:
On Tue, Nov 23, 2021 at 7:29 PM Bjorn Andersson [off-list ref] wrote:quoted
Rather than trying to synchronize away the side effects of of_platform_populate() I think we should stop using it. I had the very same problem in the qcom_wcnss remoteproc driver and in below change I got rid of that by manually initializing a struct device for the child node. In the event that the child probe defer I would just probe defer the parent as well. 1fcef985c8bd ("remoteproc: qcom: wcnss: Fix race with iris probe") The change might look a little bit messy, but the end result it much cleaner than relying on various locks etc. But in the qcom_wcnss case I have a child _device_ because I need something to do e.g. regulator_get() on. I fail to see why venc and vdec are devices in the first place.I definitely agree with Bjorn that all this asynchronous component probing feels overly complicated, and a rework is probably the better solution. Though my only question is: is someone planning to do this rework? In the meantime, Tadeusz' patch does resolve a *very* frequent boot crash seen when the venus driver is enabled. So Stanimir, should we consider merging this as a stop gap until the larger probe rework is done?
Stanimir? Does the above sound reasonable? thanks -john