Linux Renesas SOC kernel development
 help / color / mirror / Atom feed
From: Kieran Bingham <kieranbingham@gmail.com>
To: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	dri-devel@lists.freedesktop.org
Cc: linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH v2 00/14] Renesas R-Car VSP: Add H3 ES2.0 support
Date: Thu, 13 Jul 2017 13:16:16 +0100	[thread overview]
Message-ID: <d41a54c9-6980-a806-8024-16bae55812ae@gmail.com> (raw)
In-Reply-To: <20170626181226.29575-1-laurent.pinchart+renesas@ideasonboard.com>

Hi Laurent,

Thankyou for these patches, bringing life to the outputs of my ES2.0 target board.

I have tested them on my board, and including the VSP unit test suite, and
kmscube utilities.

Feel free to add a Tested-by: Kieran Bingham
<kieran.bingham+renesas@ideasonboard.com> to all of the patches if you desire,
and I'm working through the individual reviews.

Oh - and now I've just said that - I did some extra testing with both HDMI and
VGA output connected and ran
   kmstest --flip --sync

This was soon followed by a kernel error trace [0] shown below.

However replicating this is possibly more complicated than just running kmstest
--flip --sync ... I've had to do various iterations of running with/without
{flip, sync} but I have reproduced 'issues' about 3 times now.

Interestingly, I haven't been able to make this happen on the ES1.0 platform as
yet...

Regardless of that, this series conflicts with my current developments,
therefore I will likely rebase my work on top of this series. I don't need an
immutable branch, but please do let me know if this series changes :-)

--
Regards

Kieran.


[0] : Kernel log snippet posted below:

[  597.471369] [drm:drm_atomic_helper_commit_cleanup_done] *ERROR*
[CRTC:57:crtc-3] flip_done timed out
[  607.711346] [drm:drm_atomic_helper_wait_for_dependencies] *ERROR*
[CRTC:57:crtc-3] flip_done timed out
[  607.711354] [drm:drm_atomic_helper_commit_cleanup_done] *ERROR*
[CRTC:57:crtc-3] flip_done timed out
[  607.749585] vsp1 fea20000.vsp: failed to reset wpf.1
[  617.951311] [drm:drm_atomic_helper_commit_cleanup_done] *ERROR*
[CRTC:57:crtc-3] flip_done timed out
[  618.055358] vsp1 fea20000.vsp: failed to reset wpf.1
[  618.060498] vsp1 fea20000.vsp: DRM pipeline stop timeout
[  628.831762] vsp1 fea20000.vsp: failed to reset wpf.1
[  638.943315] [drm:drm_atomic_helper_commit_cleanup_done] *ERROR*
[CRTC:57:crtc-3] flip_done timed out
[  649.183313] [drm:drm_atomic_helper_commit_cleanup_done] *ERROR*
[CRTC:57:crtc-3] flip_done timed out
[  677.753465] vsp1 fea20000.vsp: failed to reset wpf.1
[  687.839322] [drm:drm_atomic_helper_commit_cleanup_done] *ERROR*
[CRTC:57:crtc-3] flip_done timed out
[  687.935288] vsp1 fea20000.vsp: failed to reset wpf.1
[  687.940360] vsp1 fea20000.vsp: DRM pipeline stop timeout
[  687.945939] Unable to handle kernel NULL pointer dereference at virtual
address 00000000
[  687.954206] pgd = ffffff8009a0a000
[  687.957680] [00000000] *pgd=000000073fffe003, *pud=000000073fffe003,
*pmd=0000000000000000
[  687.966068] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[  687.971690] Modules linked in:
[  687.974777] CPU: 0 PID: 10426 Comm: kmstest Not tainted
4.12.0-rc5-01343-g1bc824acf27c #5
[  687.983019] Hardware name: Renesas Salvator-X 2nd version board based on
r8a7795 ES2.0+ (DT)
[  687.991525] task: ffffffc6f97b4080 task.stack: ffffffc6f51dc000
[  687.997502] PC is at __media_pipeline_stop+0x24/0xd0
[  688.002507] LR is at media_pipeline_stop+0x34/0x48
[  688.007336] pc : [<ffffff8008583b44>] lr : [<ffffff8008583c24>] pstate: 60000145
[  688.014790] sp : ffffffc6f51df780
[  688.018129] x29: ffffffc6f51df780 x28: 0000000000000000
[  688.023490] x27: 0000000000000038 x26: ffffff8008960088
[  688.028850] x25: ffffffc6f98bcb10 x24: ffffffc6f98b8818
[  688.034210] x23: 0000000000000001 x22: ffffffc6f9ff1998
[  688.039570] x21: ffffffc6f98bc080 x20: 0000000000000000
[  688.044929] x19: 0000000000000008 x18: 0000000000000010
[  688.050288] x17: 0000007f9bc9e1c8 x16: ffffff8008165bb8
[  688.055648] x15: ffffff80899bb63f x14: 0000000000000006
[  688.061007] x13: ffffffc6faac6750 x12: ffffff80087bd078
[  688.066366] x11: 0000000000000000 x10: ffffff80097bb000
[  688.071725] x9 : ffffff8008afd000 x8 : 0000000000000000
[  688.077085] x7 : ffffff8008583c1c x6 : ffffff8008da75c8
[  688.082443] x5 : ffffff8009585d00 x4 : 000000002d28ca88
[  688.087803] x3 : 0000000089277f76 x2 : 0000000000000000
[  688.093162] x1 : ffffffc6f97b4080 x0 : ffffff8008583c24
[  688.098523] Process kmstest (pid: 10426, stack limit = 0xffffffc6f51dc000)
[  688.105453] Stack: (0xffffffc6f51df780 to 0xffffffc6f51e0000)
[  688.111245] f780: ffffffc6f51df7b0 ffffff8008583c24 ffffffc6f98b8ae8
ffffffc6f98bc080
[  688.119138] f7a0: ffffffc6f98bc818 ffffff8009d18000 ffffffc6f51df7e0
ffffff80085aa688
[  688.127031] f7c0: ffffffc6f9878c18 0000000000000001 ffffffc6f9ff0018
0000000000001f31
[  688.134923] f7e0: ffffffc6f51df8b0 ffffff800851a4b4 ffffffc6f9ff1390
ffffffc6f9ff1390
[  688.142815] f800: 0000000000000000 ffffffc6f9ff1998 ffffffc6f9ff0018
ffffff800894a478
[  688.150708] f820: ffffffc6f9557400 ffffffc6f9553400 0000000000000038
ffffff80087cf878

