All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leander Kieweg <kieweg.leander@gmail.com>
To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org
Cc: airlied@gmail.com, simona@ffwll.ch,
	maarten.lankhorst@linux.intel.com, mripard@kernel.org,
	tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, u.kleine-koenig@baylibre.com,
	Leander Kieweg <kieweg.leander@gmail.com>
Subject: [PATCH v3 0/2] drm: Add DRM driver for GlandaGPU (VHDL soft-IP GPU)
Date: Mon, 24 Aug 2026 21:54:16 +0200	[thread overview]
Message-ID: <20260824195418.17707-1-kieweg.leander@gmail.com> (raw)

This is v3 of the GlandaGPU DRM driver series [1][2]. It addresses
review feedback from Krzysztof Kozlowski and the automated review
bot on v2.

GlandaGPU is a small VHDL soft-IP 2D display controller, currently
targeting a Terasic DE10-Standard (Cyclone V SoC). This series has
been tested against a QEMU digital twin and on real hardware.

Hardware/VHDL:   https://github.com/stiangglanda/GlandaGPU
QEMU fork:       https://github.com/stiangglanda/qemu-glandagpu
Userspace tests: https://github.com/stiangglanda/GlandaGPU-userspace-tests

Changes since v2:

dt-bindings:
- Switch from the "glanda," vendor prefix to a personal prefix,
  "kieweg," since this is a personal hobby project, not backed by an
  organization. Update vendor-prefixes.yaml, the binding
  file name, and $id accordingly (Krzysztof Kozlowski).

driver core:
- Fix ignored return value of drm_mode_config_init().
- Fix hardware interrupts being left enabled if drm_dev_register()
  fails, which could lead to an unhandled interrupt storm.
- Add resource size validation before I/O memory mapping, closing
  an out-of-bounds mapping/write.
- Fix userspace atomic commits hanging when the driver falls back
  to polling mode (no IRQ), because vblank events were armed but
  never signaled.
- Enable only the INT_VSYNC interrupt. INT_DONE had been enabled
  unnecessarily which could cause an interrupt storm.
- Fix pixel readback to treat framebuffer data as little-endian
  explicitly, which broke color conversion on big-endian hosts.
- Add missing Kconfig dependencies for DRM_GLANDA.
- Use platform_get_irq_optional() instead of platform_get_irq()
  for the optional IRQ, avoiding log spam.
- Drop drm_info()/drm_warn() messages on success paths, drop
  redundant "end of table" comments, and fix the of_match_table
  indentation (Krzysztof Kozlowski).

On the question of what this brings to the community beyond myself:
I don't have an existing user base, and I want to be upfront about
that. I built this to learn how a DRM/KMS driver is put together
end to end, from VHDL soft-IP to kernel driver. What it does provide
is a small, complete reference for exactly that path, plus a QEMU
digital twin that lets anyone poke at a GlandaGPU-compatible device
without owning the physical board. I raised this same concern during
the RFC review, and Thomas Zimmermann's answer at the time was that
we already carry a driver for a hobbyist-built RasPi USB display, so
being a hobby project is not a blocker in itself. I'd rather have
this maintained in-tree, with review, than as an out-of-tree module
nobody ever looks at.

[1] v1: https://lore.kernel.org/dri-devel/20260714101146.200416-1-kieweg.leander@gmail.com/T/#t
[2] v2: https://lore.kernel.org/dri-devel/20260730173643.256052-1-kieweg.leander@gmail.com/T/#t

Leander Kieweg (2):
  dt-bindings: display: Add GlandaGPU binding
  drm/glanda: Add initial DRM driver for GlandaGPU

 .../bindings/display/kieweg,gpu.yaml          |  55 ++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 MAINTAINERS                                   |   6 +
 drivers/gpu/drm/tiny/Kconfig                  |  11 +
 drivers/gpu/drm/tiny/Makefile                 |   1 +
 drivers/gpu/drm/tiny/glandagpu.c              | 587 ++++++++++++++++++
 6 files changed, 662 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/kieweg,gpu.yaml
 create mode 100644 drivers/gpu/drm/tiny/glandagpu.c

-- 
2.43.0


             reply	other threads:[~2026-08-24 19:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-24 19:54 Leander Kieweg [this message]
2026-08-24 19:54 ` [PATCH v3 1/2] dt-bindings: display: Add GlandaGPU binding Leander Kieweg
2026-08-24 19:57   ` sashiko-bot
2026-08-24 19:54 ` [PATCH v3 2/2] drm/glanda: Add initial DRM driver for GlandaGPU Leander Kieweg
2026-08-24 20:07   ` sashiko-bot
2026-09-02 10:03   ` Thomas Zimmermann
2026-09-04 12:07     ` Leander Kieweg

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=20260824195418.17707-1-kieweg.leander@gmail.com \
    --to=kieweg.leander@gmail.com \
    --cc=airlied@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=krzk+dt@kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=robh@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    --cc=u.kleine-koenig@baylibre.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.