From: David Herrmann <dh.herrmann@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: linux-kernel@vger.kernel.org, Dave Airlie <airlied@gmail.com>,
linux-fbdev@vger.kernel.org, Stephen Warren <swarren@nvidia.com>,
Olof Johansson <olof@lixom.net>,
David Herrmann <dh.herrmann@gmail.com>
Subject: [RFC 0/6] SimpleDRM Driver (was: dvbe driver)
Date: Mon, 24 Jun 2013 22:27:23 +0000 [thread overview]
Message-ID: <1372112849-670-1-git-send-email-dh.herrmann@gmail.com> (raw)
Hi
This is my second revision of the dvbe driver. I renamed it to SimpleDRM to
show the resemblence with the recently introduced simplefb.c fbdev driver. The
driver is supposed to be the most basic DRM driver similar to efifb.c, vesafb.c,
offb.c, simplefb.c, ...
It provides a single virtual CRTC+encoder+connector and allows user-space to
create one dumb-buffer at a time and attach it.
The setup changed slightly. It no longer uses shadow buffers but instead maps
the framebuffer directly into userspace. Furthermore, a new infrastructure is
used to unload firmware drivers during real hardware drivers probe cycles. Only
nouveau was changed to use it, yet.
I still have an odd problem when unloading DRM drivers (not just SimpleDRM) with
an fbdev fallback. If I call printk() directly after unregister_framebufer(), I
get a NULL-deref somewhere in the VT layer (most times hide_cursor()). I haven't
figured out exactly where that happens, but I am also very reluctant to spend
more time debugging the VT layer.
Anyhow, comments welcome. If someone wants to test it, you probably need to add
a line to ./include/linux/platform_data/simplefb.h and add the modeline of your
VESA/EFI framebuffer.
Cheers
David
David Herrmann (6):
fbdev: simplefb: add init through platform_data
x86: provide platform-devices for boot-framebuffers
drm: add SimpleDRM driver
drm: simpledrm: add fbdev fallback support
drm: add helpers to kick out firmware drivers
drm: nouveau: kick out firmware drivers during probe
MAINTAINERS | 8 +
arch/x86/Kconfig | 18 ++
arch/x86/kernel/Makefile | 1 +
arch/x86/kernel/sysfb.c | 157 ++++++++++++
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/drm_pci.c | 1 +
drivers/gpu/drm/drm_platform.c | 1 +
drivers/gpu/drm/drm_stub.c | 107 ++++++++
drivers/gpu/drm/drm_usb.c | 1 +
drivers/gpu/drm/nouveau/nouveau_drm.c | 29 ++-
drivers/gpu/drm/simpledrm/Kconfig | 29 +++
drivers/gpu/drm/simpledrm/Makefile | 9 +
drivers/gpu/drm/simpledrm/simpledrm.h | 114 +++++++++
drivers/gpu/drm/simpledrm/simpledrm_drv.c | 231 ++++++++++++++++++
drivers/gpu/drm/simpledrm/simpledrm_fbdev.c | 180 ++++++++++++++
drivers/gpu/drm/simpledrm/simpledrm_main.c | 366 ++++++++++++++++++++++++++++
drivers/gpu/drm/simpledrm/simpledrm_mem.c | 254 +++++++++++++++++++
drivers/video/Kconfig | 5 +-
drivers/video/simplefb.c | 45 +++-
include/drm/drmP.h | 26 ++
include/linux/platform_data/simplefb.h | 40 +++
22 files changed, 1604 insertions(+), 21 deletions(-)
create mode 100644 arch/x86/kernel/sysfb.c
create mode 100644 drivers/gpu/drm/simpledrm/Kconfig
create mode 100644 drivers/gpu/drm/simpledrm/Makefile
create mode 100644 drivers/gpu/drm/simpledrm/simpledrm.h
create mode 100644 drivers/gpu/drm/simpledrm/simpledrm_drv.c
create mode 100644 drivers/gpu/drm/simpledrm/simpledrm_fbdev.c
create mode 100644 drivers/gpu/drm/simpledrm/simpledrm_main.c
create mode 100644 drivers/gpu/drm/simpledrm/simpledrm_mem.c
create mode 100644 include/linux/platform_data/simplefb.h
--
1.8.3.1
next reply other threads:[~2013-06-24 22:27 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-24 22:27 David Herrmann [this message]
2013-06-24 22:27 ` [RFC 1/6] fbdev: simplefb: add init through platform_data David Herrmann
2013-06-26 20:39 ` Stephen Warren
2013-06-28 10:03 ` David Herrmann
2013-06-24 22:27 ` [RFC 2/6] x86: provide platform-devices for boot-framebuffers David Herrmann
2013-06-26 20:49 ` Stephen Warren
2013-06-28 10:11 ` David Herrmann
2013-07-01 15:48 ` Stephen Warren
2013-06-24 22:27 ` [RFC 3/6] drm: add SimpleDRM driver David Herrmann
2013-06-25 1:05 ` Andy Lutomirski
2013-06-28 9:59 ` David Herrmann
2013-06-26 20:58 ` Stephen Warren
2013-06-28 10:01 ` David Herrmann
2013-06-24 22:27 ` [RFC 4/6] drm: simpledrm: add fbdev fallback support David Herrmann
2013-06-26 20:59 ` Stephen Warren
2013-06-28 10:14 ` David Herrmann
2013-06-24 22:27 ` [RFC 5/6] drm: add helpers to kick out firmware drivers David Herrmann
2013-06-24 22:27 ` [RFC 6/6] drm: nouveau: kick out firmware drivers during probe David Herrmann
2013-06-26 21:30 ` [RFC 0/6] SimpleDRM Driver (was: dvbe driver) Stephen Warren
2013-06-28 10:43 ` David Herrmann
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=1372112849-670-1-git-send-email-dh.herrmann@gmail.com \
--to=dh.herrmann@gmail.com \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=olof@lixom.net \
--cc=swarren@nvidia.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).