drm/bridge: Synopsys DW-HDMI bridge driver for the Ingenic JZ4780 (was Re: Specialising the Synopsys DW-HDMI bridge driver for the Ingenic JZ4780)

Ezequiel Garcia ezequiel at vanguardiasur.com.ar
Wed Aug 19 10:21:17 UTC 2020


Hello,

First of all, I'd like to thank everyone for the great work
on ingenic-drm. The driver is in very good shape
and a pleasure to work with.

Yesterday, I checked out branch "paulb-jz4780-ci20-hdmi-5.8-rc5",
from git.goldelico.com/letux-kernel.git, rebased it on v5.9-rc1,
and then run weston over HDMI (how often
weston runs on mips, uh? :)

The edid of my monitor is properly read
and modetest reports all modes.

I've only tested the primary plane, for some reason
the overlay is not working as expected, but it must
be probably some minor thing.

As for the bus format, I have just added a skip
for CONNECTOR_HDMIA types in the encoder
atomic check. And then MEDIA_BUS_FMT_RGB888_1X24
is hardcoded if there are no bus formats negotiated.

Paul et al, if you guys can rebase your work on v5.9-rc1
and Cc I will be happy to review and test the patches.

Cheers & thanks again,
Eze




On Tue, 7 Jul 2020 at 04:27, Paul Boddie <paul at boddie.org.uk> wrote:
>
> On Monday, 6 July 2020 14:12:24 CEST Neil Armstrong wrote:
> >
> > On 06/07/2020 01:57, Paul Boddie wrote:
> > >
> > > It also seems to be appropriate to set the input_bus_format on the
> > > platform- specific HDMI driver; otherwise, I doubt that appropriate bus
> > > encodings will be chosen in the Synopsys driver.
> >
> > It does but when not provided, it doesn't use it.
> >
> > It's handled in drm_atomic_bridge_chain_select_bus_fmts() :
> >       if (conn->display_info.num_bus_formats &&
> >                   conn->display_info.bus_formats)
> >               out_bus_fmts[0] = conn->display_info.bus_formats[0];
> >       else
> >               out_bus_fmts[0] = MEDIA_BUS_FMT_FIXED;
>
> OK. I thought I'd seen this somewhere, but I had started to think that
> input_bus_format would remain initialised (presumably to zero) and this would
> then cause the Synopsys driver to not change the bus format to the actual
> default.
>
> [...]
>
> > > Testing against 5.8-rc3 with the above changes seems to have moved the
> > > needle slightly. Although I still get "Input not supported" from my
> > > monitor, running modetest now gives a different error:
> > >
> > > modetest -D /dev/dri/card0 -M ingenic-drm -s 34 at 32:1280x1024-60.02
> > >
> > > ...now yields this:
> > >
> > > setting mode 1280x1024-60.02Hz at XR24 on connectors 34, crtc 32
> > > failed to set gamma: Invalid argument
> >
> > This is because you don't provide the gamma setup ioctl, it's not a fatal
> > error at all. It should be warning since it's optional.
> >
> > Did you check all modes ?
>
> I have checked a few more. Currently, testing them is awkward because it
> involves switching my monitor to DVI input, getting "Input Not Supported",
> unplugging the cable, and then the hotplug event has most likely caused a bad
> pointer dereference in ingenic_drm_crtc_atomic_flush and thus a kernel panic.
>
> So, I'll try and fix this panic, which appears to be due to the DRM driver
> accessing a null framebuffer pointer (presumably having been invalidated
> elsewhere upon unplugging), and see if I can't get some more information about
> the state of the peripherals.
>
> Paul
>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list