[PATCH v2 00/91] drm/vc4: Support BCM2711 Display Pipelin

Maxime Ripard maxime at cerno.tech
Fri Jul 3 08:56:11 EDT 2020


Hi,

On Tue, Jun 30, 2020 at 04:26:20PM +0800, Jian-Hong Pan wrote:
> Maxime Ripard <maxime at cerno.tech> 於 2020年6月29日 週一 下午10:21寫道:
> >
> > Hi!
> >
> > On Fri, Jun 05, 2020 at 04:44:51PM +0800, Jian-Hong Pan wrote:
> > > Maxime Ripard <maxime at cerno.tech> 於 2020年6月2日 週二 下午7:04寫道:
> > > >
> > > > Hi,
> > > >
> > > > On Mon, Jun 01, 2020 at 03:58:26PM +0800, Jian-Hong Pan wrote:
> > > > > Maxime Ripard <maxime at cerno.tech> 於 2020年5月28日 週四 下午3:30寫道:
> > > > > >
> > > > > > Hi Daniel,
> > > > > >
> > > > > > On Wed, May 27, 2020 at 05:15:12PM +0800, Daniel Drake wrote:
> > > > > > > On Wed, May 27, 2020 at 5:13 PM Maxime Ripard <maxime at cerno.tech> wrote:
> > > > > > > > I'm about to send a v3 today or tomorrow, I can Cc you (and Jian-Hong) if you
> > > > > > > > want.
> > > > > > >
> > > > > > > That would be great, although given the potentially inconsistent
> > > > > > > results we've been seeing so far it would be great if you could
> > > > > > > additionally push a git branch somewhere.
> > > > > > > That way we can have higher confidence that we are applying exactly
> > > > > > > the same patches to the same base etc.
> > > > > >
> > > > > > So I sent a new iteration yesterday, and of course forgot to cc you... Sorry for
> > > > > > that.
> > > > > >
> > > > > > I've pushed my current branch here:
> > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git/log/?h=rpi4-kms
> > > > >
> > > > > Thanks to Maxime!
> > > > >
> > > > > I have tried your repository on branch rpi4-kms.  The DRM VC4 is used!
> > > > > But got some issues:
> > > > > 1. Some weird error message in dmesg.  Not sure it is related, or not
> > > > > [    5.219321] [drm:vc5_hdmi_init_resources] *ERROR* Failed to get
> > > > > HDMI state machine clock
> > > > > https://gist.github.com/starnight/3f317dca121065a361cf08e91225e389
> > > >
> > > > That's a deferred probing. The first time the HDMI driver is being
> > > > probed, the firmware clock driver has not been probed yet. It's making
> > > > another attempt later on, which succeeds.
> > > >
> > > > > 2. The screen flashes suddenly sometimes.
> > >
> > > I append drm.debug=0x3 to boot command.  Whenever, the screen flashes,
> > > I notice the logs like this:
> > >
> > > Jun 01 15:22:40 endless kernel: [drm:drm_calc_timestamping_constants]
> > > crtc 64: hwmode: htotal 2200, vtotal 1125, vdisplay 1080
> > > Jun 01 15:22:40 endless kernel: [drm:drm_calc_timestamping_constants]
> > > crtc 64: clock 148500 kHz framedur 16666666 linedur 14814
> > > Jun 01 15:22:40 endless kernel: [drm:drm_vblank_enable] enabling
> > > vblank on crtc 3, ret: 0
> > > Jun 01 15:22:40 endless kernel: [drm:drm_mode_object_put.part.0] OBJ ID: 159 (2)
> > > Jun 01 15:22:40 endless kernel: [drm:drm_mode_object_put.part.0] OBJ ID: 154 (1)
> > > Jun 01 15:22:40 endless kernel: [drm:vblank_disable_fn] disabling
> > > vblank on crtc 3
> > > Jun 01 15:22:42 endless kernel: [drm:drm_ioctl] pid=584, dev=0xe200,
> > > auth=1, DRM_IOCTL_MODE_CURSOR
> > > Jun 01 15:22:42 endless kernel: [drm:drm_ioctl] pid=584, dev=0xe200,
> > > auth=1, DRM_IOCTL_MODE_CURSOR2
> > > Jun 01 15:22:42 endless kernel: [drm:drm_mode_object_get] OBJ ID: 159 (1)
> > > Jun 01 15:22:42 endless kernel: [drm:drm_mode_object_get] OBJ ID: 154 (1)
> > > Jun 01 15:22:42 endless kernel: [drm:drm_calc_timestamping_constants]
> > > crtc 64: hwmode: htotal 2200, vtotal 1125, vdisplay 1080
> > > Jun 01 15:22:42 endless kernel: [drm:drm_calc_timestamping_constants]
> > > crtc 64: clock 148500 kHz framedur 16666666 linedur 14814
> > > Jun 01 15:22:42 endless kernel: [drm:drm_vblank_enable] enabling
> > > vblank on crtc 3, ret: 0
> > > Jun 01 15:22:42 endless kernel: [drm:drm_mode_object_put.part.0] OBJ ID: 159 (2)
> > > Jun 01 15:22:42 endless kernel: [drm:drm_mode_object_put.part.0] OBJ ID: 154 (2)
> > >
> > > Here is the full log
> > > https://gist.github.com/starnight/85d641819839eddc7a55ca7173990a56
> > >
> > > > > 3. The higher resolutions, like 1920x1080 ... are lost after hot
> > > > > re-plug HDMI cable (HDMI0)
> > >
> > > I should explain this in more detail.  Here are the steps to reproduce
> > > this issue:
> > > 1. Before unplug the HDMI cable from HDMI0 port.
> > > $ xrandr
> > > Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 2048 x 2048
> > > HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x
> > > axis y axis) 521mm x 293mm
> > >    1920x1080     60.00*+  50.00    59.94
> > >    1920x1080i    60.00    50.00    59.94
> > >    1680x1050     59.88
> > >    1280x1024     75.02    60.02
> > >    1440x900      59.90
> > >    1280x960      60.00
> > >    1152x864      75.00
> > >    1280x720      60.00    50.00    59.94
> > >    1440x576      50.00
> > >    1024x768      75.03    70.07    60.00
> > >    1440x480      60.00    59.94
> > >    832x624       74.55
> > >    800x600       72.19    75.00    60.32    56.25
> > >    720x576       50.00
> > >    720x480       60.00    59.94
> > >    640x480       75.00    72.81    66.67    60.00    59.94
> > >    720x400       70.08
> > > HDMI-2 disconnected (normal left inverted right x axis y axis)
> > >
> > > 2. Unplug the HDMI cable from HDMI0 port.
> > > 3. Plug the HDMI cable to **HDMI1** port.
> > > $ xrandr
> > > Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 2048 x 2048
> > > HDMI-1 disconnected (normal left inverted right x axis y axis)
> > > HDMI-2 connected primary 1920x1080+0+0 (normal left inverted right x
> > > axis y axis) 521mm x 293mm
> > >    1920x1080     60.00*+  50.00    59.94
> > >    1920x1080i    60.00    50.00    59.94
> > >    1680x1050     59.88
> > >    1280x1024     75.02    60.02
> > >    1440x900      59.90
> > >    1280x960      60.00
> > >    1152x864      75.00
> > >    1280x720      60.00    50.00    59.94
> > >    1440x576      50.00
> > >    1024x768      75.03    70.07    60.00
> > >    1440x480      60.00    59.94
> > >    832x624       74.55
> > >    800x600       72.19    75.00    60.32    56.25
> > >    720x576       50.00
> > >    720x480       60.00    59.94
> > >    640x480       75.00    72.81    66.67    60.00    59.94
> > >    720x400       70.08
> > >
> > > 4. Unplug the HDMI cable from **HDMI1** port.
> > > 5. Plug the HDMI cable back to HDMI0 port.
> > > $ xrandr
> > > Screen 0: minimum 320 x 200, current 1368 x 768, maximum 2048 x 2048
> > > HDMI-1 connected primary 1368x768+0+0 (normal left inverted right x
> > > axis y axis) 0mm x 0mm
> > >    1368x768      59.88*
> > >    1360x768      59.80
> > >    1280x800      59.81
> > >    1152x864      60.00
> > >    1280x720      59.86
> > >    1024x768      60.00
> > >    1024x576      59.90
> > >    960x540       59.63
> > >    800x600       60.32
> > >    800x450       59.82
> > >    700x450       59.88
> > >    640x480       59.94
> > >    684x384       59.88    59.85
> > >    680x384       59.80    59.96
> > >    640x400       59.88    59.98
> > >    576x432       60.06
> > >    640x360       59.86    59.83
> > >    512x384       60.00
> > >    512x288       60.00    59.92
> > >    480x270       59.63    59.82
> > >    400x300       60.32
> > >    320x240       60.05
> > > HDMI-2 disconnected (normal left inverted right x axis y axis)
> >
> > Sorry for getting back at it so late. I just tested with modetest only
> > and my current branch and it seems to behave properly. Did you had to
> > run X to get that issue, or is it just how you noticed it?
> >
> > Also, was that with the branch based on 5.7 I pushed on my git tree on
> > kernel.org or some earlier revision of the series?
> 
> Thanks for coming back :)
> 
> I use GNOME 3.36 with Xorg 1.20.4.
> 
> To understand when it starts to hit the issues, I separate to step by step:
> 1. System boots into command line mode first (systemd multi-user.target)
> 2. Execute Xorg, then xterm.
> 3. Execute mutter upon the screen of Xorg.
> 
> I tried both branches rpi4-kms and rpi4-kms-5.7 of
> https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux.git
> Both of the branches hit issues:
> * The screen flashes suddenly sometimes.  This happens after mutter is launched.
> * The higher resolutions, like 1920x1080 ... are lost after hot
> re-plug HDMI cable (HDMI0).  HDMI cable connects to HDMI0 -> HDMI1 ->
> HDMI0.  This happens not only with GNOME, but also pure Xorg.

I just tested with raspbian exactly this, running the same xorg version:
https://pastebin.com/3fKeFPxf

And without X involved, modetest also reports the modes properly, so
it's probably something in either the DDX you're using or Gnome/mutter.

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/20200703/c63b8cee/attachment.sig>


More information about the linux-arm-kernel mailing list