Re: [PATCH v5 00/80] drm/vc4: Support BCM2711 Display Pipeline

From: Maxime Ripard
Date: Thu Oct 08 2020 - 07:27:51 EST


On Wed, Sep 16, 2020 at 06:57:05PM +0200, Maxime Ripard wrote:
> On Mon, Sep 14, 2020 at 07:14:11PM +0900, Hoegeun Kwon wrote:
> > Hi Maxime,
> >
> > On 9/8/20 9:00 PM, Maxime Ripard wrote:
> > > Hi Hoegeun,
> > >
> > > On Mon, Sep 07, 2020 at 08:49:12PM +0900, Hoegeun Kwon wrote:
> > >> On 9/3/20 5:00 PM, Maxime Ripard wrote:
> > >>> Hi everyone,
> > >>>
> > >>> Here's a (pretty long) series to introduce support in the VC4 DRM driver
> > >>> for the display pipeline found in the BCM2711 (and thus the RaspberryPi 4).
> > >>>
> > >>> The main differences are that there's two HDMI controllers and that there's
> > >>> more pixelvalve now. Those pixelvalve come with a mux in the HVS that still
> > >>> have only 3 FIFOs. Both of those differences are breaking a bunch of
> > >>> expectations in the driver, so we first need a good bunch of cleanup and
> > >>> reworks to introduce support for the new controllers.
> > >>>
> > >>> Similarly, the HDMI controller has all its registers shuffled and split in
> > >>> multiple controllers now, so we need a bunch of changes to support this as
> > >>> well.
> > >>>
> > >>> Only the HDMI support is enabled for now (even though the DPI and DSI
> > >>> outputs have been tested too).
> > >>>
> > >>> Let me know if you have any comments
> > >>> Maxime
> > >>>
> > >>> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx
> > >>> Cc: devicetree@xxxxxxxxxxxxxxx
> > >>> Cc: Kamal Dasu <kdasu.kdev@xxxxxxxxx>
> > >>> Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
> > >>> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> > >>> Cc: Stephen Boyd <sboyd@xxxxxxxxxx>
> > >>>
> > >>> Changes from v4:
> > >>> - Rebased on top of next-20200828
> > >>> - Collected the various tags
> > >>> - Fixed some issues with 4k support and dual output (thanks Hoegeun!)
> > >> Thanks for your v5 patchset.
> > >>
> > >> I tested all patches based on the next-20200812.
> > > Thanks again for testing all the patches
> > >
> > >> Everything else is fine, but the dual hdmi modetest doesn't work well in my
> > >> environment...
> > >>
> > >> In my environment, dsi is not connected, I have seen your answer[1].
> > > Can you share a bit more your setup? What monitors are being connected
> > > to each HDMI port? Do you hotplug any?
> > Yes, Monitors are being connected to each HDMI ports. (did not use hotplug)
> >
> > When booting, both HDMI-0 and 1 are recognized and the kernel log is output.
> > But after run modetest on HDMI-0(works) and modetest on HDMI-1(works),
> > crtc timed out occurs on HDMI-0 and does not work.
> >
> > When HDMI-0 is not working we do a modetest on HDMI-0, it will work agin
> > after about 40 sec.
> >
> > Below is the log for modetest.
> >
> >
> > root:~> modetest -Mvc4 -s 32:1280x720         - HDMI-0 works
> > setting mode 1280x720-60Hz@XR24 on connectors 32, crtc 64
> > failed to set gamma: Invalid argument
> >
> > root:~> modetest -Mvc4 -s 32:1280x720         - HDMI-0 works
> > setting mode 1280x720-60Hz@XR24 on connectors 32, crtc 64
> > failed to set gamma: Invalid argument
> >
> > root:~> modetest -Mvc4 -s 38:1280x720         - HDMI-1 works
> > setting mode 1280x720-60Hz@XR24 on connectors 38, crtc 69
> > failed to set gamma: Invalid argument
> >
> >                                   - Crtc timed out occurs on HDMI-0 and
> > does not work.
> >
> > [   71.134283] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR*
> > [CRTC:64:crtc-3] flip_done timed out
> > [   81.374296] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [CRTC:64:crtc-3] flip_done timed out
> > [   91.618380] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [CONNECTOR:32:HDMI-A-1] flip_done timed out
> > [  101.854274] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [PLANE:60:plane-3] flip_done timed out
> >
> > [  112.094271] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR*
> > [CRTC:64:crtc-3] flip_done timed out
> > [  122.590311] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [CRTC:64:crtc-3] flip_done timed out
> >
> > root:~> modetest -Mvc4 -s 32:1280x720
> > [  132.830309] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [CONNECTOR:32:HDMI-A-1] flip_done timed out
> > [  143.070307] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [PLANE:60:plane-3] flip_done timed out
> > [  153.310303] [drm:drm_atomic_helper_wait_for_flip_done] *ERROR*
> > [CRTC:64:crtc-3] flip_done timed out
> > setting mode 1280x720-60Hz@XR24 on connectors 32, crtc 64
> > [  163.550340] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [CRTC:64:crtc-3] flip_done timed out
> > [  173.790277] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [CONNECTOR:32:HDMI-A-1] flip_done timed out
> > [  184.030286] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
> > [PLANE:60:plane-3] flip_done timed out
> > failed to set gamma: Invalid argument         - HDMI-0 works
>
> Thanks :)
>
> I was able to reproduce it just by also letting X boot. I'm on a good
> path to fix it and found a workaround. I'll send you the patch in the
> upcoming days :)

It took a bit longer than expected but the last 4 patches I just sent
should fix that issue

Thanks for reporting it!

Maxime

Attachment: signature.asc
Description: PGP signature