On Fri, Nov 01, 2024 at 11:49:07AM +0800, Sui Jingfeng wrote:
On 2024/11/1 00:23, Johan Hovold wrote:
On Thu, Oct 31, 2024 at 11:06:38PM +0800, Sui Jingfeng wrote:
But I think Johan do need more times to understand what exactly the real problem is. We do need times to investigate new method.
No, I know perfectly well what the (immediate) problem is here (I was the one adding support for the of_node_reused flag some years back).
I just wanted to make sure that the commit message was correct and complete before merging (and also to figure out whether this particular patch needed to be backported).
Well under such a design, having the child device sharing the 'OF' device node with it parent device means that one parent device can *only* create one AUX bridge child device.
Since If you create two or more child AUX bridge, *all* of them will call devm_drm_of_get_bridge(&auxdev->dev, auxdev->dev.of_node, 0, 0), then we will *contend* the same next bridge resource.
Because of the 'auxdev->dev.of_node' is same for all its instance. While other display bridges seems don't has such limitations.
Brainstorming a bit, I wonder if we could create a swnode for the auxiliary device, instead of reusing the parent's OF node. This would require switching the DRM OF-based APIs to fwnode, but that's easy and mostly a mechanical change.