Re: [PATCH v5 00/80] drm/vc4: Support BCM2711 Display Pipeline
From: Maxime Ripard
Date: Wed Sep 16 2020 - 16:40:03 EST
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 :)
Thanks again,
Maxime
Attachment:
signature.asc
Description: PGP signature