LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH RFC v2 0/6] ARM: qcom: initial Nexus 5 display support
@ 2019-05-09  2:03 Brian Masney
  2019-05-09  2:03 ` [PATCH v2 1/6] drm: msm: remove resv fields from msm_gem_object struct Brian Masney
                   ` (7 more replies)
  0 siblings, 8 replies; 25+ messages in thread
From: Brian Masney @ 2019-05-09  2:03 UTC (permalink / raw)
  To: robdclark, sean, dri-devel, linux-arm-msm, freedreno, airlied,
	daniel, linux-kernel, linus.walleij, jonathan, robh

Here is a patch series that adds initial display support for the LG
Nexus 5 (hammerhead) phone. It's not fully working so that's why some
of these patches are RFC until we can get it fully working.

The phones boots into terminal mode, however there is a several second
(or more) delay when writing to tty1 compared to when the changes are
actually shown on the screen. The following errors are in dmesg:

    [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:49:crtc-0] flip_done timed out
    [drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [PLANE:32:plane-0] flip_done timed out

    WARNING: CPU: 0 PID: 5 at drivers/gpu/drm/drm_atomic_helper.c:1430 drm_atomic_helper_wait_for_vblanks.part.1+0x288/0x290
    [CRTC:49:crtc-0] vblank wait timed out
    Modules linked in:
    CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.1.0-rc6-next-20190426-00006-g35c0d32a96e1-dirty #191
    Hardware name: Generic DT based system
    Workqueue: events deferred_probe_work_func
    [<c031229c>] (unwind_backtrace) from [<c030d5ac>] (show_stack+0x10/0x14)
    [<c030d5ac>] (show_stack) from [<c0ac134c>] (dump_stack+0x78/0x8c)
    [<c0ac134c>] (dump_stack) from [<c0321660>] (__warn.part.3+0xb8/0xd4)
    [<c0321660>] (__warn.part.3) from [<c03216e0>] (warn_slowpath_fmt+0x64/0x88)
    [<c03216e0>] (warn_slowpath_fmt) from [<c0761a0c>] (drm_atomic_helper_wait_for_vblanks.part.1+0x288/0x290)
    [<c0761a0c>] (drm_atomic_helper_wait_for_vblanks.part.1) from [<c07b0a98>] (mdp5_complete_commit+0x14/0x40)
    [<c07b0a98>] (mdp5_complete_commit) from [<c07ddb80>] (msm_atomic_commit_tail+0xa8/0x140)
    [<c07ddb80>] (msm_atomic_commit_tail) from [<c0763304>] (commit_tail+0x40/0x6c)
    [<c07633f4>] (drm_atomic_helper_commit) from [<c07667f0>] (restore_fbdev_mode_atomic+0x168/0x1d4)
    ....

I can get the text console to work with a 4.17 kernel with this patch
https://patchwork.kernel.org/patch/10321845/ plus about a dozen or more
other patches that have been mainlined since that release.

I'm new to the DRM subsystem and continuing to dig into the issue,
however I'd appreciate any suggestions. I suspect the issue lies
somewhere in the second patch in this series.

Changes since v1:
- Shortened problem description above. I'll reply to this email and send
  a full dmesg with the boot log with debugging turned on.
- Dropped patch 'fix null pointer dereference in
  msm_atomic_prepare_fb()'
- New patch: Remove resv fields from msm_gem_object struct that was
  incorrectly being referenced by the prepare_fb callbacks.
- Add drm_plane_enable_fb_damage_clips() to plane init for mdp4, mdp5,
  and dpu1.
- Add Linus Walleij's reviewed-by to patches 3-6

Brian Masney (6):
  drm: msm: remove resv fields from msm_gem_object struct
  drm: msm: add dirty framebuffer helper
  ARM: qcom_defconfig: add display-related options
  ARM: dts: msm8974: add display support
  ARM: dts: qcom: msm8974-hammerhead: add support for backlight
  ARM: dts: qcom: msm8974-hammerhead: add support for display

 .../qcom-msm8974-lge-nexus5-hammerhead.dts    |  79 +++++++++++
 arch/arm/boot/dts/qcom-msm8974.dtsi           | 132 ++++++++++++++++++
 arch/arm/configs/qcom_defconfig               |   5 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c     |   7 +-
 drivers/gpu/drm/msm/disp/mdp4/mdp4_plane.c    |   3 +
 drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c    |   3 +
 drivers/gpu/drm/msm/msm_atomic.c              |   4 +-
 drivers/gpu/drm/msm/msm_fb.c                  |   2 +
 drivers/gpu/drm/msm/msm_gem.c                 |   3 -
 drivers/gpu/drm/msm/msm_gem.h                 |   4 -
 10 files changed, 229 insertions(+), 13 deletions(-)

-- 
2.20.1


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2019-05-29 21:54 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-09  2:03 [PATCH RFC v2 0/6] ARM: qcom: initial Nexus 5 display support Brian Masney
2019-05-09  2:03 ` [PATCH v2 1/6] drm: msm: remove resv fields from msm_gem_object struct Brian Masney
2019-05-13 20:32   ` Bjorn Andersson
2019-05-13 22:25     ` Brian Masney
2019-05-09  2:03 ` [PATCH RFC v2 2/6] drm: msm: add dirty framebuffer helper Brian Masney
2019-05-09  2:03 ` [PATCH v2 3/6] ARM: qcom_defconfig: add display-related options Brian Masney
2019-05-09  2:03 ` [PATCH v2 4/6] ARM: dts: msm8974: add display support Brian Masney
2019-05-09  2:03 ` [PATCH v2 5/6] ARM: dts: qcom: msm8974-hammerhead: add support for backlight Brian Masney
2019-05-09  2:03 ` [PATCH v2 6/6] ARM: dts: qcom: msm8974-hammerhead: add support for display Brian Masney
2019-05-09  2:06 ` [PATCH RFC v2 0/6] ARM: qcom: initial Nexus 5 display support Brian Masney
2019-05-28 13:46 ` Linus Walleij
2019-05-29  1:17   ` Brian Masney
2019-05-29  1:32     ` [Freedreno] " Jeffrey Hugo
2019-05-29  1:37       ` Brian Masney
2019-05-29  1:42         ` Jeffrey Hugo
2019-05-29  2:46           ` Brian Masney
     [not found]             ` <CAOCk7NpC93ACr4jFm7SBOKSvFJSDhq2byX6BAYPX29BuYEkWnQ@mail.gmail.com>
2019-05-29 10:28               ` Brian Masney
2019-05-29 14:41                 ` Jeffrey Hugo
2019-05-29 19:30                   ` Brian Masney
2019-05-29 19:58                     ` Jeffrey Hugo
2019-05-29 21:54                       ` Brian Masney
2019-05-29  2:14     ` Rob Clark
2019-05-29  2:24       ` [Freedreno] " Jeffrey Hugo
2019-05-29  6:23     ` Linus Walleij
2019-05-29  9:41       ` Brian Masney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).