Thread (9 messages) 9 messages, 5 authors, 2021-12-13

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help