Messages in this thread | | | Date | Sat, 9 Mar 2024 20:03:14 +0800 | Subject | Re: [PATCH v2 1/4] drm/bridge: Add fwnode based helpers to get the next bridge | From | Sui Jingfeng <> |
| |
Hi,
On 2024/3/9 18:39, Dmitry Baryshkov wrote: >> The code path of "creating a connector" plus the code path of "not creating a connector" >> forms a 'side-by-side' implementation imo. >> >> Besides, I have repeated many times: the DT already speak everything. >> Device drivers can completely know if there is a display connector OF device created and how many >> display bridges in the whole chain. If there are connector device node in the DT, then it should >> has a device driver bound to it(instead of create it manually) for a perfect implementation. As >> you told me we should not*over play* the device-driver model, right? > Please, don't mix the connector node in DT and the drm_connector. If > you check the code, you will see that the driver for hdmi-connector, > dp-connector and other such devices creates a drm_bridge.
OK, I'm not mixed them, I'm very clear from the very beginning. I have checked the code years ago. Let's make it clear by iterating one more time:
If DT contains one or more HDMI connector node, then there will be one or more display connector platform devices created by OF core, Then, according to your "don't overplay device-driver model" criterion or modern drm bridge standard, we shouldn't create a display connector instance in the drm birdge driver, right?
As otherwise we will have two display connector driver (or code) for a single entity, right?
Another side effect is that when you create a hdmi display connector instance manually without reference to the DT, then *you made an assumption!*. But there are users who have don't a different need(or different typology), for example, they need to read edid directly from the KMS driver side. This may because the i2c bus is directly connected to the connector part, but the display bridge's I2C slave interface. sii9022, it66121 and tfp410 support this kind of usage.
So the real problem is that it is a policy level code when you creating a hdmi display connector instance manually without reference to the DT in a common drm bridge driver, not a mechanism.
| |