lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 10 Aug 2021 09:52:36 +0200 From: Paul Cercueil <paul@...pouillou.net> To: Paul Boddie <paul@...die.org.uk> Cc: "H. Nikolaus Schaller" <hns@...delico.com>, David Airlie <airlied@...ux.ie>, linux-mips <linux-mips@...r.kernel.org>, dri-devel <dri-devel@...ts.freedesktop.org>, linux-kernel <linux-kernel@...r.kernel.org>, Daniel Vetter <daniel@...ll.ch>, list@...ndingux.net, Sam Ravnborg <sam@...nborg.org>, Discussions about the Letux Kernel <letux-kernel@...nphoenux.org> Subject: Re: [Letux-kernel] [PATCH 8/8] drm/ingenic: Attach bridge chain to encoders Hi Paul, Le mar., août 10 2021 at 01:17:20 +0200, Paul Boddie <paul@...die.org.uk> a écrit : > On Monday, 9 August 2021 18:22:12 CEST Paul Cercueil wrote: >> >> Le lun., août 9 2021 at 13:14:03 +0200, H. Nikolaus Schaller > <hns@...delico.com> a écrit : >> > >> > quick feedback: our HDMI on top compiles fine after fixing 2 merge >> > conflicts, but dos not yet work. >> > Will need some spare time with access to the CI20 board to >> research >> > the issue, i.e. can not give feedback immediately. >> >> Alright, no problem. I'll be back home in about 2 weeks and then I >> can >> test on my CI20 as well. > > Just for reference, I looked into this initialisation failure. The > HDMI > peripheral driver gets initialised satisfactorily... > > dw-hdmi-ingenic 10180000.hdmi: Detected HDMI TX controller v1.31a > with HDCP > (DWC HDMI 3D TX PHY) > dw-hdmi-ingenic 10180000.hdmi: registered DesignWare HDMI I2C bus > driver > > But then the reported error occurs in the DRM driver: > > ingenic-drm 13050000.lcdc0: Unable to init connector > ingenic-drm: probe of 13050000.lcdc0 failed with error -22 > > This originates in a call to drm_bridge_connector_init from > ingenic_drm_bind: > > connector = drm_bridge_connector_init(drm, encoder); > > The invoked function iterates over the registered bridges, one of > which seems > to be the HDMI peripheral (it has bridge operations defined > identically to > those specified in the Synopsys driver), but the type member of the > drm_bridge > structure is set to 0 (DRM_MODE_CONNECTOR_Unknown). > > I might expect the bridge to expose a type acquired from its > connector, but I > don't see this propagation occurring in the Synopsys driver: > dw_hdmi_probe > sets the bridge operations and other members of the drm_bridge > structure, but > it doesn't set the type. > > Also, it might be possible that dw_hdmi_connector_detect (exposed as > the > detect operation) is not getting called, and this would explain why > the > bridge's connector member does not have the connector_type set, > either (since > it is also set to 0). From what I understand the last bridge in the chained list is supposed to set the connector type. The HDMI driver's probe function should get a pointer to the next bridge in the queue and attach it (see how ite-it66121.c does it). The last bridge in the queue should be "hdmi-connector" (display-connector.c) which will effectively set the connector type. Cheers, -Paul
Powered by blists - more mailing lists