[Letux-kernel] [PATCH 8/8] drm/ingenic: Attach bridge chain to encoders
H. Nikolaus Schaller
hns at goldelico.com
Sun Aug 29 18:59:59 CEST 2021
Hi Paul,
> Am 29.08.2021 um 18:04 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>
> PS: this patch makes it also show a green screen without touching dw_hdmi code:
>
> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> index 1465eab218e0..6dd90c9c70a7 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> @@ -1262,12 +1262,13 @@ static int ingenic_drm_bind(struct device *dev, bool has_components)
> ib->next_bridge = bridge;
>
> ret = drm_bridge_attach(encoder, &ib->bridge, NULL,
> - DRM_BRIDGE_ATTACH_NO_CONNECTOR);
> + 0);
> if (ret) {
> dev_err(dev, "Unable to attach bridge\n");
> return ret;
> }
>
> +#if 0
> connector = drm_bridge_connector_init(drm, encoder);
> if (IS_ERR(connector)) {
> dev_err(dev, "Unable to init connector: err = %d\n", PTR_ERR(connector));
> @@ -1275,6 +1276,7 @@ static int ingenic_drm_bind(struct device *dev, bool has_components)
> }
>
> drm_connector_attach_encoder(connector, encoder);
> +#endif
> }
>
> drm_for_each_encoder(encoder, drm) {
I now have pushed it as upstream-jz4780-hdmi-v4 (incl. removal of the hdmi connector in device tree).
At least we have a solution at the root of the problem to make the green screen appear and the
ingenic-drm 13050000.lcdc0: Unable to init connector
ingenic-drm: probe of 13050000.lcdc0 failed with error -22
are gone. Unfortunately it does not solve the green screen and atomic timeout issues as
a side effect.
This patch would be good enough if we could make this variation conditional...
- it is ingenic-drm code which can be made jz4780 specific by jz4780_soc_info.
- we just do not know how to make it hdmi specfic...
- what if someone uses a jz4780 with two LCDs and DVI connector?
IAW: we have to find our what type the encoder or bridge is. What we can't do is
to check for a connector already registered because that is only triggered by
drm_bridge_attach().
BR,
Nikolaus
PS: we should try to find out if the latest ingenic-drm-drv.c changes harm the jz4730 lcd setup as well...
PPS: I will next try to patch the lcdc registers to see if we can get some good image
More information about the Letux-kernel
mailing list