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

Maxime Ripard maxime at cerno.tech
Wed Sep 16 12:57:05 EDT 2020


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 at broadcom.com
> >>> Cc: devicetree at vger.kernel.org
> >>> Cc: Kamal Dasu <kdasu.kdev at gmail.com>
> >>> Cc: Philipp Zabel <p.zabel at pengutronix.de>
> >>> Cc: Rob Herring <robh+dt at kernel.org>
> >>> Cc: Stephen Boyd <sboyd at kernel.org>
> >>>
> >>> 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 at 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 at 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 at 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 at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20200916/7c91ae55/attachment.sig>


More information about the linux-arm-kernel mailing list