Devicetree
 help / color / mirror / Atom feed
* [PATCH v3 0/2] drm: Add DRM driver for GlandaGPU (VHDL soft-IP GPU)
@ 2026-08-24 19:54 Leander Kieweg
  2026-08-24 19:54 ` [PATCH v3 1/2] dt-bindings: display: Add GlandaGPU binding Leander Kieweg
  2026-08-24 19:54 ` [PATCH v3 2/2] drm/glanda: Add initial DRM driver for GlandaGPU Leander Kieweg
  0 siblings, 2 replies; 5+ messages in thread
From: Leander Kieweg @ 2026-08-24 19:54 UTC (permalink / raw)
  To: dri-devel, devicetree
  Cc: airlied, simona, maarten.lankhorst, mripard, tzimmermann, robh,
	krzk+dt, conor+dt, u.kleine-koenig, Leander Kieweg

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


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

end of thread, other threads:[~2026-08-24 20:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-24 19:54 [PATCH v3 0/2] drm: Add DRM driver for GlandaGPU (VHDL soft-IP GPU) Leander Kieweg
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox