From: Thomas Zimmermann <tzimmermann@suse.de>
To: airlied@redhat.com, daniel@ffwll.ch, kraxel@redhat.com,
noralf@tronnes.org, sam@ravnborg.org, emil.velikov@collabora.com,
john.p.donnelly@oracle.com
Cc: Thomas Zimmermann <tzimmermann@suse.de>, dri-devel@lists.freedesktop.org
Subject: [PATCH v2 00/15] drm/mgag200: Convert to atomic modesetting
Date: Tue, 12 May 2020 10:42:43 +0200 [thread overview]
Message-ID: <20200512084258.12673-1-tzimmermann@suse.de> (raw)
This patchset converts mgag200 to atomic modesetting. It uses simple
KMS helpers and SHMEM.
Patch 1 removes cursor support. The HW cursor is not usable with the
way universal planes work.
Patches 2 to 11 untangle the existing modesetting code into smaller
functions. Specifically, mode setting and plane updates are being
separated from each other.
Patch 12 to 14 convert mgag200 to simple KMS helpers and enables atomic
mode setting.
Atomically switching plane framebuffers, requires either source or target
buffer to be located at a non-0 offet. As some HW revisions seem to require
a framebuffer offset of 0 within the video memory, they do not work with
atomic modesetting. To resolve this problem, patch 15 converts mgag200
from VRAM helpers to SHMEM helpers. During plane updates, the content of
the SHMEM BO is memcpy'd to VRAM. From my observation, performance is not
nuch different from the original code.
The patchset has been tested on MGA G200EH hardware.
v2:
* rebase patchset
* replace uint{8,32}_t with u{8,32} through-out patchset
* define additional register constants
* use helper functions around bpp-shift computations
* split conversion patch
* cleanups
Thomas Zimmermann (15):
drm/mgag200: Remove HW cursor
drm/mgag200: Clean up mga_set_start_address()
drm/mgag200: Clean up mga_crtc_do_set_base()
drm/mgag200: Move mode-setting code into separate helper function
drm/mgag200: Split MISC register update into PLL selection, SYNC and
I/O
drm/mgag200: Update mode registers after plane registers
drm/mgag200: Set pitch in a separate helper function
drm/mgag200: Set primary plane's format in separate helper function
drm/mgag200: Move TAGFIFO reset into separate function
drm/mgag200: Move hiprilvl setting into separate functions
drm/mgag200: Move register initialization into separate function
drm/mgag200: Remove out-commented suspend/resume helpers
drm/mgag200: Use simple-display data structures
drm/mgag200: Convert to simple KMS helper
drm/mgag200: Replace VRAM helpers with SHMEM helpers
drivers/gpu/drm/mgag200/Kconfig | 4 +-
drivers/gpu/drm/mgag200/Makefile | 2 +-
drivers/gpu/drm/mgag200/mgag200_drv.c | 51 +-
drivers/gpu/drm/mgag200/mgag200_drv.h | 41 +-
drivers/gpu/drm/mgag200/mgag200_main.c | 5 -
drivers/gpu/drm/mgag200/mgag200_mode.c | 871 ++++++++++++++-----------
drivers/gpu/drm/mgag200/mgag200_reg.h | 11 +-
drivers/gpu/drm/mgag200/mgag200_ttm.c | 28 +-
8 files changed, 528 insertions(+), 485 deletions(-)
--
2.26.2
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2020-05-12 8:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-12 8:42 Thomas Zimmermann [this message]
2020-05-12 8:42 ` [PATCH v2 01/15] drm/mgag200: Remove HW cursor Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 02/15] drm/mgag200: Clean up mga_set_start_address() Thomas Zimmermann
2020-05-12 18:50 ` Sam Ravnborg
2020-05-12 8:42 ` [PATCH v2 03/15] drm/mgag200: Clean up mga_crtc_do_set_base() Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 04/15] drm/mgag200: Move mode-setting code into separate helper function Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 05/15] drm/mgag200: Split MISC register update into PLL selection, SYNC and I/O Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 06/15] drm/mgag200: Update mode registers after plane registers Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 07/15] drm/mgag200: Set pitch in a separate helper function Thomas Zimmermann
2020-05-12 10:27 ` Emil Velikov
2020-05-12 18:34 ` Thomas Zimmermann
2020-05-13 8:57 ` Emil Velikov
2020-05-12 8:42 ` [PATCH v2 08/15] drm/mgag200: Set primary plane's format in " Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 09/15] drm/mgag200: Move TAGFIFO reset into separate function Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 10/15] drm/mgag200: Move hiprilvl setting into separate functions Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 11/15] drm/mgag200: Move register initialization into separate function Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 12/15] drm/mgag200: Remove out-commented suspend/resume helpers Thomas Zimmermann
2020-05-12 10:14 ` Emil Velikov
2020-05-12 18:47 ` Thomas Zimmermann
2020-05-13 9:15 ` Emil Velikov
2020-05-13 12:23 ` Daniel Vetter
2020-05-12 8:42 ` [PATCH v2 13/15] drm/mgag200: Use simple-display data structures Thomas Zimmermann
2020-05-12 10:16 ` Emil Velikov
2020-05-12 18:47 ` Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 14/15] drm/mgag200: Convert to simple KMS helper Thomas Zimmermann
2020-05-12 8:42 ` [PATCH v2 15/15] drm/mgag200: Replace VRAM helpers with SHMEM helpers Thomas Zimmermann
2020-05-12 10:30 ` Emil Velikov
2020-05-12 18:52 ` Thomas Zimmermann
2020-05-12 18:56 ` [PATCH v2 00/15] drm/mgag200: Convert to atomic modesetting Sam Ravnborg
2020-05-13 11:06 ` Thomas Zimmermann
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=20200512084258.12673-1-tzimmermann@suse.de \
--to=tzimmermann@suse.de \
--cc=airlied@redhat.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.velikov@collabora.com \
--cc=john.p.donnelly@oracle.com \
--cc=kraxel@redhat.com \
--cc=noralf@tronnes.org \
--cc=sam@ravnborg.org \
/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.