[Letux-kernel] [PATCH v5 2/7] drm/ingenic: Add support for JZ4780 and HDMI output

H. Nikolaus Schaller hns at goldelico.com
Tue Jan 18 17:27:11 CET 2022


Hi Paul,

> Am 18.01.2022 um 15:50 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> 
> There is a second, unrelated issue with the introduction of
> 
> "drm/bridge: display-connector: implement bus fmts callbacks"
> 
> which breaks bus format negotiations.

I've looked a little into that.

The first observation is that the if() conditions in the new code are all false.
So it is the two lines to forward to the previous bridge which is not the
same as before the patch. I.e. the default code run by select_bus_fmt_recursive()
does the right thing. 

It appears as if dw_hdmi_bridge_atomic_get_input_bus_fmts() is called twice.

Another symptom is that select_bus_fmt_recursive() is also called twice.

So something happens in the interworking of select_bus_fmt_recursive()
and dw_hdmi_bridge_atomic_get_input_bus_fmts().

BR,
Nikolaus

PS: For the JZ_REG_LCD_OSDC I have not found an IRQ issue. Disabling IRQs by
asm() unfortunately did not work or show a difference. Also, the official
irq handler is not called (it should not be active at that problematic step).

So it is likely that the JZ_REG_LCD_OSDC just "jumps" to 0x10005 if pixel
clock becomes enabled. Maybe I could try shrink the probe function to just
initialize clock to verify... Or enable clock early. To see if there is
any dependency with different initializations.


More information about the Letux-kernel mailing list