lkml.org 
[lkml]   [2021]   [Aug]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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@boddie.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@goldelico.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


\
 
 \ /
  Last update: 2021-08-10 09:53    [W:1.677 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site