<huge stack trimmed>


[  688.721560] Call trace:
[  688.725502] Exception stack(0xffffffc6f51df5b0 to 0xffffffc6f51df6e0)
[  688.733473] f5a0:                                   0000000000000008
0000008000000000
[  688.742857] f5c0: ffffffc6f51df780 ffffff8008583b44 0000000000000038
ffffff800814e980
[  688.752244] f5e0: ffffff8008afd000 ffffff80097bb000 ffffffc6f51df6f0
00000000ffffffd8
[  688.761636] f600: 4554535953425553 6f6674616c703d4d 4349564544006d72
6674616c702b3d45
[  688.771035] f620: 326165663a6d726f 7073762e30303030 ffffffc6f51df650
ffffff8008124834
[  688.780447] f640: ffffffc600000000 ffffffc600000000 ffffff8008583c24
ffffffc6f97b4080
[  688.789865] f660: 0000000000000000 0000000089277f76 000000002d28ca88
ffffff8009585d00
[  688.799290] f680: ffffff8008da75c8 ffffff8008583c1c 0000000000000000
ffffff8008afd000
[  688.808727] f6a0: ffffff80097bb000 0000000000000000 ffffff80087bd078
ffffffc6faac6750
[  688.818165] f6c0: 0000000000000006 ffffff80899bb63f ffffff8008165bb8
0000007f9bc9e1c8
[  688.827617] [<ffffff8008583b44>] __media_pipeline_stop+0x24/0xd0
[  688.835247] [<ffffff8008583c24>] media_pipeline_stop+0x34/0x48
[  688.842712] [<ffffff80085aa688>] vsp1_du_setup_lif+0x5a8/0x700
[  688.850177] [<ffffff800851a4b4>] rcar_du_vsp_disable+0x2c/0x38
[  688.857632] [<ffffff80085162e0>] rcar_du_crtc_stop+0x198/0x1e8
[  688.865067] [<ffffff8008516350>] rcar_du_crtc_disable+0x20/0x70
[  688.872595] [<ffffff80084e34b4>]
drm_atomic_helper_commit_modeset_disables+0x1ac/0x3d0
[  688.882154] [<ffffff8008517718>] rcar_du_atomic_commit_tail+0x28/0x70
[  688.890233] [<ffffff80084e3a5c>] commit_tail+0x4c/0x80
[  688.897006] [<ffffff80084e3b9c>] drm_atomic_helper_commit+0xdc/0x148
[  688.905000] [<ffffff800850294c>] drm_atomic_commit+0x5c/0x68
[  688.912288] [<ffffff80084e63bc>] restore_fbdev_mode+0x15c/0x2e0
[  688.919837] [<ffffff80084e926c>]
drm_fb_helper_restore_fbdev_mode_unlocked+0x3c/0x98
[  688.929231] [<ffffff80084e9f64>] drm_fbdev_cma_restore_mode+0x24/0x30
[  688.937321] [<ffffff800851695c>] rcar_du_lastclose+0x24/0x30
[  688.944633] [<ffffff80084ee300>] drm_lastclose+0x48/0xe8
[  688.951595] [<ffffff80084ee6c0>] drm_release+0x320/0x358
[  688.958554] [<ffffff8008268ccc>] __fput+0x94/0x1d8
[  688.964977] [<ffffff8008268e88>] ____fput+0x20/0x30
[  688.971482] [<ffffff80080f4c70>] task_work_run+0xc8/0xe8
[  688.978417] [<ffffff80080d5820>] do_exit+0x310/0xb80
[  688.984997] [<ffffff80080d611c>] do_group_exit+0x3c/0xa0
[  688.991919] [<ffffff80080e3d00>] get_signal+0x558/0x8a8
[  688.998764] [<ffffff80080897f8>] do_signal+0xd0/0x560
[  689.005427] [<ffffff8008089ee0>] do_notify_resume+0xb0/0xd8
[  689.012610] [<ffffff8008083668>] work_pending+0x8/0x14
[  689.019359] Code: aa1e03e0 d503201f f9403ab4 91002293 (b9400280)
[  689.027391] ---[ end trace c94d490e101a5ed3 ]---
[  689.033758] Fixing recursive fault but reboot is needed!








