[PATCH/RFC 0/3] Atari DRM driver

Geert Uytterhoeven geert at linux-m68k.org
Fri Nov 25 20:31:07 UTC 2022


	Hi all,

This RFC patch series adds a DRM driver for the good old Atari
ST/TT/Falcon hardware.  It was developed and tested (only) on the ARAnyM
emulator.

Supported formats:
  - C[1248],
  - RG16 (both standard DRM (little-endian) and native (big-endian)),
  - XR24.

Patch overview:
  1. The first patch adds two new helper functions for chunky-to-planar
     conversion,
  2. The second patch, posted by Thomas Zimmermann a long time ago,
     introduces a mode_fixup simple kms helper function (more helpers
     from his fbdev conversion helper function series have been included
     (partially) in the Atari DRM driver itself),
  3. The third patch is the actual Atari DRM driver.  The patch was
     created with "git format-patch -C", to avoid spamming you with code
     that is identical to the existing Atari fbdev driver.

The driver is definitely not yet ready for upstream inclusion.
While mode switching usually works, it is far from optimal, and may
suffer from hick-ups.  Hence the main objective for posting this
preliminary version is to receive feedback about the (wrong) helper
functions and callbacks I am using, and about what/how to improve.

Dependencies:
  - drm-next
  - Patch series [1] and [2],
  - For running modetest, you want to apply patch series [3], [4], and
    [5] to libdrm.

For your testing convenience, I have pushed this series and its
dependencies to [6].

Thanks for your comments!

P.S. If you are more interested in the journey than in the destination,
     perhaps you are interested in the presentation I gave at last
     ELC-E?[7]

[1] "[PATCH resend v2] drm/fourcc: Add missing big-endian XRGB1555 and
    RGB565 formats"
    https://lore.kernel.org/r/3ee1f8144feb96c28742b22384189f1f83bcfc1a.1669221671.git.geert@linux-m68k.org
[2] "[PATCH v3 0/2] drm/modes: Command line mode selection improvements"
    https://lore.kernel.org/r/cover.1669405382.git.geert@linux-m68k.org

[3] "[PATCH libdrm v2 00/10] Add support for low-color frame buffer
    formats"
    https://lore.kernel.org/r/cover.1657302034.git.geert@linux-m68k.org
[4] "[PATCH libdrm v2 00/10] Big-endian fixes"
    https://lore.kernel.org/r/cover.1657302103.git.geert@linux-m68k.org
[5] "[PATCH libdrm] modetest: Add support for named modes containing
    dashes"
[6] https://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git/log/?h=atari-drm-wip-v1
[7] https://osseu2022.sched.com/event/15z6T/trading-fbdev-for-drm-no-returns-accepted-geert-uytterhoeven-glider-bv

Geert Uytterhoeven (2):
  video: fbdev: c2p: Add transp2() and transp2x()
  drm: atari: Add a DRM driver for Atari graphics hardware

Thomas Zimmermann (1):
  drm/simple-kms-helper: Add mode_fixup() to simple display pipe

 drivers/gpu/drm/drm_simple_kms_helper.c       |   15 +
 drivers/gpu/drm/tiny/Kconfig                  |    8 +
 drivers/gpu/drm/tiny/Makefile                 |    1 +
 .../atafb.c => gpu/drm/tiny/atari_drm.c}      | 2536 +++++++++++++----
 drivers/video/fbdev/c2p_core.h                |   38 +
 include/drm/drm_simple_kms_helper.h           |   43 +
 6 files changed, 2113 insertions(+), 528 deletions(-)
 copy drivers/{video/fbdev/atafb.c => gpu/drm/tiny/atari_drm.c} (57%)

-- 
2.25.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


More information about the dri-devel mailing list