From: tom.cooksey@arm.com
To: dri-devel@lists.freedesktop.org
Cc: linux-fbdev@vger.kernel.org, pawel.moll@arm.com,
linux-arm-kernel@lists.infradead.org,
Tom Cooksey <tom.cooksey@arm.com>
Subject: [RFC 0/1] drm/pl111: Initial drm/kms driver for pl111
Date: Thu, 25 Jul 2013 17:17:27 +0000 [thread overview]
Message-ID: <1374772648-19151-1-git-send-email-tom.cooksey@arm.com> (raw)
From: Tom Cooksey <tom.cooksey@arm.com>
Please find below the current state of our pl111 DRM/KMS driver. This
is lightly tested on a Versatile Express using X running the
xf86-video-armsoc DDX driver[i] with the patches applied to drm-next
as of ~last week. To actually see anything on the DVI output, you
must also apply Pawel Moll's VExpress DVI mux driver[ii] to select
the video signal from the ca9x4 core tile.
[i] <https://git.linaro.org/gitweb?p=arm/xorg/driver/xf86-video-armsoc.git;a=summary>
[ii] <https://patchwork.kernel.org/patch/1765981/>
Known issues:
* It uses KDS. We intend to switch to whatever implicit per-buffer
synchronisation mechanism gets merged, once something is merged.
* It abuses flags parameter of DRM_IOCTL_MODE_CREATE_DUMB to also
allocate buffers for the GPU. Still not sure how to resolve this
as we don't use DRM for our GPU driver.
* Doesn't handle page flip event sequence numbers and timestamps
* The v_sync handling needs work in general - a work queue is a
little overkill
* Doesn't support the import half of PRIME properly, only export
* Need to validate src rectangle size in
pl111_drm_cursor_plane_update()
* Only supports 640x480 mode, which is hard-coded. We intend to
rebase on top of CDF once it is merged, which hopefully will
handle a lot of the EDID parsing & mode setting for us (once
Pawel's CDF patches for VExpress also land).
I appreciate that's a fairly hefty list of known issues already!
However, we're waiting for both CDF & dma_buf sync mechanisms to land
before we can address some of those. So in the mean-time, I thought
someone might be interested in taking a look at what we have so far,
which is why I'm posting this now. Needless to say the code will need
to be refactored a fair bit, however I'm keen to get and additional
feedback anyone cares to give.
Cheers,
Tom
Tom Cooksey (1):
drm/pl111: Initial drm/kms driver for pl111 display controller
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/pl111/Kbuild | 14 +
drivers/gpu/drm/pl111/Kconfig | 9 +
drivers/gpu/drm/pl111/pl111_clcd_ext.h | 78 ++++
drivers/gpu/drm/pl111/pl111_drm.h | 227 ++++++++++++
drivers/gpu/drm/pl111/pl111_drm_connector.c | 166 +++++++++
drivers/gpu/drm/pl111/pl111_drm_crtc.c | 432 ++++++++++++++++++++++
drivers/gpu/drm/pl111/pl111_drm_cursor.c | 97 +++++
drivers/gpu/drm/pl111/pl111_drm_device.c | 319 +++++++++++++++++
drivers/gpu/drm/pl111/pl111_drm_dma_buf.c | 339 ++++++++++++++++++
drivers/gpu/drm/pl111/pl111_drm_encoder.c | 106 ++++++
drivers/gpu/drm/pl111/pl111_drm_fb.c | 152 ++++++++
drivers/gpu/drm/pl111/pl111_drm_funcs.h | 127 +++++++
drivers/gpu/drm/pl111/pl111_drm_gem.c | 287 +++++++++++++++
drivers/gpu/drm/pl111/pl111_drm_pl111.c | 513 +++++++++++++++++++++++++++
drivers/gpu/drm/pl111/pl111_drm_platform.c | 150 ++++++++
drivers/gpu/drm/pl111/pl111_drm_suspend.c | 35 ++
drivers/gpu/drm/pl111/pl111_drm_vma.c | 214 +++++++++++
19 files changed, 3268 insertions(+)
create mode 100644 drivers/gpu/drm/pl111/Kbuild
create mode 100644 drivers/gpu/drm/pl111/Kconfig
create mode 100644 drivers/gpu/drm/pl111/pl111_clcd_ext.h
create mode 100644 drivers/gpu/drm/pl111/pl111_drm.h
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_connector.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_crtc.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_cursor.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_device.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_dma_buf.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_encoder.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_fb.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_funcs.h
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_gem.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_pl111.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_platform.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_suspend.c
create mode 100644 drivers/gpu/drm/pl111/pl111_drm_vma.c
--
1.7.9.5
next reply other threads:[~2013-07-25 17:17 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-25 17:17 tom.cooksey [this message]
2013-07-25 18:21 ` [RFC 0/1] drm/pl111: Initial drm/kms driver for pl111 Rob Clark
2013-07-26 14:06 ` Pawel Moll
2013-07-26 14:21 ` Rob Clark
2013-07-26 14:41 ` Pawel Moll
2013-07-26 14:14 ` Russell King - ARM Linux
2013-07-26 14:24 ` Rob Clark
[not found] ` <51f29cd1.e686440a.66b2.fffff9d5SMTPIN_ADDED_BROKEN@mx.google.com>
2013-07-26 18:56 ` Daniel Vetter
[not found] ` <51f29ccd.f014b40a.34cc.ffffca2aSMTPIN_ADDED_BROKEN@mx.google.com>
2013-07-29 14:58 ` Rob Clark
[not found] ` <51ffdc7e.06b8b40a.2cc8.0fe0SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-05 18:07 ` Rob Clark
[not found] ` <5200deb3.0b24b40a.3b26.ffffbadeSMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-06 12:15 ` Rob Clark
[not found] ` <52010257.245fc20a.6ff8.1cfdSMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-06 14:40 ` Rob Clark
[not found] ` <52013482.e107c20a.27f9.ffffa718SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-06 19:06 ` Rob Clark
[not found] ` <520284fe.a16ec20a.2d3c.6e19SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-07 17:56 ` [Linaro-mm-sig] " Alex Deucher
[not found] ` <520284d6.07300f0a.72a4.1623SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-07 18:12 ` Rob Clark
[not found] ` <520515b9.87370f0a.16e6.2380SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-09 17:12 ` Rob Clark
2013-08-07 4:23 ` John Stultz
2013-08-07 13:27 ` Rob Clark
[not found] ` <000101ce9298$8ce44ee0$a6aceca0$@cooksey@arm.com>
2013-08-06 12:18 ` [Linaro-mm-sig] " Lucas Stach
2013-08-06 14:14 ` Rob Clark
2013-08-06 14:36 ` Lucas Stach
2013-08-06 14:59 ` Rob Clark
2013-08-06 15:28 ` Daniel Vetter
2013-09-14 21:33 ` Daniel Stone
2013-08-07 3:57 ` John Stultz
[not found] ` <1374772648-19151-2-git-send-email-tom.cooksey@arm.com>
[not found] ` <CAF6AEGvGG1-4k-3_YHQ2ES6JEb-V-Xuicc8gfw9rPWze5JUEDg@mail.gmail.com>
2013-08-07 16:46 ` [RFC 1/1] " Daniel Vetter
[not found] ` <520515b0.88b70e0a.3ecd.1004SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-09 16:34 ` Rob Clark
2013-08-09 16:57 ` Daniel Vetter
[not found] ` <5205277e.84320f0a.1cdf.ffff8816SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-10 12:30 ` Rob Clark
[not found] ` <520a4435.070a0e0a.4fce.ffff9731SMTPIN_ADDED_BROKEN@mx.google.com>
2013-08-13 14:58 ` Rob Clark
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=1374772648-19151-1-git-send-email-tom.cooksey@arm.com \
--to=tom.cooksey@arm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=pawel.moll@arm.com \
/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;
as well as URLs for NNTP newsgroup(s).