On 26/06/17 19:12, Laurent Pinchart wrote:
> Hello,
> 
> This patch series implements support for the R-Car H3 ES2.0 SoC in the VSP
> and DU drivers.
>  
> Compared to the H3 ES1.1, the H3 ES2.0 has a new VSP2-DL instance that
> includes two blending units, a BRU and a BRS. The BRS is similar to the BRU
> but has two inputs only, and is used to service a second DU channel from the
> same VSP through a second LIF instances connected to WPF.1.
> 
> The patch series starts with a small fixes and cleanups in patches 01/14 to
> 05/14. Patch 06/14 prepares the VSP driver for multiple DU channels support by
> extending the DU-VSP API with an additional argument. Patches 07/14 to 10/14
> gradually build H3 ES2.0 support on top of that by implementing all needed
> features in the VSP driver.
> 
> So far the VSP driver always used headerless display lists when operating in
> connection with the DU. This mode of operation is only available on WPF.0, so
> support for regular display lists with headers when operating with the DU is
> added in patch 11/14.
> 
> The remaining patches finally implement H3 ES2.0 support in the DU driver,
> with support for VSP sharing implemented in patch 12/14, for H3 ES2.0 PLL in
> patch 13/14 (by restricting the ES1.x workaround to ES1.x SoCs) and for RGB
> output routing in patch 14/14.
> 
> Compared to v1, the series has gone under considerable changes. Testing
> locally on H3 ES2.0 uncovered multiple issues in the previous partially tested
> version, which have been fixed in additional patches. The following changes
> can be noted in particular.
> 
> - New small cleanups in patches 02/14 to 05/14
> - Pass the pipe index to vsp1_du_atomic_update() explicitly
> - Rebase on top of the VSP-DU flicker fixes, resulting in a major rework of
>   "v4l: vsp1: Add support for header display lists in continuous mode"
> - New patches 09/14, 10/14 and 12/14 to support the previously untested VGA
>   output
> 
> The series is based on top of Dave's latest drm-next branch as it depends on
> patches merged by Dave for v4.13. It depends, for testing, on
> 
> - the sh-pfc-for-v4.13 branch from Geert's renesas-drivers tree
> - the "[PATCH v2 0/2] R-Car H3 ES2.0 Salvator-X: Enable DU support in DT"
>   patch series
> 
> For convenience, a branch merging this series with all dependencies is
> available from
> 
> 	git://linuxtv.org/pinchartl/media.git drm/next/h3-es2/merged
> 
> with the DT and driver series split in two branches respectively tagged
> drm-h3-es2-dt-20170626 and drm-h3-es2-vsp-du-20170626.
> 
> The patches have been tested on the Lager, Salvator-X H3 ES1.x, Salvator-X
> M3-W and Salvator-XS boards. All outputs have been tested using modetest
> without any noticeable regression.
> 
> Laurent Pinchart (14):
>   v4l: vsp1: Fill display list headers without holding dlm spinlock
>   v4l: vsp1: Don't recycle active list at display start
>   v4l: vsp1: Don't set WPF sink pointer
>   v4l: vsp1: Store source and sink pointers as vsp1_entity
>   v4l: vsp1: Don't create links for DRM pipeline
>   v4l: vsp1: Add pipe index argument to the VSP-DU API
>   v4l: vsp1: Add support for the BRS entity
>   v4l: vsp1: Add support for new VSP2-BS, VSP2-DL and VSP2-D instances
>   v4l: vsp1: Add support for multiple LIF instances
>   v4l: vsp1: Add support for multiple DRM pipelines
>   v4l: vsp1: Add support for header display lists in continuous mode
>   drm: rcar-du: Support multiple sources from the same VSP
>   drm: rcar-du: Restrict DPLL duty cycle workaround to H3 ES1.x
>   drm: rcar-du: Configure DPAD0 routing through last group on Gen3
> 
>  drivers/gpu/drm/rcar-du/rcar_du_crtc.c    |  39 ++--
>  drivers/gpu/drm/rcar-du/rcar_du_crtc.h    |   3 +
>  drivers/gpu/drm/rcar-du/rcar_du_group.c   |  21 ++-
>  drivers/gpu/drm/rcar-du/rcar_du_kms.c     |  91 ++++++++--
>  drivers/gpu/drm/rcar-du/rcar_du_vsp.c     |  37 ++--
>  drivers/gpu/drm/rcar-du/rcar_du_vsp.h     |  10 +-
>  drivers/media/platform/vsp1/vsp1.h        |   7 +-
>  drivers/media/platform/vsp1/vsp1_bru.c    |  45 +++--
>  drivers/media/platform/vsp1/vsp1_bru.h    |   4 +-
>  drivers/media/platform/vsp1/vsp1_dl.c     | 205 +++++++++++++---------
>  drivers/media/platform/vsp1/vsp1_dl.h     |   1 -
>  drivers/media/platform/vsp1/vsp1_drm.c    | 283 +++++++++++++++---------------
>  drivers/media/platform/vsp1/vsp1_drm.h    |  38 ++--
>  drivers/media/platform/vsp1/vsp1_drv.c    | 115 ++++++++----
>  drivers/media/platform/vsp1/vsp1_entity.c |  40 +++--
>  drivers/media/platform/vsp1/vsp1_entity.h |   5 +-
>  drivers/media/platform/vsp1/vsp1_lif.c    |   5 +-
>  drivers/media/platform/vsp1/vsp1_lif.h    |   2 +-
>  drivers/media/platform/vsp1/vsp1_pipe.c   |   7 +-
>  drivers/media/platform/vsp1/vsp1_regs.h   |  46 +++--
>  drivers/media/platform/vsp1/vsp1_video.c  |  63 ++++---
>  drivers/media/platform/vsp1/vsp1_wpf.c    |   4 +-
>  include/media/vsp1.h                      |  10 +-
>  23 files changed, 676 insertions(+), 405 deletions(-)
> 

  parent reply	other threads:[~2017-07-13 12:16 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-26 18:12 [PATCH v2 00/14] Renesas R-Car VSP: Add H3 ES2.0 support Laurent Pinchart
2017-06-26 18:12 ` [PATCH v2 01/14] v4l: vsp1: Fill display list headers without holding dlm spinlock Laurent Pinchart
2017-07-13 11:26   ` Kieran Bingham
2017-07-13 11:36   ` Kieran Bingham
2017-07-13 12:48   ` Kieran Bingham
2017-07-20 13:50     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 02/14] v4l: vsp1: Don't recycle active list at display start Laurent Pinchart
2017-07-13 17:02   ` Kieran Bingham
2017-07-20 13:51     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 03/14] v4l: vsp1: Don't set WPF sink pointer Laurent Pinchart
2017-07-13 12:50   ` Kieran Bingham
2017-07-20 13:52     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 04/14] v4l: vsp1: Store source and sink pointers as vsp1_entity Laurent Pinchart
2017-07-13 13:00   ` Kieran Bingham
2017-07-20 13:53     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 05/14] v4l: vsp1: Don't create links for DRM pipeline Laurent Pinchart
2017-07-13 13:06   ` Kieran Bingham
2017-07-20 13:54     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 06/14] v4l: vsp1: Add pipe index argument to the VSP-DU API Laurent Pinchart
2017-07-13 13:14   ` Kieran Bingham
2017-07-13 13:16   ` Kieran Bingham
2017-07-13 23:04     ` Laurent Pinchart
2017-07-20 13:56       ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 07/14] v4l: vsp1: Add support for the BRS entity Laurent Pinchart
2017-07-13 13:38   ` Kieran Bingham
2017-07-20 13:58     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 08/14] v4l: vsp1: Add support for new VSP2-BS, VSP2-DL and VSP2-D instances Laurent Pinchart
2017-07-13 17:49   ` Kieran Bingham
2017-07-13 23:31     ` Laurent Pinchart
2017-07-14  7:36       ` Kieran Bingham
2017-07-14  0:35   ` [PATCH v2.1 " Laurent Pinchart
2017-07-20 13:59     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 09/14] v4l: vsp1: Add support for multiple LIF instances Laurent Pinchart
2017-07-13 17:57   ` Kieran Bingham
2017-07-20 14:00     ` Mauro Carvalho Chehab
2017-06-26 18:12 ` [PATCH v2 10/14] v4l: vsp1: Add support for multiple DRM pipelines Laurent Pinchart
2017-07-20 14:02   ` Mauro Carvalho Chehab
2017-08-01 18:16   ` Kieran Bingham
2017-08-01 18:39   ` Kieran Bingham
2017-06-26 18:12 ` [PATCH v2 11/14] v4l: vsp1: Add support for header display lists in continuous mode Laurent Pinchart
2017-07-13 11:09   ` Kieran Bingham
2017-07-20 14:03   ` Mauro Carvalho Chehab
2017-08-01 17:35   ` Kieran Bingham
2017-08-01 18:47     ` Laurent Pinchart
2017-08-02 11:06       ` Kieran Bingham
2017-06-26 18:12 ` [PATCH v2 12/14] drm: rcar-du: Support multiple sources from the same VSP Laurent Pinchart
2017-08-01 18:10   ` Kieran Bingham
2017-08-01 19:01     ` Laurent Pinchart
2017-06-26 18:12 ` [PATCH v2 13/14] drm: rcar-du: Restrict DPLL duty cycle workaround to H3 ES1.x Laurent Pinchart
2017-08-01 14:04   ` Kieran Bingham
2017-08-01 14:06   ` Kieran Bingham
2017-08-01 18:39     ` Laurent Pinchart
2017-12-11 20:58     ` Laurent Pinchart
2017-06-26 18:12 ` [PATCH v2 14/14] drm: rcar-du: Configure DPAD0 routing through last group on Gen3 Laurent Pinchart
2017-08-01 13:46   ` Kieran Bingham
2017-08-01 13:51     ` Laurent Pinchart
2017-08-01 17:20   ` [PATCH v2.1 " Laurent Pinchart
2017-08-01 17:23     ` Kieran Bingham
2017-07-13 11:41 ` [PATCH v2 00/14] Renesas R-Car VSP: Add H3 ES2.0 support Kieran Bingham
2017-07-13 11:46 ` Kieran Bingham
2017-07-13 11:51 ` Kieran Bingham
2017-07-13 11:56 ` Kieran Bingham
2017-07-13 12:11 ` Kieran Bingham
2017-07-13 12:16 ` Kieran Bingham [this message]
2017-07-13 12:25 ` Kieran Bingham
2017-07-14  0:54   ` Laurent Pinchart
2017-07-18 13:03 ` Hans Verkuil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d41a54c9-6980-a806-8024-16bae55812ae@gmail.com \
    --to=kieranbingham@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox