On Fri, Nov 01, 2024 at 12:27:15PM +0200, Dmitry Baryshkov wrote: > On Fri, 1 Nov 2024 at 11:20, Laurent Pinchart wrote: > > 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 will break bridge lookup which is performed by following the OF > graph links. So the aux bridges should use corresponding of_node or > fwnode. We can also expand the lookup infrastructure and handle more platform integration and driver architecture options. I'm not sure how it would look like, but all these are in-kernel APIs, so they can be extended and modified if needed. > > This would > > require switching the DRM OF-based APIs to fwnode, but that's easy and > > mostly a mechanical change. -- Regards, Laurent Pinchart